C and Perl in unix

Hi All,

I am working on unix and doing shell/perl scripting.... I would like to work on C/C++.

Anyone can please let me know if there is future scope for C more than Perl ? Is C not used in industries now a days ? which should I go for ?

There is a future for both Perl and C in my opinion. C tends to be used for operating system development, embedded code and more, C++ for business application development, and Perl for large scale scripting. There is no clear answer; it depends on what you personally want to do.

1 Like

Thanks mate for quick reply...
As I work on perl, I found that its limited upto data operations/reporting. But I think I would like to jump now to OS devel as well as embedded code.

Is it like if I dont know C, I cant work on C++ ?

Follow your passion. If you love C/C++ programming, go that way. Life is short so enjoy your work.

For a scripting language, I prefer PHP over PERL these days, but that is just me.

IMO, if one has passion for something, he should go ahead with it. However, practically I see not much of a demand for C today. If one knows C and not C++, the person will have a tough time to get/change his job. In application/service based companies, C is only use in those places where it is legacy and they do not want to change it. Any new application/service based companies in the last decade or so, have always had gone with C++ and not C. So, again IMO, if one has to make a choice, I would suggest C++ with a database and a scripting language.

Guru.

If the background of your question is job prospects then I can say that one is not preferable over the other. Programming languages lend from each other, so by knowing one, you will more easily grasp another. Software developers become valuable when they can understand a problem or a design and think of it in technical terms, is familiar with debugging, understands implementation issues, can document their code.

There's a large amount of overlap between C and C++; learning C++ without learning any C would be very tricky. Strangely, and often disastrously, this is the way it is frequently taught anyway. Learn C first, and you'll have an easier time learning and understanding the C++ extensions.

It's hard to say that only legacy applications use C. The entire Linux kernel, the gcc compiler and gnu linker and gdb debugger, the Xorg-X11 window manager, the Apache webserver, the mplayer media player, the GTK windowing toolkit, the Ghostscript renderer, the Samba network file daemon, the OpenVPN network tunneling daemon, Perl + BASH + KSH + PHP + Python + SWIG + TCL + TK are written in C, not C++. MySQL, some big desktop application suites, the KDE window manager, and a few video codecs are C++.

Of course, these are open-source applications where nobody was forced to use any particular language, platform, API, or programming methodology. A C++ API forces you to use C++, a C API will work in either, which is why it's preferable to write libraries in C no matter which you intend to use them with.

3 Likes

Also, the java virtual machine (jvm) is written in C for most platforms.