Beefy Boxes and Bandwidth Generously Provided by pair Networks
P is for Practical
 
PerlMonks  

Suggestions for system languages to complement Perl?

by radiantmatrix (Parson)
on Sep 14, 2005 at 19:26 UTC ( [id://491981]=perlquestion: print w/replies, xml ) Need Help??

radiantmatrix has asked for the wisdom of the Perl Monks concerning the following question:

I've been reading Advanced Perl Programming, and the author makes an excellent point -- it is wise to become proficient with both a Systems langage (e.g. C/C++) and a Scripting language (e.g. Perl, Python) because many complex problems are best solved by a combination of the two.

The place I work makes heavy use of Perl, which has made me very happy. They also use (even more) Java and .NET (mostly VB and C#). I'm very intersted in learning a System language to complement my Perl skills, but I'd like to learn something that complements Java and/or .NET as well, since I will likely be asked to choose one to become proficient with. I'd show preference to Java over .NET (both are evil, IMO, but at least Java works equally poorly on most modern OS's).

Do those in the monestary have suggestions? If you have a suggestion, could you please explain why it's a good choice? I much appreciate it, thanks.

<-radiant.matrix->
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
  • Comment on Suggestions for system languages to complement Perl?

Replies are listed 'Best First'.
Re: Suggestions for system languages to complement Perl?
by dbwiz (Curate) on Sep 14, 2005 at 21:37 UTC
    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.

      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. :-)
      <-radiant.matrix->
      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
Re: Suggestions for system languages to complement Perl?
by kvale (Monsignor) on Sep 14, 2005 at 19:38 UTC
    C# is a fairly well designed language that has ties to the C/C++ languages. It is a decent language for .Net and a C# compiler is also available for Linux in the Mono project.

    -Mark

Re: Suggestions for system languages to complement Perl?
by shiza (Hermit) on Sep 14, 2005 at 20:01 UTC
    I'd personally start out learning some C/C++ (which I started last weekend:), unless you want to do some .NET stuff. Plus, Perl is written in C, so they are very closely related.

    Also, I would avoid VB.NET like the plague.

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: perlquestion [id://491981]
Approved by lidden
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others exploiting the Monastery: (6)
As of 2024-04-20 00:48 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found