Christopher Smith wrote:
When the Mozilla project started, the world was crying out for an
alternative to IE, particularly for non-Windows platforms. There was a
huge amount of developer interest. Sure there were tons of alternative
browsers out there, but they all sucked for one reason or another.
People really wanted a browser that sucked less, and a lot of people
seemed to think they could build one (indeed, a lot of the criticism
levied at the Mozilla project in the early years seemed to be along the
lines of: "I could do this way better").
And yet no one did build a better browser, and almost nobody helped
Mozilla. One of the complaints that jwz made a *long* way back was how
little help the community supplied for a very long time.
I remember a couple of those "browser" projects. Generally people
thought they could do a better job. Then they hit font rendering.
Suddenly, things got *hard* and the developers weren't so interested.
Right, so why, in say 1997, didn't someone sit down and say, "C++ sucks
for writing browsers, we should really build one in language X." and
then start a new project? Answer: they did, and with the possible
exception of OmniWeb, they failed.
So, why, if there was so much interest, didn't somebody sit down and
write a better browser than Mozilla even using C++. With the exception
of Konqueror, they all failed. And Konqueror didn't start until 1999
when the support libraries were a *lot* more mature.
Maybe because writing a browser is an annoying PITA and doesn't have any
hacker props?
Because, if they derived no advantage from the inertia of the Netscape
4.x code base, then surely they should have been beaten by someone
starting from scratch with a better language tool. Certainly enough
people tried that there was a good chance that would happen.
*Did* they try? I could be convinced, but I definitely don't remember
anyone other than Mozilla for a long time.
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.
Yup, and despite that, they're one of the best if not arguably the best
browser available on the market today. How can you screw up that badly
*and* use a tool that is so horribly wrong for the job and still beat
everyone else?!
They didn't *beat* anyone. IE stood still for how many years while
Mozilla picked its broken bits up off the floor? And who else had a
credible alternative?
And Firefox only really got going after ActiveX became an active disaster...
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.
Wait, are you acknowledging there that C++ perhaps isn't inherently
worse than other languages for systems software?
What I'm pointing out is that in an arena where business and inertia
considerations don't dominate, even the massive differential in
programmer numbers isn't enough to put C++ in the number 1 spot.
Postfix and Qmail were both written from scratch, out of disgust for
Sendmail, 8-10 years ago. They were both immensely successful at being
better solutions than Sendmail for most people, in particular in the
areas of security, configuration and performance. They achieved this
status within a couple of years of their initial release. Why aren't
they written in some other language?
First, you should go read DJB's postfix retrospective in which he opines
that he should have chosen a better language. Second, you keep picking
system software which is heavily tied to an operating system rather than
application software. However, ...
I would argue because there was nothing else available.
Come on, even C++ wasn't really a viable contender in 1997. The STL
appeared in 1994, and most compilers couldn't cope. gcc didn't have a
hope. It took *years* to straighten that out.
You are treating this like all of these languages have been around since
1980. In 1997, the only options that had known traction were Fortran,
C, and Ada. Perl 5 (which only came out in 1994?) was finally
entrenched for syadmin, and Tcl had some adherents in the EDA space.
Neither was acceptable for general use programming at the time.
C++ was just finally beginning to look like an alternative. Java was
also coming online in this timeframe.
Why can't someone come up with an
even better implementation using some other language?
Because what exists is good enough?
Postfix and Qmail exist because sendmail was *that bad* in terms of
security. That was the itch.
What is the motivation to rewrite Postfix or Qmail in another language?
Even *if* you find an itch to scratch, even a x10 increase in
development speed won't be enough to overcome the sunk cost in terms of
development and community for years.
Similarly BIND and
Apache have been maligned and people have come up with solutions that
are demonstrably better for most people.
Really? So why hasn't *any* major open-source OS removed BIND from its
resolver libraries, hmmmm? Apparently BIND isn't *that* bad.
There are community costs to replacing an existing program.
The moment those costs don't exist, suddenly everybody starts running
for languages other than C/C++.
-a
--
[email protected]
http://www.kernel-panic.org/cgi-bin/mailman/listinfo/kplug-lpsg