Slashdot Mirror


Mark Lutz on Python

Betsy Waliszewski sent in this interview with Mark Lutz, author of Programming Python. He discusses the evolution of Python during its brief history, XML support and .NET, and takes a brief look at the future of Python.

19 of 108 comments (clear)

  1. The Mark Lutz Impediment Factor... by Anonymous Coward · · Score: 4

    is the #1 reason python has not completely replaced other scripting languages as the preferred choice. His books are awful. I can only conclude that Mark wrote these books because he is secretly a perl zealot. He felt threatened by python and decided to write books to impede the collective python learning process. For now, stick with the docs at http://www.python.org

  2. Re:Python and Smalltalk by Ian+Bicking · · Score: 3
    I think it is mostly due to issues of deployment. Python's biggest gain has been that it is now pretty ubiquitous on modern Unix installations. It's also pretty easy to install on Windows. Most Unix web hosts have it installed. Etc.

    This hasn't and isn't going to happen for Smalltalk. There's no clean, well-partitioned way to install a Smalltalk runtime. It's overintegrated and overly insular. So it can't come in slowly, with small programs and utilities being written in Smalltalk.

  3. Re:Why hasn't Python taken off? by Jonathan · · Score: 3

    Well, Python is in an awkward position right now -- it isn't the newest and coolest scripting language anymore -- that's Ruby these days, and at the same time it isn't the standard scripting language (which is still Perl). Without the coolness factor it had in the mid '90s, Python's hope for growth lies in people hired to maintain code written by the first generation Python hackers, and this means slow (if steady) growth.

  4. Re:Why hasn't Python taken off? by FFFish · · Score: 4

    Well, now, let me just rip this off directly from a Python website (http://www.python.org/psa/ Users.html). And there was a recent thread in the Python newsgroup, mentioning about a dozen more big names.

    Thing of it is, Python does what it does so well that no one notices it.

    It's like when you walk into a retail store. You don't notice that the carpets are clean. The carpets don't call attention to themselves. They're just *there*, doing their job.

    Only time you notice a carpet is when it's filthy. When its syntax is filled with !@$% symbols. When it has memory leaks. Etc.

    Anyway, the shortlist of companies using Python in commercial apps:

    Advanced Management Solutions Inc.
    * AMS provides the AMS REALTIME suite of enterprise software for project management, resource management, cost management and timesheets. The Python language engine is embedded in AMS REALTIME as a means of extending the products, and also as a way of enabling custom behavior and company-specific business rules to be supported.

    CWI
    * CWI, Python's home, has used Python in, among other things, GrINS, a 20,000 line authoring environment for transportable hypermedia presentations, and a 5,000 line multimedia teleconferencing tool, as well as many many smaller programs. See the collection of multi-media project papers.

    Digital Creations
    * A long-time sponsor of the PSA, Digital creations develops with Python - and also makes some of their Python software available for free!

    ILU
    * ILU (it's spelled Inter-Language Unification but it's pronounced eye-loo) is a (very) CORBA-ish multi-language object interface system. It has bindings for Common Lisp, C++, ANSI C, Modula-3 and Python.

    Automatrix
    * Musi-Cal(tm) is the first online calendar that provides easy access to the most up-to-date worldwide live music information: concerts, festivals, gigs and other musical events. It is maintained by Python scripts. So is their Internet
    Conference Calendar.

    Nightmare Software, Inc.
    * Nightmare Software builds 32-bit Windows software with Python - and gives some away!

    Infoseek
    * Ultraseek Server, Infoseek's commercial search engine product, is implemented as an elaborate multi-threaded Python program with the primitive indexing and search operations performed by a built-in module. Most of the program is written in Python, and both a built-in spider and HTTP server can be customized with additional Python code. The program contains over 11,000 lines of Python code, and the user interface is implemented with over 17,000 lines of Python-scripted HTML templates. Try it out on the Python.Org web search page or download an evaluation copy from Infoseek Software.

    eGroups.com (previously Findmail)
    * A comprehensive public archive of Internet mailing lists, implemented in pure Python. Latest statistics from Scott Hassan: 180,000 lines of Python doing everything from a 100% dynamic website to all email delivery, pumping out 200 messages/second on a single 400 MHz Pentium!

    DataViews Corporation
    * DataViews Corporation in Northampton, Mass., have been using Python internally quite a bit.

    LLNL
    * A group at the Lawrence Livermore National Laboratories is basing a new numerical engineering environment on Python, replacing a home-grown scripting language of ten-year standing. Paul Dubois is a central figure in that effort.

    NASA
    * Johnson Space Center uses Python in its Integrated Planning System as the standard scripting language. Efforts are underway to develop a modular collection of tools for assisting shuttle pre-mission planning and to replace older tools written in PERL and shell dialects. Python will also be installed in the new Mission Control Center to perform auxiliary processing integrated with a user interface shell. Ongoing developments include an automated grammar based system whereby C++ libraries may be interfaced directly to Python via compiler techniques. This technology can be extended to other languages in the future.

    IV Image Systems AB
    * IV Image Systems uses Python for many projects, including a satellite image production system for the Swedish Meteorological and Hydrological Institute (SMHI) (see next entry).
    This system receives raw data from several weather satellites, and produces images for many purposes, including the satellite images used for the presentation of the daily weather on Swedish TV 4.
    For more information, contact Goran Bondeson.

    Swedish Meteorological and Hydrological Institute
    * SMHI is the home of the Swedish civilian weather, hydrological and oceanographic services. It's Python-based remote sensing software for automatic product generation, using NOAA and Meteosat data, provides information to bench forecasters, objective analysis schemes, and commercial interests such as the media. At SMHI's Research & Development Unit, a Python-based "Radar Analysis and Visualization Environment"


    --

    --

    --
    Don't like it? Respond with words, not karma.
  5. Re:Why hasn't Python taken off? by Laxitive · · Score: 5



    I think you're underestimating the popularity of python. Python still has to ramp up a decent 'community module' system like perl has. Check out 'the Vaults of Parnassus' (google is your friend). It has not existed for too long, but there's a good set of useful modules there.

    The fact is, when you see python, there is'nt "one magic application" that suddenly jumps out as "the perfect thing" to use python for. I think that's because sucn an application does not exist. Python is a bit like C - it's an extremely good general purpose programming language that does a lot of things well.

    C is a simple, efficient, fast and portable low-level language for doing generic system programming.

    Python is a simple, object oriented, modular, clean language for doing generic application programming.

    Have you ever tried to do a large-scale project in perl? Something with a few ccomplicated nested data structures, a multiple threads modifying the same data model, some serious io handling? All of that rolled into one farm fresh breakfast unit. It's hard to do in perl - because perl was not designed with such uses in mind. It'd be LONG and annoying in C, because BSD sockets are a pain to work with, and C generally makes many things long and tedious (if you want to do them "right" anyway). C++ would be quite a bit better than C, but you'd still have to deal with the C system APIs, which will still be annoying. Java would probably give you quick development cycles, but nowhere near as quick as python.

    I consider python as lying somewhere in between scripting languages and compiled languages. It lets you do structured programming and gives you a powerful OO structure and modules galore, but keeps the syntax simple and clean. To me, it's a lot closer to Java than Python (this stand is supported a bit by Jython).

    It fulfills the 'glue' properties more than perl does for me. I see perl as sed with better syntax and modules (and I like perl, and use it quite a bit, dont get me wrong). Python is something you can use to quickly and painlessly write good, maintainable, modular, portable code.

    -Laxitive

  6. Re:Why hasn't Python taken off? by platypus · · Score: 3

    ... and it's used in ESR's CML2 the new kernel config system to come in 2.5.

  7. Re:Why hasn't Python taken off? by Ambassador+Kosh · · Score: 3

    I think many overlook it not because it is not used as much but because no one makes a big deal out of its use. Zope is a good example of this. It is used in some very large organizations and it is a very powerful product. Many still confuse it with a web server though when in reality that is only the smallest part of its capabilities. What it really is good for is publishing python objects to the web, other servers via xml-rpc and other number of other things.

    I know a lot who use python because it gets the job done cleanly and efficiently however they rarely make a big deal out of which tool they used and most don't care what the solutions was coded in since it works pretty much without fail. Kind of how some people don't know their servers run unix because they have never had a need to know but everyone who has a windows server pretty much knows it because the server calls attention to itself.

    Do to the structure of python code tends to be designed rather then hacked together which in the end gives better running programs that have fewer bugs and are more modular, thus easier to fix and extend.

    --
    Computer modeling for biotech drug manufacturing is HARD! :)
  8. Man, you hit the nail on the head. by Pengo · · Score: 4

    He might be a great advocate, but lord.. probably the only Orielly book i felt cheeted on. (Maybe the only other one of from ORielly would be mastering TSQL) :)

    *Sigh*


    --------------------
    Would you like a Python based alternative to PHP/ASP/JSP?

  9. Re:Why hasn't Python taken off? by costas · · Score: 3

    Let me add to the list a 3,000 line package written in Python by yours truly that wraps around Microsoft Visual SourceSafe so that VSS can be used by Unix clients (python CGI talking to a python client script).

    If anybody's interested I can put the source up for everybody to see/use (no docs though :-)...


  10. Python hasn't taken off? by KurtP · · Score: 5

    Where have you been hiding? Python has gotten pretty interesting, especially the nifty stuff you can do with Zope and Numeric Python. As for a CPAN equivalent, you may want to check out the Vaults of Parnassus at http://www.vex.net/parnassus/

    For a language that hasn't taken off, there's a lot of stuff to be enjoyed (over 900 goodies at VoP last time I checked). Nifty net stuff, interesting numerics, GUI systems, sound and graphics libraries, and so on. Not to shabby.

    I used to hack a lot more in Perl, but it got to the point where I do anything more than a few hundred lines in Python instead. It's just a lot easier to get it working and keep it working in Python.

  11. Why hasn't Python taken off? by Speare · · Score: 5

    I heard about Python several years ago, from a guy who was at Xerox PARC at the time. Yet today, the Python movement doesn't seem to be much farther along.

    Java's lost some oomph in the marketing steamroller but gained some badly needed credibility with servlets.

    Perl has gone from an obscure report munger to a community powerhouse. You want a feature? Perl has it.

    Python's been ported to just about everything including PalmOS, but the shared source code I've found has been extremely limited or arcane. Yes, there are modules out there, but nothing like CPAN or gamelan or even MFC/C++ codeguru.

    From the little I've investigated of Python, at three different occasions, it's clean, fast, easy to embed, easy to extend, easy to code for. Some people balk at the indentation style but that took me 30 seconds to get over. Some people balk at the shell interpreter aspect, but that felt like a prolog or lisp pmachine interface to me.

    I'm not flaming, just wondering, what has Python been doing with itself, to have grabbed so little attention in the world stage?

    --
    [ .sig file not found ]
    1. Re:Why hasn't Python taken off? by captaineo · · Score: 3
      The fact is, when you see python, there is'nt "one magic application" that suddenly jumps out as "the perfect thing" to use python for. I think that's because sucn an application does not exist

      I would say Zope (and persistent object databases in general) might be Python's "killer app." I've been doing a bit of work on a similar database system, and certain aspects of Python make it very well suited for this kind of stuff... e.g. a very clean object model, override-able __getattr__() and __setattr()__ methods, consistent reference semantics throughout, etc. Python is the perfect toolbox for building persistent and distributed OO systems.

      About the only extra things I've been wishing for are optional static type-checking and C-like syntax (I like my curly braces, so shoot me =). Static type-checking is really necessary because I'm finding that I make just as many type errors in Python as memory management errors in C =).

      Dan

    2. Re:Why hasn't Python taken off? by teg · · Score: 3

      It's used for more and more projects in Red Hat Linux - it's used in the installer (since RHL 6.1), it's used in up2date, it's used in our new batch of configuration tools. If there needs to be a GUI, glade and python are there from the start.

    3. Re:Why hasn't Python taken off? by iomud · · Score: 3

      We know what perl is good at, everything. We know what PHP is good at the WWW. What _is_ python good at? Maybe it just hasn't found it's niche? I don't mean to sound like I'm undermining the power of python I am sure it's very capable but where does it excel? What job makes python the right tool?

  12. My Guess by Tom7 · · Score: 4

    I think people prefer perl because, given all its intricacies and built-in features, programming in perl is fun. It's an adventure.

    Programming in python might produce better code, but it is enjoyable to write? Most write-only code (ie, scripting tasks) are tedious if you write them the "nice" way. Hackers find (perverse, perhaps) joy in writing these clever minimalist perl scripts that rely on its various uncivilized features.

    When it comes to writing big code, though, writing in any scripting language is problematic for a number of reasons. (Not the least of which are performance, lack of modularity features, and difficulty in producint "stand-alone" apps.) So even if Python may be a nicer language in almost every respect (and who's to say if it is?), that doesn't mean anything, because scripts were meant to be dirty.

    In other words, when it comes to scripting languages for use by hackers: terse, tricky, stateful, but "powerful" languages win.

  13. He mentions pygame a couple times by shredwheat · · Score: 3

    Ok, pygame is my project which wraps SDL for use with python. The project reached version 1.0 about a month ago. Just recently I was able to release SolarWolf, which is a full featured action/arcade style game. (it's worth your time in gameplay too) :]

    This type of project goes a good way to show python is more than up to the task for quick paced arcade games. Currently pygame is adding support for the pyopengl modules, which is looking surprisingly good in terms of performance.

    Honestly, seeing my humble project listed in the "What do you think are the most exciting developments going on in Python right now?" answer has made for a sweet day!

  14. Jython#PerlC++XMLNET is the Future by benspionage · · Score: 4

    Hahahahahaha! Python, Perl, Java, .NET, hot mamas, pimp daddies, you belong to me.

    I own your buzzwords .... I own your languages ......

    Ladies and Gentleman I introduce the language, the platform, the enabler that will unite the world ..........

    Jython#PerlC++XMLNET

    I have a prototype and some examples shown below, in java, for you to realise the power and show that I am not talking out my arse:

    public languagePlatformEnablerAndAllRoundGoodGuy Jython#PerlC++XMLNET extends Java implements Python, Perl, C++, C, C#, .NET, XML
    {
    private boolean worldPeace = false;
    private boolean noMorePoverty = false;

    public void solveWorldPeace()
    {
    // World peace brother!
    worldPeace = true;
    }

    public void solveWorldPoverty()
    {
    // No more poverty man!
    worldPoverty = true;
    }

    public void cureCancer()
    {
    // With the powerful new feature of M$ Office 10 who needs cancer!
    new MSOffice10().setCancer(false);
    }
    }

  15. I agree totally. by Flying+Headless+Goku · · Score: 3

    I've got that steaming pile of excrement right here, propping up my monitor to eye level. The major practical example? How to implement a stack.

    In Perl, you want a stack? Use push and pop on an array. Want a queue? A deque? A shelf or scroll? Use shift and unshift too. It's all done in C, and faster than anything you can write yourself in a scripting language, even though it's all random access, too. In Python, you write a class, making sure you provide all the methods you will want to use with it, and carefully considering the performance issues of various methods, because you're working around a tremendously slow interpreter to make a basic data structure that should be built into every scripting language.

    (incidentally, the multifunction list of Perl is probably my favorite feature, even over regexps and hashes; I use stacks and queues for everything, far more often than I use random-access arrays)

    That's the impression I got from this book anyway. I was very enthusiastic about Python before I read Programming Python. To this date I don't know whether Python really only looks good until you actually try to use it, or I just got that feeling of utter hopelessness from the book.
    --

    --
  16. Here's what Larry Wall thinks... by reposter · · Score: 3

    "Perl is worse than Python because people
    wanted it worse." - Larry Wall, 14 Oct 1998