On Wed, 2006-10-04 at 16:21 -0400, gord wrote: > 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). >
Ok, this is probably a little long but I always enjoy telling this story and I think it will answer you question in terms of usability. I got started using python on windows, back when I was largely a VB & VC ++ developer (6.0). (With a little java, some php and bunch of other less important languages.) I was working on a large project (developing a videoconferencing suite), and we had several options for how our proprietary protocol would handle relay selection for each connection. The system used a STUN-like relay system and we knew performance would be significantly enhanced if this connection was routed through a relay "close" to one party or the other. However, there is a distinct disconnect between "close" in the real world and "close" on the internet... and that can change from moment to moment based on the conditions between the two points. So we came up with three or four different algorithms for it and the discussion (as developer discussions sometimes do) devolved into a flamewar. So, I decided to write a program that would simulate each algorithm, and then subject that simulation to various network effects. Having heard over and over and over how great python was, I decided to write it in that. I scheduled 2 days to write the simulator, and it took me less than an hour! (Mind you, that was learning the basics of the language and writing a simulator.) I called a meeting, ran the simulator through its paces and well all decided on a solution. Few weeks later, we needed to embed small scripts into the system....we played with a bunch of different languages and ended up deciding on python. Then we needed something that would let us actually put together a UI and actually let us embed that UI in activex controls, java applications, VB programs, etc. Again, we looked at the options and chose python. This time using PyQT to provide the UI widgets, event driven programming and so forth. One of the deciding factors was that if we really needed to optimize any part of the UI code, we could re-implement that subsection in C/C++ for an extra speed boost...which we never had to do. So basically, that one little simulator took a pure C++ project and turned it into a bunch of C++ modules held together by python glue. Which ended up giving us a really flexible AND maintainable design. Since then I've pretty much been a dedicated python developer, except for those places where there is a very specific need that python doesn't meet... which is surprisingly rare. There are a few IDE-like python editors that run on windows, BlackAdder, Eric, and a bunch of others. (If I forgot your favorite, I'm sorry....) The real advantage here over, say the Visual Studio stuff, is that you can choose which one you want, rather than being stuck with an development environment that may or may not suit your working style. (After using python for a few months, I basically stopped using IDEs as I found it more productive for me personally to use Emacs...) Between that and the language's emphasis on developer productivity, there is a world of difference between python and the big three. (Which ever big three you pick.) I was a pretty productive programmer with VB/VC++/etc, usually one of the most productive members of whatever team I was on. But now that I've made the switch to python, I'm several orders of magnitude more productive in terms of actually writing the code. Which means that I can take more time to design my code for easier maintainability in the future. > Please discuss where Python shines. > Gord > > -- http://mail.python.org/mailman/listinfo/python-list