New Programmer and Python
roy at panix.com
Sat Sep 18 18:36:22 CEST 2004
In article <_NidnfFXMMGVyNHcRVn-hg at comcast.com>,
"PMD96" <PMD96 at comcast.net> wrote:
> I'm new to programming and have been recommended to start with Python.
Python is an excellent place to start programming. In one sense, it
fills much the same niche BASIC did a generation ago; it's very easy for
beginners to learn. Python is also available on a wide variety of
platforms (Unix, Windows, and Mac) and is easy to install. It is also
very portable. There are certainly changes that have happened over the
years to the language, but at least there's only a single line of
development, so you don't have to worry about different branches heading
off in different (incompatible) directions.
Python has a shallow learning curve, which means you can learn just a
little bit of the language and start building useful programs right
away. As you explore more features of the language and libraries, you
can do more sophisticated stuff, but you need to know just a small
self-contained subset to get going.
But, unlike BASIC, Python is a powerful modern language, which is taken
seriously by professional programmers who want to get real work done.
It supports (but does not require) object oriented programming. It's
got good flow control constructs, a rich (but easy to use) assortment of
built-in data structures, exceptions, and hands-off memory management.
It's also fast enough for a lot of what most people do. Not as fast as
C or C++, but comparable with the likes of Perl, Java, and TCL.
It has some controversial aspects, to be sure. The one that will be in
your face right from the start is the use of indentation for statement
grouping. All I can that can be said about that is "deal with it".
Some people think it's absolutely brilliant, others think it's the
stupidest thing they've ever heard of. But, it is what it is, it's not
going to change, nobody in either camp is ever going to be convinced to
change their mind, and there is nothing that can be said about it on
either side which hasn't already been said 100 times already.
The other thing is the use of dynamic data typing. People who come from
a C++ or Java backgrounds often find it upsetting that there is no data
type checking (nor is there any real notion of private data or methods,
in the sense that those languages support). On the other hand,
Pythonistas find this freedom from "type bondage" one of the best things
about the language.
Overall, my recommendation to anybody just getting into programming
today would be to learn both Python and Java. They are both modern,
popular, useful languages, but based on very different design
philosophies. Once you've learned both, you'll be in a much better
position to make up your own mind which you like better.
> I've reviewed the tutorial and am looking for additional learning
> tools to learn programming and Python. Any recommendations?
More information about the Python-list