Python too complex ?!?!?!
saluk64007 at gmail.com
Tue Nov 20 23:01:33 CET 2007
(Oops, sent as private, reposting to list)
On Nov 20, 2007 12:36 PM, sjdevnull at yahoo.com <sjdevnull at yahoo.com> wrote:
> FWIW it's trivial to run pyflakes on your code (automatically behind
> the scenes) to get syntax checking; in vim, my syntax errors get
> underlined immediately for python code. It's especially nice for
> large web applications, where having to go reload a page only to
> discover you typed "if a=1:" or some silliness actually takes some
> amount of time.
> I also get function prototypes on the status line (so, e.g., the
> elsethread example of confusing list.extend and list.append is
> mitigated to a large degree).
> Dynamic typing loses some info, but you can get most of the big
> benefits with it.
That sounds really cool. What do I have to do to set up vim so it
does that for me?
Back on topic, I don't think python has lost it's simplicity. It has
added many features in the last few versions, but none of them are
requirements for learning. There are some things in python that I can
see might be sticky points for instructors, but these things have
always been an issue. The IDE is one thing. With python being
agnostic about so many things, such as the IDE, an instructor has to
choose which ide would be best to teach with. And none of the ides
available can match Microsoft's offering (One of the best, if not THE
best IDE available for any language). As someone who only uses 2% of
the features of an IDE if I am ever forced to use one, I don't respect
that, but many people swear by it. The interactive interpreter is
great as well, but that scenario doesn't work well for everybody. If
someone doesn't have much experience with command line tools, than a
microsoft word-ish (like VS) interface is going to be more condusive
You also have to think about a classroom scenario. I think python
works very well for pair programming, one-on-one tutoring, or through
text correspondence. In a class, there are many situations for error.
Being tab-based is a real problem in this instance, when trying to
tell someone how to write something. You have to be clear about where
to tab over. With blocks, it is much easier to verbalize. I have run
into this when helping people to code in person, but with one-on-one
and their full attention it's not so hard to disambiguate things. In
a classroom where many people are having different sorts of problems,
I can see where issues might crop up.
Then the library situation, which is a strength and weakness of
python. It is starting to be remedied with easy_install, but
easy_install on windows is a joke (and there are still issues with it
under linux at times). There are many libraries but on windows it can
often be a chore to track down the ones that you want, and while the
batteries are included with respect to strong language features and
web modules; the batteries are definitely missing in some key areas:
gui (tk is really quite awful, hard to learn, and ugly), web
application, graphics (pygame, PIL, opengl), sound/music (uh, any
standard libs for this? pygame is the only one that comes to mind for
I'd like to see a few things. Easy install being included with pygame
as standard, with a gui. Ability to browse the cheesshop and look for
specific things, such as image processing, graphics display, gui, etc.
A list of suggested extra libraries to install when you run the
python installer: (Tick off the web framework(s) you want to install).
A nicer default gui (don't know what that would be, yes I am aware of
the huge flame war and wound this would open up). A slightly improved
interpreter - when entering a long function and getting it wrong, I
want to bring back the whole function, not just line by line. A
better standard IDE - too bad the best ones all seem to be commercial.
So that is mostly a wish list, and some of those things will never
happen, but the standard easy install with a gui would be a good thing
to work towards for the windows world.
More information about the Python-list