Orienting newcomers...

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
participants (1)
-
kirby urner