Python use large scale projects

Larry Bates lbates at swamisoft.com
Thu Apr 22 10:15:42 EDT 2004


I mostly work on Windows platform, but about 20% of
my work is on Linux so my answer will be slanted
towards Windows development, but I think the same is
true of a pure Linux development environment also.

I commonly use Python on projects that exceed 10000 lines
which would require 4x-5x times that much C.  I just
completed a project that included over 13,000 lines of
Python code frozen by py2exe into a Windows NT service
(this didn't count the many thousands of lines of code
that is housed in external calls to Python Imaging
Library, ReportLab .PDf generation library, wxPython
and API .dll's that are called from my Python application).
Total application size probably exceeds 70K lines of code.

Maintainability of such code is outstanding.  I have
come back to projects written years ago and can quickly
pick up where I left off.  This is something I cannot
seem to do with legacy PHP code that I've written.

My choice of Python came down to this: If I want to
write scripts, console apps, GUI apps, services/daemons,
web apps, develop for Windows, Linux, Palm, etc. without
Python I'm forced into several different languages (e.g.
C++, VB, ASP, etc.).  It is difficult enough to learn one
language well, I found it impossible to learn ASP, C++,
and VB well enough to be productive in all 3.  With
updates to 3 languages it was impossible to keep up.
If you wish to develop on different platforms, the
problem is even more severe (without Python).

With Python I can do all this (and more) but can
actually develop in one language that I'm learning very
well.  It also allows me to leverage off of libraries
of debugged code that I've developed for prior
applications, which accelerates application development
greatly.  Example: I have a single logging class that I
use in ALL my applications (BTW-my logging class predates
the new logging class built into Python 2.3).  I include
the logging class, instantiate it and go.  It is 400+
lines of Python that I've debugged/enhanced over several
years.

The ONLY knock I have against Python is in developing
pure GUI applications.  My business partner is a
PowerBuilder developer.  For pure GUI applications he
finds PowerBuilder superior to Python (actually this
is something that I cannot argue against), but he
still gets me to write COM objects, NT Services,
console applications and data conversion/manipulation
"pieces" for him when needed.  Some day Python will
have a GUI development environment that makes GUI/database
applications as easy to develop as PowerBuilder apps.
Of course he is limited to Widows and Web apps (while
possible in PowerBuilder) are difficult and expensive
(due to licensing).

While I'm certain there are developers out there that
can manage this juggling act, I couldn't.  Even if you
choose a "front end" language like PowerBuilder, VB, etc.
you find that you still need "back end" pieces.  I don't
think there is a better choice than Python.

I should point out that I have 30+ years of experience
and have learned many languages over the years, so I'm
not a language bigot.  I just want something that makes
me productive and that produces reliable programs that
are HIGHLY maintainable.  Maintenance becomes 80% of the
problem after an application is developed. Python fits
that bill for me.

I hope this information is of some assistance.

Regards,
Larry Bates
Syscon, Inc.

"limor" <limorh at Spediant.com> wrote in message
news:47fc6058.0404212327.24163290 at posting.google.com...
> Hi,
> I am considering using Python in a new testing tool application we
> intend to build for out product.
> I must get references before starting develope in this language ,
> since although lots of good things are said about this language , I
> still have my doubts how can it compete with languages like C++ and
> Java.
> I have found te sytax and some features if the language not as
> problematic in maintenance prospective (although I keep reading the
> contrary everywhere I read somthing about python) . For people who are
> used to write in C and C++ I think the python being typless makes the
> code hard to maintain.
>
> But still, In many prespective the language seems to really suit my
> needs and I would really like to talk with people who are using Python
> in their company to medium-large scale project.
>
> I'd really like to talk with someone who is using this language in his
> work for large scale projects.
> 10x allot for whoe ever reply me on that.
> With Regards,
> limor.
> Spediant Systems Ltd.
> Igal Alon 126 TA, Israel.





More information about the Python-list mailing list