Articles by Bruce Eckel
Formerly Web Log, see new web log
7-02-03 Python Answers
- Do you think Python is good enough for large projects?
I believe that Python is one of the best possible choices for building a system -- you can create the system faster than anything that I know of, so you get it working in much shorter order than with other languages. It's very possible it will be good enough the way it is, but if not you can performance-tune it by writing bits of C++ code (after profiling, of course) and connecting them with Boost.python.
- What are your views on Python for Object-oriented programming?
- How do you see the future of Python in terms of penetration into the programming world?
Because Python hasn't been an official language of any one company (contrasted with Java and C#, for example) there hasn't been any marketing branch telling you how wonderful the language is. People have learned on their own and told others, etc., so the growth of the language hasn't been this big jump like when a company gets behind it and is willing to tell you anything to get you to adopt it. We don't do that in the Python community. Tim Peters (one of the core team, often rumored to be a robot, but I've spent time with the real version so I can attest that if he is a robot he does have a flesh proxy) is famous for encouraging people not to use the language if they don't like it (imagine what would happen if someone did that for one of those other languages. Or better, try it yourself and feel the heat from the true believers).
At the last Python conference, Kevin Altis and some others announced that they wanted to be more active in promoting Python, and are moving in that direction. Here's a Weblog entry from Kevin about Python and where it has been successful in large projects.
And it's also worth noting that Python is a favorite of Eric Raymond, author of The Cathedral and the Bazaar, and one of the leading advocates for open-source. The story and tutorial of how he came to use Python is here.
- There is also this huge Web Services momentum in the industry. Do you know if we can do quality web services in Python? If so, could you send me some instructions to build one?
- What's your opinion of Zope as an application server?
I've been using Zope on this server for several years now. It took awhile for me to settle on Zope, and much of the choice was because it was written in and uses Python. Before that I was using Apache and writing CGIs first in C++, then in Perl, then in Python. The primitive nature of that setup was actually helpful at first because it gave me a solid grounding in what was going on, but it also rapidly became tedious. Zope is definitely a higher-level way to do things and a better approach to an application server than the alternatives, which always feel like cobbled-together collections of existing tools.
I've become very fond of Zope because I can try things out without much effort. However, the Zope2 learning curve gets suddenly steep and there are a lot of disjoint places. Fortunately, Jim Fulton and the Zope team know about and agree with this, and the prime goal for Zope3 is to make it programmer-friendly. It's a big project but I think they're doing it; I participate in the Zope3 sprints whenever I can in order to seed the ideas in my mind.
I got past enough of the learning curve that I can tap into the power of Zope2 when I need to, so naturally I'm rather tied to it. However, I'm looking forward to the much greater possibilities of Zope3, and I think when that comes out it will be much more accessible for larger numbers of programmers.