[ILUG] Which language?
Padraig.Brady at compaq.com
Fri Sep 1 12:34:07 IST 2000
In summary if you want to make more money/be more marketable
learn java. If you would like to be able to implement solutions
more quickly and easily choose perl. (This depends on what you
want to implement of course). Note this sounds like a Perl
advocacy rant, it's not. More comments below:
> -----Original Message-----
> From: Bill Appelbe [mailto:b_appelbe at vistech.ie]
> Sent: 01 September 2000 09:49
> To: delphi91 at hotmail.com; ilug at linux.ie
> I can feel a language war coming on ;-)
> Having programmed in all 3 that you mentioned, I think that
> Java is the easiest to program and is it very marketable on a CV.
True Java has now surpassed (in the UK anyway) C++ in
frequency in job advertisements. Note MS technologies like
VB, MFC etc. are falling away quite quickly in popularity.
The same thing is happening in the US.
> C and C++ are very powerful and can give much greater performance and
> scalability on _large_ systems, but they come at the price of
> making it easy to mess up big time.
I agree. In general the more flexible something is, necessarily
the more complex it is. In other words there is no free lunch.
You should always try to implement a system in the simplest (least
flexible) manner, as the more of the system you write at higher levels,
the easier it is to implement/maintain/port. In my opinion in a UNIX
environment the main languages at increasing levels of flexibility are:
shell script + sed + awk + tr + etc.
In my opinion everyone should know at least 1 language at
each level of flexibility/complexity for a system they're
implementing. Note this doesn't imply that you should know
everything from shell script to assembler, I mean that you
should know something at all levels at AND ABOVE the most
flexible level you need.
> One point that I feel is ignored very often is that if you
> can program in one language, learning another is not that difficult.
> Particularly if you start in an object oriented language like Java.
I agree again. You say you've done both C & C++ for 14 years!
Therefore you should be proficient any procedural or object oriented
language within a week. The farther away from the level you are
used to, the longer will be needed to learn the generalities
(abstractions) associated with that level. I.E. java should
be a really easy transition from C++ as the levels as well as
being adjacent are closer than perl is to java. Consequently perl
would be a little tougher, but from my arguments above would be
more beneficial to learn to fill in the spectrum of levels.
Of course it depends what you want to do, if you're just
writing device drivers why would you learn any of the other
levels than c/asm? Though usually you are never restricted solely
to working in one small area.
Languages that are not procedureal or object oriented will
be even harder to learn (even if they're @ the same level),
as you will need to change your thought processes to implement
the solution. For e.g. functional languages. A good list
of language types is @ http://www.dmoz.org/Computers/Programming/Languages/
> In short Java is easier to program and will teach you all the
> principals needed for moving onto another language should the need arise.
> At 19:32 31/08/00 +0000, Michael Treacy wrote:
> >Hi all,
> >Even though I've been in computers for almost 14 years, my
> language skills could do with a boost.
> >I was having a look at some evening classes at my local Institute of
> >Technology (LIT) and they offer courses in 3 languages: C, C++ and Java.
> >There are two C courses - Programming in C and Advanced C, one in C++ -
> >Object orientated programming (Visual C++ with MFC), and one in Java -
> >Introduction to programming in Java.
> >Now, my question is, what is the better language to have these days? I'm
> >inteaching but thinking of getting out for a while at least and I'm
> >looking for the most marketable language in terms of a CV.
> >Any suggestions?
More information about the ILUG