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.'"
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.
I disagree there. Python is much better suited to prototyping than Java, for two reasons:
Stupidity is mis-underestimated.
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...