[NTLUG:Discuss] Wanting to speak the language

Steve Baker sjbaker1 at airmail.net
Thu Feb 24 00:22:07 CST 2005


Stephen Davidson wrote:

>>> The top four most popular languages are:
>>>
>>>      C++  (14830 projects)
>>>      C    (14341 projects)
>>>      Java (14095 projects)
>>>      PHP  (10439 projects)
>>> All of the other languages are *FAR* below those in popularity (PERL
>>> is number five with 5691 projects).

>> Actually, these numbers may be a bit suspect -- many (most?)
>> Perl programs wouldn't be listed on SourceForge but would appear
>> instead on CPAN (the Comprehensive Perl Archive Network).

I don't buy that - and I have numbers to back it up:

CPAN lists a little over 2300 'modules' - that's not enough to make
Perl come even close to C/C++ - even if we assume that the 2300 modules
are all different 'projects' and that there are no duplicates with
respect to the 5700 Perl projects listed on SourceForge.

>> Also, SourceForge tends to post things that are "application/package
>> /project" oriented, whereas there's a lot of programming tends to be 
>> "glue" or "how do I accomplish this task specific for my needs?".
>> Perl tends to fall in this latter group.

Indeed - but this guy was interested in doing OpenSource projects - not
writing quick and dirty glue code for some one-time task (at which Perl
excels BTW!).

Surely you've gotta agree that if you had to pick just one language to
learn - and if your criteria was to pick the language that would
get you into the most OpenSource projects - then C++ (and by implication, C)
would have to be the one with the most widespread application.

However, I'd be the first to agree that your choice of a first
language to learn doesn't depend on getting into the widest possible
range of projects - it only requires you to get into one project that
interests you.

So - if you are interested in wonderful web-based applications, look
at Java, JavaScript, PHP and other such things.  If you are interested
in extending your shell programming expertise, doing rapid prototyping
and other 'glue' code - then Perl might be a candidate (although I'd
personally recommend Python first).

If you want to get into the kernel, device drivers, games, graphics,
or *MOST* other things - then C and C++ are by far the best choice.

But then, if your criteria is ease-of-learning, then C and C++ can be
a bit intimidating and maybe you should look into an interpreted language,
so Java or Python might be fair choices.

Heck - if you want to write programs for use by the US military, learn
Ada.  If you want to impress mathematicians - by all means try APL (shudder).
If you want to fix bugs in ancient accountancy software, learn COBOL (eeek!)
and if you have a penchant for supporting huge (and ancient) numerical
analysis packages, learn Fortran.  If you want to learn to program in a
language to impress other geeks - learn brainfuck (yes, that really is a
programming language:  http://www.muppetlabs.com/~breadbox/bf/ ) - it only
has eight instructions - how hard could it be?  <evil grin>
If you want to get into AI, look at Lisp, Scheme or Prolog.  If you need
to do heavy-duty string manipulation, consider Snobol...

Given time, I could probably come out with a rationalisation for learning
just about any language...but of all the languages in the world, C and
C++ really are totally dominant in terms of commonality.  There is a
reason why 28,000 open source projects chose these languages over the
alternatives.

---------------------------- Steve Baker -------------------------
HomeEmail: <sjbaker1 at airmail.net>    WorkEmail: <sjbaker at link.com>
HomePage : http://www.sjbaker.org
Projects : http://plib.sf.net    http://tuxaqfh.sf.net
            http://tuxkart.sf.net http://prettypoly.sf.net
-----BEGIN GEEK CODE BLOCK-----
GCS d-- s:+ a+ C++++$ UL+++$ P--- L++++$ E--- W+++ N o+ K? w--- !O M-
V-- PS++ PE- Y-- PGP-- t+ 5 X R+++ tv b++ DI++ D G+ e++ h--(-) r+++ y++++
-----END GEEK CODE BLOCK-----




More information about the Discuss mailing list