[Edu-sig] Orienting newcomers...

kirby urner kirby.urner at gmail.com
Wed Sep 17 22:54:24 CEST 2008


We know from feedback that having an interactive shell makes a huge
difference, in terms of what's to like about Python.  As I'm
delivering to skeptics a lot of the time, who think I'm maybe back
stabbing other languages that deserve more respect, I'm sure to
mention that Python isn't the only interactive interpreter based
language reducing to bytecodes for virtual machine execution under the
hood.  There's Jython as well.  Joke.

Given we're in 2.x -> 3.x migration phase, I tell a short story in
which "most language designers" never thought of putting in a
deliberate break point, a pit stop for correcting low level design
flaws that are sure to be there (we all make mistakes), making some
cool tweaks, but Guido is smarter than the average bear (cartoon
allusion **).

Plus we like making fun of Y2K (a "retro apocalypse"), Py3K or Python
3000 being a takeoff on that, also on Windows 2000 maybe.  We can
afford to get "mock apocalyptic" about all the breaking code, because
we actually have no reason to panic.  The older engines aren't going
anywhere, we have time to take a relaxed not-crisis-driven approach
for a change.

Anyway there's history to tell, also about the VM based approach
(managed code), versus pedal to the metal chip assembly code hot off
the compiler, as that's our entry point for discussing Mono/.NET (CLR)
and the Java class hierarchy and runtime, which are sort of like
"core" and "standard library" all rolled into one (for those coming
from CPython or just C itself).

When it comes to core, standard library, 3rd party, I'm quick to point
out we ourselves are 3rd party the moment we save that first .py file
in /site-packages i.e. all additional code is in some sense 3rd party.

The question of how the interpreter and source code co-exist is too
convoluted to get into that much, but we don't always do it the same
way.

Most trivially, in shell mode we're real time interactive, whereas in
running a script, we're walking away from REPL (read, evaluate, print,
loop).  GUI applications have their characteristic main loop event
polling, and so on.

I don't think I should hype Python Nation's PiPy as "the equivalent of
CPAN" in the Republic of Perl as it's not, although the idea is
similar.  On the Java side, eggs are like jars.

What I'm trying to do in my allotted 30-45 minutes is "speak geek" in
a fluent enough way to give listeners, also watching projected
content, a sense of what's what in this rather ephemeral realm of open
source software (how come we get to look at the source is because it's
open).

This is useful for adults thinking about retraining in IT, not just
for math faculties looking for new topics that integrate well with the
sciences ala SciPy or whatever.

Kirby

** http://www.youtube.com/watch?v=zEZJ_mLUNPc


More information about the Edu-sig mailing list