Python use large scale projects

Discussion in 'Python' started by limor, Apr 22, 2004.

  1. limor

    limor Guest

    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
    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,
    Spediant Systems Ltd.
    Igal Alon 126 TA, Israel.
    limor, Apr 22, 2004
    1. Advertisements

  2. limor

    David Fraser Guest

    On the contrary, I found coming from a C/C++ background that the dynamic
    typing was an advantage.
    We use Python for a few projects that are about 10000 lines of code.
    Note however that this would probably be 40000 lines in C++.
    The compact simplicity of Python has made this code much easier to manage...

    David Fraser, Apr 22, 2004
    1. Advertisements

  3. Am Donnerstag 22 April 2004 09:27 schrieb limor:
    Python isn't typeless. Little example:
    Traceback (most recent call last):
    File "<stdin>", line 1, in ?
    TypeError: can't multiply sequence to non-int

    It's not typeless (as e.g. you'd consider Perl to be), but variables aren't
    declared by type (they are all just references to objects, in the above
    example references to two string objects, and not declared at all...).

    Heiko Wundram, Apr 22, 2004
  4. limor

    Sean Berry Guest

    I am in the process of writing a new store software in python.
    So far, about 8000 lines of code. Fairly large project, not completly in
    python. Uses some C as well.
    Sean Berry, Apr 22, 2004
  5. Am Donnerstag 22 April 2004 09:27 schrieb limor:
    btw. you'd like to look at some large-scale projects written in Python which
    are out there, twisted ( being one, Zope (
    being the other, which seem to be both well-maintainable and -maintained by
    the group of programmers working on it. And I've yet to hear the devs
    complain about the code not being maintainable on their mailing-lists (okay,
    maybe Zope isn't such a fine example... ;))

    Heiko Wundram, Apr 22, 2004
  6. limor

    Larry Bates Guest

    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

    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.

    Larry Bates
    Syscon, Inc.
    Larry Bates, Apr 22, 2004
  7. limor

    Peter Hansen Guest

    Beautiful post, Larry. You're speaking for many of us...
    Peter Hansen, Apr 22, 2004
  8. limor

    Hemanth P.S. Guest

    And combine your use of Python with Leo (,
    another excellent application developed in Python, and it should make
    developing and maintaining a large scale project easier than other
    programming languages/tools.

    Hemanth P.S., Apr 23, 2004
  9. limor

    Alan Sheehan Guest

    Alan Sheehan, Apr 23, 2004
  10. For what it's worth, I've had pretty good results so far with
    wxPython. There's a visual development environment called Boa
    Constructor that I'm not completely sold on, but then it's still in
    A. Lloyd Flanagan, Apr 23, 2004
    1. Advertisements

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments (here). After that, you can post your question and our members will help you out.