Best way to learn Python?

Thomas Strathmann thomas at tstrathmann.de
Thu Sep 27 16:32:32 EDT 2001


> Ouch.  Don't start with C!  Start with Python, and you
> may well never need to learn C.  If you ever do need to,
> you will be a better C programmer for having started with
> Python.

Well, I started with C (after various BASICs and being fed up with crappy
imperative programming languages that limit you so much in your freedom - but
that doesn't count IMHO). The key point for learning C in the first place was
that C++ was sort of a buzzword that floated around town. It still does today, I
don't know what your experiences are but mine are normally limited to: Wow, I
heard of this C++ thang, it's really kinda nifty, they say, isn't this just the
better C? Or another favourite: Why learn C if you can have the full dose with
C++? Personally I have not yet come to like C++ (despite having some books
including the "C++ Programming Language" thing).  ;-) Still sticking with C for
the most part of system programming (hell, you don't really want to program an
assembler of compiler in a scripting language, do you? - although I have to
admit that the idea is pretty tempting...) and until recently with Perl for
other things (still using that in WML). But Python really seems to be the
language of choice for beginners; as it also includes some ideas of functional
programming etc. I reckon Python would be the ideal language for teaching at
school. I have to learn Java (before that Pascal) which is pretty scary
sometimes - at least when you use some Pentium 133 boxen with some sort of
Windows and Novell "network"...
Nonetheless I agree with you here, that Python can teach you a lot about
programming without you having to put great efforts into it. But one should
still learn C and preferably learn C and the library (including curses and the
like) by heart and like a second language. It's right when you sometimes catch
yourself thinking in C or even dreaming of pointers to structures of linked
lists and malloc and free... Although personally I would call that a dead scary
nightmare.

> But if you think you should start with C before learning
> Python, then you'd better back up a little and learn
> assembly language before C.  No, wait!  We should all
> learn how to write _microcode_ for CPUs before we learn
> assembly...

That's actually not a bad idea at all IMHO. ;-) Learning assembly has been on my
schedule as long as I can think back, but I never got round to give it a shot.
Born too late, I figure. Was never really important because I had C and a
sufficiently fast computer. Microcode and CPU design (at least basic concepts,
you don't really want to know about branch prediction and all that stuff) is
pretty interesting, most of all those very, very RISC with only a couple (or 1)
instruction.


Just my 2 Euro Cents,
Thomas

-- 
Thomas S. Strathmann
http://www.tstrathmann.de & http://www.pdp7.org



More information about the Python-list mailing list