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. -- http://mail.python.org/mailman/listinfo/python-list