[Tutor] is it a right choice? [secondary languages besides Python]

Danny Yoo dyoo@hkn.eecs.berkeley.edu
Thu Jul 3 14:53:02 2003


On Thu, 3 Jul 2003, Alan Trautman wrote:

> In you case I certainly can't recommend C or C++ (to in-depth for no
> gain) but could recommend JAVA if you have in house/friends who are JAVA
> programmers to consult with.


Hello!


I can't recommend C as a first language.  But I feel it's a good secondary
language, particularly because it exposes a lot of the stupidity that goes
on in a computer's hardware.  *grin*

C encourages putting oneself more into a low-level mindset, where we have
to deal with gory details like memory management and pointer arithmetic
and integer overflows.  Learning C helps one to appreciate the features in
a high-level language like Python, and will make you a better programmer.
Java, too, will pose little problem once you learn Python: Java's very
much like Python in a very rigid, concrete-reinforced straightjacket.

The book "The C Programming Language",

    http://cm.bell-labs.com/cm/cs/cbook/

is well known for its brevity and depth, so if you're going to do C soon,
look into K&R.




Python's a very good first choice, not just because it is itself a great
language, but because, when you want to branch out, it serves as a gateway
to the other more "mainstream" languages.



> Before I venture in the python infested world,
                                 ^^^^^^^^

Infested?  This makes it sounds like Python is some sort of disease or
something.  *grin*


Anyway, you can't really go too wrong with Python (or Perl).  *grin* Just
make sure it's not the only language you look at, if you're serious about
learning how to program well.




> I want to ask whether I am making a right choice by taking python as my
> first programming language. I cannot program in C, C++ or Java etc. I
> can *just* do little shell scripting.


One other alternative beginners language you might want to check is
Scheme.  There's a good implementation of Scheme from the PLT Scheme
folks:

    http://www.plt-scheme.org/


Scheme is definitely not mainstream.  But it does have a good get of
libraries, and quite a few good books both on paper and online:

    http://www.cs.berkeley.edu/~bh/simply-toc.html
    http://mitpress.mit.edu/sicp/
    http://www.htdp.org/


The Scheme community appears to be much more academically oriented than
others --- this may be a good thing or a bad thing, depending on your
background.


Good luck to you!