[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