HELP! Must choose language!

Chad Netzer cnetzer at mail.arc.nasa.gov
Thu Jan 2 21:18:51 EST 2003


On Thursday 02 January 2003 17:34, Andres Rosado wrote:
> On 12:06 AM 12/30/2002 -0500, the keyboard of
>
> python-list-request at python.org emitted:
  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Hmmm, I wonder if the originator will ever see this...

> >Hello, everyone, I am a 9th grade student, who is very interested in
> > learning programming.
[snip]
> > I have seriously considered C( I even bought and
> > started on a book
> >about it), Python(my original choice, however, teachers deterred me from
> > it),

> C/C++ are great languages, once you get the hang on them. On the beginning,
> they are kind of rough. Once you have a clearer picture, it gets "easier"
> to write it. Compile the code is an horror story, though.

Yeah, I didn't start with C, although I picked it up quickly when I moved to 
it (from Basic, and then Pascal).  The trick about C is that you have to 
learn about the machine model, as well as basic algorithms, at the same time. 
 C has pointers which you basically HAVE to learn (and many an experienced 
programmer that I've met STILL get confused by pointers, there relationship 
to C arrays, etc.)

So, my view is if someone wants to learn more abstract programming concepts 
(algorithms, data structures, program flow, etc.) and is not as interested in 
hardware (bit operations, memory allocation and use, stack versus heap, etc.) 
a language like pascal, or Python, or Basic, or Modula would all be okay.  
And certainly Python is up there in terms of elegance and power.

People who like hardware and want to learn more low level programming would 
probably like C as a first language, but the trick is that they often already 
understand many of the machine concepts (and may know assembly language, for 
example).

Based of what I saw in college, where C was used as the "Programming 101" 
course (algorithms, sorting, searching, etc.), LOTS of people had trouble 
with it, whereas I would assume many of those people might have had less 
trouble with Python (aside from beginners issues about editing, and some 
conceptual issues if OOP was introduced poorly).  Using Python 2.2.2, and 
"from __future__ import division" would be a good first step as well. :)

Once you understand:

basic looping
recursion
simple data structures (arrays, lists, dictionaries, structures, whatever)
basic file IO
basic interactive IO (screen printing, keyboard input)
simple algorithms( counting, simple math, ie, the REAL basics)
and of course, "if" statements

then you can start adapting to other language concepts that C, C++, Python 
and other languages provide.

-- 
Bay Area Python Interest Group - http://www.baypiggies.net/

Chad Netzer
cnetzer at mail.arc.nasa.gov





More information about the Python-list mailing list