Where is Python in the scheme of things?

Magnus Lycka lycka at carmen.se
Mon Oct 9 07:45:25 EDT 2006


gord wrote:
> As a complete novice in the study of Python, I am asking myself where this 
> language is superior or better suited than others. For example, all I see in 
> the tutorials are lots of examples of list processing, arithmetic 
> calculations - all in a DOS-like environment.

Python runs on almost everything from mobile phones to mainframes,
so it can't really provide one particular GUI or one particular
development environment.

There are a number of free and commercial IDEs and GUI tool kits,
but I don't know if there is anything that gives you such a low
entry threshold for GUI development as VB or Delphi. I never
"painted" GUIs in Python, I coded them in a plain editor, but
you get used to that pretty soon, and you'll feel more in control,
and the more complex your GUIs get, the more you can gain from
having that control. In my experience it's much easier to reuse
GUI code in Python than in VB etc. If you have made a few windows,
and written your code in an intelligent way, making additional and
similar windows can be very quick, and maintaining their uniform
look, feel and behavior can be easier.

Anyway, if GUI development is what you want, you need to look at
a particular GUI toolkit. Depending on what you are after, you
might want to use Dabo, WxPython, PyGame or some other toolkit.
I know, it's much easier to choose if you only have one choice,
but this is the way things work in free software: no one tries to
lock you in, so there is a flora of different tools suited for
different needs. This makes it a bit harder to get started: You
need to take more decisions--but you'll hopefully end up with
something which is a better fit, where you don't need to work
around the limits of the tool, or limit your world view to
idioms supported a one-size-fits-all tool.

> What is particularly disappointing is the absence of a Windows IDE, 
> components and an event driven paradigm. How does Python stand relative to 
> the big 3, namely Visual C++, Visual Basic and Delphi? I realize that these 
> programming packages are quite expensive now while Python is free (at least 
> for the package I am using - ActivePython).

It's more like Java than like any of these three really. It's not
specifically geared towards building GUI apps (like two of the above)
and it

It's a more modern language than the above. It started from scratch
around 1990, as opposed to BASIC, C++ and Pascal. Both C and Pascal
popped up around 1970, and BASIC is older than that. While they have
developed a lot, the modern incarnations still carry a historical
baggage. Python's syntax has been based on research and 20 more years
of experiences in the problems that your other languages are stuck with.

Python's major inspiration was ABC, a programming language developed
as a research project with the aim of being easy and pedagogical to use.

On the other hand it's more like C++ than like Java in the sense that
it supports object-oriented programming, but it doesn't enforce it. C++
and Python (as well as Delphi's Object Pascal I guess) can be described
as multi-paradigm languages.

> Please discuss where Python shines.

Until 1996, it was my firm belief that there were only two kind of
tools in the software development world.
- Some tools (e.g. VB and Access) makes it easy to get started and
   make small thing, but when the systems grow and the requirements
   get tougher, your problems start to grow exponentially. You hit a
   wall it seems. At least it starts to feel like a tough uphill
   battle.
- Other tools are more difficult to learn (e.g. Unix), but once you
   master them, they grow on you, and you feel that you can take on
   harder problems without hitting that wall.

It was a revelation to bump into Python in 1996. Suddenly, there was
something which was easy to get started with, but still just felt
better and better the longer I used it. That's the killer feature
in my mind.




More information about the Python-list mailing list