[Edu-sig] Python Briefing for Faculty

Kirby Urner pdx4d@teleport.com
Thu, 10 May 2001 16:20:23 -0700


-----Original Message-----
From: edu-sig-admin@python.org [mailto:edu-sig-admin@python.org]On
Behalf Of Markus Gritsch
Sent: Thursday, May 10, 2001 1:45 PM
To: Seabrook, Richard; edu-sig@python.org
Subject: Re: [Edu-sig] Python Briefing for Faculty


> I'm putting together a 2-3 hour briefing + demonstration for faculty to
try
> to get them interested in Python for our introductory programming course,
> which uses a baffling subset of C++ at the moment.  I thought I'd do it in
> a PC lab with Win2000 and use Python 2.0 + IDLE.

Maybe you want to consider to have a look at SciTE:
http://www.scintilla.org/SciTE.html

<<SNIP>>

SciTE has support for multiple buffers and is quite configurable in any way.
I do all my Python development with SciTE and prefere it to IDLE.

Kind Regards,
Markus
============

scintilla looks interesting.  I have a question about it though.
In IDLE, I can assign variables and they persist, as do references
to whatever imported stuff.  As I do this and that interactively, 
I make use of these references  -- I'm sitting in a pile of tools 
and they all stay defined from one command to the next (plus I
create new ones at will).  It's like using a calculator with any
number of STORE keys, plus you can store anything you like 
(objects of any kind -- which may be functions).

With scintilla, it looks like I boot an instance of Python every
time I invoke a command (e.g. print 'hi'), plus I have to disk-save 
that command as a .py file in advance before I can use it.  I'm 
not really in an interactive mode at all, but am executing a 
whole py module top to bottom and then exiting Python.

If so, this seriously detracts from some of the benefits associated
with IDLE, and even with interactive Python in a DOS box.  You don't
really have an environment.  Nothing persists except disk files.
You can't define A = Matrix(...) and then refer to it 10 minutes 
later, after doing a bunch of other stuff, maybe passing it as an 
argument to something imported from another module.  There's no 
real conversation.

Do I have the wrong idea here?  If I'm correct, then scintilla may 
well be a very useful text editor, and good for doing *some* 
things in Python, but it's not creating a trully interactive Python 
session (using "session" as we might in APL, Logo or DrScheme -- 
interactive access to persistent data without saving to files).  

Maybe people coming from C++ or Java or Fortran don't really miss 
being in a session, having a true command line, because these are 
compile-link-run type languages.  But those of us used to sitting 
in a command window and working interactively really notice when 
that power is suddenly gone (which doesn't mean we don't code 
in edit mode -- just that being in edit mode is not entirely 
synonymous with "using the language", is only half the story).

Kirby