Christopher Smith wrote:
Andrew Lentvorski wrote:
For web stuff, C++ is completely at the
bottom (you would think that something so popular would have spawned an
interpreted version rather than completely new languages, no?).
Actually, there are interpreted versions of C++ available. Cint and Ch.
Ch is non-Free. Cint has more than a few criticisms leveled at it--the
biggest one being how strongly it is welded to Root.
I would recommend Lua over these any day of the week.
Some would argue Java and C# are interpreted versions of C++ as well. ;-)
Not a bad argument, either.
Yeah, they did the rewrite in 1998. The original post was referring to
those fantastic initial browsers developed by 1994 providing some
overwhelming advantage to browser projects inheriting that codebase.
At no point did I claim overwhelming advantage.
Okay, so given the horrid problems the Mozilla project has with its
memory management, why isn't the web littered with
Python/Haskell/Java/whatever web browsers that are far more feature rich
and performant, not to mention more secure and bug free?
Because we have plenty of web browsers? Because the geeks no longer
consider them interesting? Web browsers are exercises in GUI
programming, which geeks traditionally hate with a passion.
Developers, particularly on open source projects, *love* to take such
things on. In particular, they love doing that more than they love
working with obviously bad code. Frankly, it isn't nearly as much of a
risk as you are intimating *if* the language offers nothing but
advantages for solving the problem at hand. Heck, that's how stuff ended
up being written in C++ in the first place.
I disagree. Things got written in C++ because new projects got started
in C++, not because someone rewrote a project into C++.
I can't even think of any projects that followed that route ...
Wait, actually, I can. Mentor Graphics rewrote their EDA CAD tools from
C into C++ in the 1994 timeframe.
Inertia is powerful.
So are better tools. By your reasoning it is shocking that almost all
software isn't written in assembler.
How long did it take to dislodge assembler? How many companies failed
before that lesson got learned? It was quite a bit of pain to drill
that home (Excel wiped out Lotus by moving off of assembler first ...)
Actually, that was the original plan, as it turned out they ended up
rewriting all but a few tiny bits of the codebase. Several developers on
the project have commented on the fact that it actually would have been
done sooner if they'd not started with the Netscape 4.x code.
And this refutes my point, how?
Although, Netscape is the poster child for the worst of both worlds.
They dumped a huge chunk of their codebase without dumping it *all* and
revisiting their initial decisions.
Hey, don't forget Safari. That one was implemented in C++ because those
guys at Apple are such big C++ fans... er.. ;-)
For the code *Apple* developed, it was all ObjectiveC.
As for the KDE guys... they've got lots of projects implemented in
languages other than C++, but they seem to prefer it for their core
components. That aside, you have to ask yourself, given their inherently
flawed choice of language tools, why they have been so successful as
compared to say the GNUStep project, which even had an initial inertia
advantage over KDE in the beginning.
Did it actually? I had never even heard of GNUStep until dealing with
OS X Cocoa stuff. NeXT may have had Studly Caps, but nobody I knew ever
actually had one--if you were going to spend that much, you either got a
Macintosh or a Sun. If you had a Sun, you either programmed in
Suntools/SunWindows or X11/Motif.
However, it seems that anyone enlightened enough to see the advantage of
Java over C++ is also enlightened enough to see the advantage of
Tcl/Perl/Python/etc. over Java.
Yes, and this explains the predominance of these languages in
implementations of core components of the 'net like... mail, dns, web,
bittorrent (I'll give Java props for actually having some decent
bittorrent implementations), etc.
So, the one thing mentioned actually less than 5 years old and is an
application (as apposed to system software)--Bittorrent--is
demonstrating significant usage of Python and Java.
You're kinda making my point for me.
Even worse, nobody seems really interested in correcting them. There's
no particular reason a C/C++ implementation couldn't gain those things.
However, anybody who would be motivated to do so seems to realize that
other languages have already done so and have more benefits besides.
Actually, D is basically those things minus static compilation, and it
could be done even without that if it were deemed important.
I looked at D, and it looks okay. It's just coming to the party
*waaaay* late. If D existed 10 years ago, it might have gotten more
traction. We'll see how well it does in an ecosystem with Python, Ruby,
etc.
-a
--
[email protected]
http://www.kernel-panic.org/cgi-bin/mailman/listinfo/kplug-lpsg