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