C++ bad-mouthing (was: Why learn Python ??)
John J. Lee
jjl at pobox.com
Wed Jan 14 21:08:37 CET 2004
Paul Rubin <http://phr.cx@NOSPAM.invalid> writes:
> jjl at pobox.com (John J. Lee) writes:
> > > But at any rate, I thought we were talking about huge projects
> > > involving many programmers, and I don't think Grail was of that
> > > sort at all.
> > Right. Wasn't it a research project? In any case, hardly a
> > large-scale programming effort along the lines of Mozilla!
> Grail wasn't huge but I think any serious browser qualifies as
True, though not on the same scale as Zope, for example (or the others
I list below).
> If you're saying it didn't really fail but actually
> wasn't even seriously attempted,
Not sure what the goals were, but I'm not sure they were to compete
with Netscape and IE. CNRI funding -- "R" for research -- seems to
imply I do remember correctly (one of us should really check the facts
here... oh well, it's USENET ;-).
Do correct me if I'm wrong, but you seem to imply, in saying "wasn't
even seriously attempted", that if Grail wasn't intended to be a
Netscape-replacement, it must have had no purpose at all. That's
certainly not obvious to me.
> ok, that's even fewer substantial
> programs that have even been tried in Python.
The project stopped, according to the tarball, because CNRI didn't
want to allocate more money to it because of low usage compared to,
the big two of the day. Given that, what do we learn from Grail?
Well, what does the *existence* of Grail tell us (along with
similar-size projects like Mailman)? It tells us that projects at
least that large are feasible. What does the *ending* of Grail
development tell us about Python's suitability for development of
large projects? Not a lot: all we know is that it *didn't* run into
the problems that afflict large-scale projects (if you believe the
tarball README, anyway).
Others provided (in a different bit of the thread) at least one
example of a much larger system, solving a problem that would take a
best-estimate of on the order of a million lines of C++ code if solved
in C++. Other people posted examples in an thread last year:
eg. Peter Hansen with another project the same size as Zope (there
have been lots of other threads too, by the look of it -- but I
haven't scoured those for examples). Twisted is at least that big,
too (according to pycount.py run on the old version of Twisted that's
sitting on my hard drive -- again, it seems to spit out multiple total
lines, so I hope it's working right...!).
Of course, the above two paragraphs (implicitly) points out the big
joke here: it seems hard to dispute that reducing the number of lines
of code needed by an order of magnitude is a good way of reducing risk
on big projects. Now, what sort of language would you pick to achieve
that? C++ or Java? Or Lisp or Python?
More information about the Python-list