Suitability of Python for a Big Application?

Hans Nowak hnowak at cuci.nl
Sun Dec 12 15:54:02 EST 1999


On 12 Dec 99, at 20:11, bobyu5 at mailcity.com wrote:

> This application has to run on multiple OSes, 

Sounds just like a job for Python. :)

> access various major
> relational databases, 

Possible, using database modules. There are quite a few of them.

> and internet enabled, meaning that it can FTP or
> send e-mails as part of its feature. 

That's easy too. Those modules are in the standard library and very 
easy to use.

> Plus it has to be very easily
> extensible and modifiable because modification to the requirements will
> occur very frequently. 

Another thing Python excels at.

> Also, it has to be blazingly fast. 

Well, that's a different bowl of soup, really. You may need to 
optimize parts of your application. However, when programmed 
cleverly, speed is usually not a problem. And you can always code 
certain parts in C.

> My fantasy ideal choice would be: Rebol with some amazing and simple to
> use ODBC and GUI libraries; plus I like the language itself.
> 
> But it does not for now, so I settled down on Python; however, I have 2
> remaining issues on Python.
> 
> 1) GUI library: I tried to look at TK library and the look and feel was
> not as sleek as what comes with Windows; plus it felt very slow. 

You could try wxPython... its "look and feel" is more like VB's and 
Delphi's.

> 2) Math
> operation: there is a possibility that some heavy duty calculation would
> have to be performed on around 100,000 rows of data using Python - how
> slow would this be? 

There's Numeric, a sophisticated math library which is said to be 
very fast.

> 3) Heavy duty text processing using regexp (at least
> 40MB big)- I know Perl is really fast in this regard; is Python as fast?

The short answer: no. The long answer: It depends. I don't know 
enough of regexen to tell you more, though. I do know that the re 
library is kinda slow compared to Perl and the (older and deprecated) 
regex library. 

> For 1) I thought I could solve this problem by using Zope - I get
> instantly a GUI that is based upon web browsers. This eliminates those
> annoying installation problems with customized DLLs as I found out using
> VB development approach.
> 
> For 2) I am hoping that the Python Math Lib exists and that it is very
> good.
> 
> For 3) I am also hoping that Python Regexp Lib is good.
> 
> Are my assumptions valid? Am I missing anything? Originally we wanted to
> have Outlook like UI - is this kind of UI possible to build using Python
> and its libraries?
> 
> Everybody seems to be using C++ or Java for projects of this scope; has
> anybody tried to do something similar using Python, or even Perl?
> 
> Any anecdotes or recommendations would be heartily appreciated!

To me, the best approach seems to be: start testing today! Take three 
days (or, if you're more proficient to Python, 3 hours <0.5 wink>) to 
experiment with Python in those three areas you mention. Try a fat 
regex and see how well Python does... is it acceptable for your 
application? Do heavy-duty tests for Numeric, try wxPython or any 
other GUIs you want to test, and if needed, talk about improving the 
results to people in the newsgroup.

Python's strong prototyping aptitude allows you to do such tests in a 
very short time. If Python is not the tool you need, you will know so 
very quickly... and if it is, you have a working prototype for you 
application very quickly.

Hope this helps a bit,

--Hans Nowak (zephyrfalcon at hvision.nl)
Homepage: http://fly.to/zephyrfalcon
You call me a masterless man. You are wrong. I am my own master.




More information about the Python-list mailing list