Why Python is like BASIC (and why this is a good thing)
Elton M. Labajo
elton at mybizlinks.net
Fri Feb 15 21:13:19 EST 2002
I like the idea of lite and full version :)
> Reading the first few chapters of _How to Think Like a Computer
> Scientist_ (http://www.ibiblio.org/obp/thinkCSpy/ for those who haven't
> heard of this book), I was struck by how Python resembles BASIC in some
> ways that make it a very good language for teaching:
>
> * Interpreted, so there's immediate feedback. Students can just type
> 'python' at the command prompt and start coding, receiving *immediate*
> feedback on the effects of what they type.
>
> * Non-scary assignment and output statements. In fact, Python and
> BASIC's output statments look identical. "Print" is a natural choice
> for ease of understanding. Using sys.stdout.write can come later, once
> students begin to realize that they don't always *want* a newline or
> space appended to their output.
>
> * No need to declare variables. Use them and they are immediately
> created for you, ex nihilo.
>
> All three of these things make for a very low barrier-to-entry for
> people who've never done any programming before. I'm sure there are
> other similarities as well, that maybe someone else will point out. Of
> course, Python goes beyond BASIC in many ways:
>
> * NO LINE NUMBERS! Enough said.
>
> * Rich control-flow statements. Of course, this is available in more
> modern versions of BASIC, but back when I was first learning to
> program (at age six, using BASIC), all I had was conditional GOTO. You
> know, IF condition GOTO line-number. Or, for the advanced students, IF
> condition GOSUB line-number (I never did understand the necessity for
> that kind of statement until well after I'd stopped using BASIC
> entirely and moved to more "modern" languages like... Pascal).
>
> * Batteries included. This is the big one, which makes Python more than
> just a toy language suitable for learning. The richness of the
> standard library makes Python incredibly useful, and I for one would
> like to see it continue to grow. I understand the concern that people
> developing Python-based programs for distribution would like their
> users to be able to run a 100k script without downloading a 10M
> distribution, but I don't want to see that cause a reduction in the
> standard library. Instead, we could make make two Python
> distributions, a "full" install containing everything and a "lite"
> install containing only the interpreter and maybe -- *maybe* -- a
> couple of essential modules like os and sys. Then people developing
> Python programs like, say, a pygame-based game, could distribute a
> single package containing the "Python lite" distribution, their own
> code, and any other modules their code depended on -- all in one
> easy-for-the-end-used-to-install package.
>
> Anyhow, I hope this helps develop some ideas.
>
> --
> Robin Munn
> rmunn at pobox.com
> --
> http://mail.python.org/mailman/listinfo/python-list
More information about the Python-list
mailing list