what is easier to learn first?...

William Tanksley wtanksle at dolphin.openprojects.net
Tue Mar 21 17:47:22 EST 2000


On Tue, 21 Mar 2000 11:04:23 -0800, Russell E. Owen wrote:
><greene at hctc.com> wrote:

>>C+/+ or python or perl, I need an unbiased opionion here. I have  NO
>>programming experiance. thanks for your time.
>>greene at hctc.com

>An interpreted language (Python or Perl, not C/C++) is much easier to 
>learn, because you can try things out right away rather than having to 
>compile and link everything before you run it.

"Interactive" is more significant than "interpreted".  Just a nitpick.

>Also, I find it helps to get a really good book on the language and to 
>have a project in mind -- something you're keen to do, and that you can 
>learn the language as you do it.

I like to have the book first and the project second -- I personally hate
working on a project to which I attach importance _while_ I'm learning the
language.  It makes the learning hurried and the project messy.

At the same time, though, it is _really_ helpful to have a good
short-range goal; that way you'll consciously be picking and choosing ways
to do the things you want to do as you go through the book.

>If you mostly want to do quick and dirty processing of text files, Perl 
>is hard to beat.

Depends on the type of processing, too.  Rebol has a much simpler and more
powerful parsing engine; a Perl script to search for a sequence is almost
always far more noisy and less logical than the equivalent Rebol script,
and the Rebol script can search for and replace things which Perl simply
can't.

(A note to experienced Pythoneers: Rebol uses an LL parser to handle text
grovelling.  It seems like such a thing should be easy to add to Python,
and far preferable to regexps.  Any comments?  See the "parse" section of
Rebol's documentation for the syntax Rebol uses; it's MUCH more Pythonic
than regular expressions.)

>C is a very simple language. It is missing a lot of useful stuff, such 
>as exception handling, objects, decent character strings. Also, it has 
>an excessive reliance on dangerous pointers. But it's so simple and 
>basic that it makes a very reasonable place to start and it will prepare 
>you to use lots of other languages ("C-like syntax" being, unfortunately 
>very popular). Lots of good books. Compiled.

Good summary.  Also, C's library is unforgiving; if you tell one of C's
commands to do something impossible, it's hard to guess what it'll do.  If
you're lucky it'll crash right away; if you're unlucky, it'll keep going
and crash later or produce impossible results.

>Other languages to consider:
>- Java: somewhat slow, ugly and unfinished, but reasonably safe and 
>wildly popular/hyped.  Lots of books; I'm not so sure about good ones. 
>Compiled (to byte codes, so combines the hassles of compilation with the 
>slow speed of an interpreter).

I wouldn't say that it's ugly.  Otherwise, yes.  The book I used, which I
recommend highly (especially chapter 16, allegedly on design patterns but
actually covering RTTI, polymorphism, and many other cool subjects) is
available as a free download from www.bruceeckel.com; look for "Thinking
in Java", first edition.

>- Eiffel: supposed to be clean, sensible and industrial strength. I do 
>not speak from experience, though I want to learn it.

Interesting, but not really all that significant, IMO.  Of course, I
haven't used it for any large projects yet, and I doubt I ever will.  I
don't agree with the author re: contravariance versus covariance.

>- Visual Basic: reportedly good for quick and dirty user interfaces and 
>pretty ugly for larger stuff (lots of features thrown together, not 
>cleanly designed -- a very Microsoft approach). RealBasic is a 
>competitor worth examining.

I would FAR prefer looking at Delphi for that stuff.  It uses a far better
language (Object Pascal) than Basic.

>- ...lots of others

Yup.  Gotta learn them all.

Sorry.

>-- Russell

-- 
-William "Billy" Tanksley



More information about the Python-list mailing list