[NTLUG:Discuss] Direction Recomendations

Steve Baker sjbaker1 at airmail.net
Thu Jul 20 18:44:10 CDT 2000


Richard Cobbe wrote:

> Start with a high-level language.  My personal favorite is Scheme (see
> http://www.rice.edu/CS/PLT/ for an LGPLed implementation that runs on
> Linux), but there are any number of other choices: ML, perhaps Python,
> perhaps Smalltalk, plenty of others.

This guy specifically said that he wants to learn so he can get a job.

For that, I don't think Scheme is a good choice.  There just isn't
enough work out there for people using it.

C, C++, Java - perhaps (ick) Perl and (even ickkier) Visual Basic
are the most commercially useful languages I think.

Since we are on a Linux list here, we won't go with Visual Basic.

I personally dislike Perl - but I think even it's advocates would
agree that it's not a good first time language.

C++ and Java are pretty similar in many ways.

Whether you learn C first and then C++/Java or vice-versa is a matter
of opinion.

Some people claim that having learned the 'procedural style' of C makes
it harder to learn C++ because procedural style first has to be 'unlearned'.

Well, I can somewhat agree with that.  I had a hard time unlearning C,
and I was writing C programs in C++ (in effect) for YEARS because of
that.

However, for a total beginner, you are first worrying about things
like

   x = x + 1

...being an assignment and not a math formula!

Pointers, the mere *concept* of a loop, if and subroutine.  Variables
and arrays...all of those things have to be learned before we even
*THINK* about object-oriented versus procedural style.

So, perhaps learning C first is a smaller step - and taking small steps
is the right way to learn.
 
> Also, I don't really know Smalltalk or Python well enough to be able to say
> anything intelligent about them.

Python is a LOT like C++.  You can learn it in a day if you know C++.
 
Smalltalk is to little used - and again we come back to what you'd learn
in order to get a *JOB*.

-- 
Steve Baker   HomeEmail: <sjbaker1 at airmail.net>
              WorkEmail: <sjbaker at link.com>
              HomePage : http://web2.airmail.net/sjbaker1
              Projects : http://plib.sourceforge.net
                         http://tuxaqfh.sourceforge.net
                         http://tuxkart.sourceforge.net
                         http://prettypoly.sourceforge.net






More information about the Discuss mailing list