in reply to Suggestions for system languages to complement Perl?

a Systems langage (e.g. C/C++)

There is no such a thing as C/C++. (It's like referring to Perl as PERL.) It's either C, or C++. They are two different languages.

Since I have used C and C++ for close to fifteen years, let me give you an outline.

C is the prince of languages, the one used to write the very oprtating system I am using at the moment, and the one sued to write Perl. It is efficient, and you can manipulate your system at a very low level. OTOH, it's easy to make huge mistakes, and unless you're really skilled and disciplined, you're going to write horrible code.

C++ was born as a superset of C, by glueing OOP on top of it. Things changed quickly, though, and nowadays you can write C++ code that has little or no resemblance to C. The turning point is the Standard Template Library (STL), which has transformed C++ into a powerful machine that can manipulate complex data and implement common algorithms on that with real ease. C++ with STL can be almost as concise as Perl, with additional efficiency.

That said, both languages have their place in systems manipulation. With C, you can fine tune device drivers, sockets, network interfaces, and the kernel of your OS itslef (provided you are using an Open Source OS, of course). With C++ you can handle vaste amounts of data in cases when Perl would be too slow or would use up much of your system power and memory (e.g. when manipulating huge arrays or matrixes).

I am glad I know both of these languages. I could not get by without either of them. As for learning, I'd say to start with C, because if you start with C++ it would be quite a shock to get down to C subtleties.

  • Comment on Re: Suggestions for system languages to complement Perl?

Replies are listed 'Best First'.
Re^2: Suggestions for system languages to complement Perl?
by radiantmatrix (Parson) on Sep 15, 2005 at 19:40 UTC

    Generally speaking, one uses the / in english discourse to denote an ambivalent or between closely-related items. In other words, I know there is no 'C/C++' as a single entity -- it was 'C or C++, whichever or both'.

    That was a very long diatribe about something which is obvious to every developer I know.

    Besides, according to the site you link:

    Do not refer to "C/C++." Some people get testy about that, and will (unfortunately!) ignore everything else you say just to correct you with something like, "There is no such language." It borders on pathetic, but you'll probably be okay if you say "C or C++" instead of "C/C++." Sigh.
    Emphasis mine. :-)
    Larry Wall is Yoda: there is no try{} (ok, except in Perl6; way to ruin a joke, Larry! ;P)
    The Code that can be seen is not the true Code
    "In any sufficiently large group of people, most are idiots" - Kaa's Law