Slashdot Mirror


Guido van Rossum on Programming at Python Speed

Bill Venners writes "In this interview, Python creator Guido van Rossum states: 'I'm not particularly worried by the fact that people say you can prototype more easily in Python, but eventually the Java version makes it easier to build a robust large system. You can prototype in Python. Once you've explored the space more, you can do the planning and design that the Java version requires. If you start writing in Java knowing as little as you did when you started writing the Python version, you'll waste way more time exploring than actually building the system you'll eventually build.'"

3 of 27 comments (clear)

  1. Re:Java Comment Out of Context by Phouk · · Score: 4, Insightful

    There's two kinds of prototyping: Evolutionary and exploratory.

    In evolutionary prototyping you develop a quick but not so dirty small version of the program (release early and all that), and then keep refactoring it to improve design, and keep tuning it to improve performance, while adding features. Python + Swig + C for performance-critical parts is, as you say, a good combination for that.

    In exploratory prototyping, you first quickly hack out one version of your program to learn about the user's real requirements, demo it to investors, find out about the consequences of architectural choices and so on. When you know what you want, and that it's worth the effort/money, you throw away your prototype and start work on an industrial-strength solution. Prototype in Python, final implementation in Java would be a "modern" combination for that.

    That's why the Java comment is not out of context.

    --
    Stupidity is mis-underestimated.
  2. Re:So? by Phouk · · Score: 3, Insightful
    Prototyping in java and moving to python won't be bad since you can develop in either relatively quickly.

    I disagree there. Python is much better suited to prototyping than Java, for two reasons:
    • As GvR correctly says, there's simply more text to type in Java, to a large part because of the overhead of Java's static typing (aka "keeping the compiler happy"), but also because Python is slightly more high-level than Java.
    • The Python code will be much more malleable and easy to change around and refactor, for the same reason that you won't have to adapt all your type declarations to keep the compiler happy. On the other hand, all those declarations that make the Java solution harder to change, are the exact same thing that makes it more robust for large programs / team development. You can't have it both ways.
    --
    Stupidity is mis-underestimated.
  3. Re:Java Comment Out of Context by Anonymous Coward · · Score: 1, Insightful

    Me, I'd just write a decently architected Common Lisp app, and then add some type declarations to make it a decently architected and high-speed Common Lisp app...