learning C

Laura Creighton lac at cd.chalmers.se
Wed Mar 7 08:45:44 EST 2001


Greetings from Sweden:

I think that objecting to using C because pointers and strings are hard
is akin to objecting to using a scalpel because it is sharp and you
can cut yourself.  Now if the original poster had said, `Look, I have
never written anything but Python before, but I have to write some 
application in C or C++, and I don't have any time or inclination
to actually learn the language much, what should I do?' then I would
be in utter agreement with you.  Don't learn C unless you really
want to.  It is hard to be a good C programmer.  It requires discipline
which the language will not give you, which you must bring to the 
experience yourself.  It helps if you know a really good C programmer
who will say things like ``no, you cannot put that nauseous piece of slime 
into our nice clean v7 kernel'' which will give you real incentive to learn
how to have that discipline.  The world is full of *bad* C programmers,
though, so finding such a person is hard, especially if you are new
enough that you do not know the difference between good and bad C code. 
It was easier in the days when we all just wanted to code like 
Ken Thompson. The person who suggested reading v7 source actually had 
good advice, if only you could get a v7 kernel and a pdp-11 to run it on.
I assumed the original poster wanted to become a good C code writer, or at
least a good C code reader.  You tell him to learn C++ instead, as if learning
C is obselete.

But then you also say that there are no good and bad languages.  Are you sure 
that you are on the correct mailing list?  The on-going debate about the new 
string syntax is all about whether or not it is ``good''.  Does it make
Python *good*? or *bad*?   Important stuff.

Laura Creighton




More information about the Python-list mailing list