Myth: Python is ideal for beginners

John Roth johnroth at
Fri Feb 7 15:09:12 CET 2003

Thank you. I've been programming professionally since '65, and that
was exactly my impression. Python was remarkably easy to learn.
Some things helped, like a syntax aware editor, but in general
I find it remarkably free of non-obvious constructs.

There are, of course, flaws, but then I've never met anything
that couldn't be improved. I'm impressed by the small number
of them.

I can contrast that with Java. I'm having a huge amount of
difficulty with the environment. With my background, the language
itself is simply "more of the same," but the environment, to put it
bluntly, s3s.

John Roth

"marshall" <marshall at> wrote in message
news:4017400e.0302062026.27e76443 at
> "Mark McEahern" <marklists at> wrote in message
news:<mailman.1044565398.10942.python-list at>...
> > [Pedro]
> > > Okay, that is very true. Thanks for pointing it out . I can try
> > > start one.  But my point remains that people shouldnt say 'Python
> > > ideal for beginners'
> >
> > By the way, why do you suppose they say that Python is ideal for
> >
> > I personally don't know whether that's true or not.  I'm sure it's
ideal for
> > some beginners and not ideal for others.  It's probably more ideal
than some
> > languages, less ideal than others--all of which of course depends on
> > beginner, how they were introduced, their level of initiative and
> > etc.  Is Python in the middle of the pack, in the front, or
> > behind?  I don't really know.
> How about some perspective from a 'beginner':
> I'm a wannabe programmer. I'm probably older than most beginners
> having learned BASIC on Commodore PET in 1979 in high school.  Over
> the years I have wasted countless hours on C and then C++ (fortunately
> less on VB). "Learning" a language means nothing.  Doing something
> with it means learning the associated libraries and API calls unless
> you are writing for the command line.  I got mired in one set of tools
> after another (insert your euphemism for MFC here) and turned away
> discouraged each time.  I found Python one month ago and have written
> more code and learned more than in the past twenty years.
> Why is Python good for beginners?
> 1. If you are not sure if something will work as intended you can try
> it in the interpreter.
> 2. Simple syntax.  As easy as BASIC.
> 3. Object oriented pretty much from the ground up so you can learn OO
> concepts.  Even the irritating 'self' reinforces the lesson albeit
> painfully.
> 4. You only import what you need.  Importing seems much easier to
> understand than the include process.  Typing 'module.object'
> reinforces what is going on.
> 5. Less typing = more code faster = learn from your mistakes earlier.
> I created some classes to make simple a GUI interface.  My approach
> was flawed and I had to rewrite much of it.  Time lost: 2 hours.
> Lessons learned:  priceless.  I would have given up in frustration
> with C.
> 6. dir().  I dir every new module or instruction I use - lots of
> 'Aha!' moments.
> 7. Compact, easy to read code.  Complexity increases geometrically
> with size. It is always easier to understand code that fits on one
> screen vs. code that spans three or more.
> ...and  more ...
> What would make it better for beginners?
> 1. Some 'best practices' on how to structure code across multiple
> files, handle main(), and maybe some other things I can't think of
> right now.  I know these are addressed in various places and I learned
> from browsing this newsgroup.  But when I started I wasn't even sure
> where I should put my files.
> 2. Maybe a better IDE but IDLEfork serves my needs pretty well.
> 3. NOT books.  Been there.  Every C++ book I have seen shows you what
> but not why.  Some excercises graduated in difficulty might be good
> (but none where you create an 'employee' object and give it a 'salary'
> attribute please!)
> The bottom line with Python is that, because you can do more in less
> time, you can learn more in less time.
> Sorry for the long post but I've been lurking for awhile.  I'll go
> back to my code now.
> _marshall_

More information about the Python-list mailing list