-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Chuck Esterbrook wrote: > On Nov 12, 2007 3:20 AM, Christopher Smith <[EMAIL PROTECTED]> wrote: >> Andrew Lentvorski wrote: >>> Christopher Smith wrote: >>>> Andrew Lentvorski wrote: >>>>> It's the C++ folks who should feel the threat. C++ really needs to >>>>> die at this point. >>>> Yes, they should be really threatened by all the other languages that >>>> have been used to implement full featured browsers. Languages like...... >>>> Okay, maybe they aren't so worried. ;-) >>> Yet businesses who are running much larger codebases seem to be all >>> Java based. Gee, I wonder why .... >> You of course would be referring to business like Google, Adobe, Yahoo, >> Microsoft, Symantec,..... ;-) > > Google does, in fact, run quite a bit of Java and Python (and C++). I > believe Amazon is mostly Java. > > Yahoo started their mail application in Python for rapid development > and, after it matured, reimplemented it in C++ for performance. Sadly, > too many languages gravitate towards easy/slow or annoying/fast.
I work at Google, I used to work at Yahoo, and I know a bunch of people who worked at Amazon. There is a *lot* of C++ in 'dem 'dar hills. Sure, they use other languages, as one would hope/expect. The point being, they all seem to find significant utility in *also* using C++ for a very significant chunk of their development (indeed most of their most key, proprietary code is implemented in C++). >> There were lots of programming languages one could aspire to write a >> browser in back in that era. Heck, before Java took over the scene >> everyone was trying to be the "alternative to C++". Certainly, there >> were also quality implementations of Objective-C available for free. You > > Well, but they *did* write a browser in Objective-C: > http://www.omnigroup.com/applications/omniweb/ I love almost everything the Omni guys do. That said, last I used that thing it had trouble with all kinds of websites. Has it come along since then? > It was originally for NeXT and now for Mac. Of course, since it runs > only on Macs and is not the default browser there, it will never be > popular. But please don't say no one ever wrote a fully professional > web browser in anything but C++ or C. That's not true. I dunno if I ever consider any browser "professional", but I'll assume you mean by that the same as I do when I say "full featured". > You might say it's hardly used, but see below for why that doesn't matter. No need. I agree that popularity of an application is far from a relevant criteria. If there are functional problems with the implementation that impact its popularity, that's a different story. >> In fact, browsers were written in many of the languages I mentioned, and >> they all tended to suck compared to Netscape or even second tier browers >> like Mosaic, IE, and Cello. There was a reason the Netscape folks chose >> C++ from all the language choices they had back then. > > And popularity was one of them. Popularity of a programming language comes from somewhere. If C++ is really that horrible and unworkable, people wouldn't use it for projects. Sure, it is far from perfect, but it seems to fall in to the "good enough" category more often than not. > And cross platform was another. With some work, you can get C++ to run > on Windows and Unix. Back then that wasn't the case with, for example, > Delphi. Hey, cross platform is an entirely valid and fantastic feature of a language. Indeed, it is what makes putting up with all those annoying differences between implementations worth it. ;-) >> In truth, modern browsers are built on codebases that were largely >> rewritten from scratch in the late 90's, so there was a chance for a new >> language champion to emerge. Furthermore, the codebases of older >> browsers were so small that it didn't take much effort to reach feature >> parity of them (indeed, there was an old Dilbert comic strip that >> jokingly made reference to the notion that typing randomly at your >> computer for a few days would produce a functional web browser). > > That last statement is false. Don't you remember the *huge* gap in > time between releases of Netscape Navigator when they rewrote it? 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. I'm sorry, but I wrote a browser back then with a college roommate, and it just wasn't that hard. Hell, the timeline between when Netscape was founded and Netscape 0.9 was released was 6 months (admittedly, they had people working on it who'd written a browser before, but there is no reason why you couldn't have the same kind of people developing a browser in a different programming language) and it was already better than the others! There was so little code to put in to a browser the 2.0 version added a *mail client* for goodness sake! But your mention of the huge Mozilla rewrite is exactly my point. They ended up keeping basically zero code from the original code base, so it was effectively rewritten from scratch in 1998. They, or someone else, *could* have implemented a browser in some other language at that point, and been at no additional disadvantage compared to the Mozilla project (and presumably would have an advantage since they had a significantly better programming language to work with). Despite this, Mozilla ended up being the #2 browser out there, and probably one of the best working ones. All of the ones that I think of even coming close to it are also written in C++: IE, Opera, and KHTML-based browsers. >> Java in particular has no real excuse beyond language limitations. The >> HotJava browser was written in 1994 and released in 1995 (oh, and Java >> was available for free in 1995 too). It was briefly successful due to >> its unique support for Applets, but rapidly lost favour once other >> browsers obtained the capability. Sun made various attempts to >> revitalize the project, and never drew much interest. At the same time >> that the Mozilla code base was open source, Netscape open sourced >> "Jazilla", their own in-house Java-based browser effort. > > Yeah well, I'm not really a Java fan. Sun had severe quality issues > from the beginning and I ditched Java early on for Python. But it's like C++ with automatic memory management.... so surely it would at least be better than C++ for almost any project, right? ;-) >> While having most modern browsers implemented in C++ doesn't prove much >> of anything in terms of its superiority, it does prove much with regards >> to arguments about its inferiority. If other languages were so obviously >> better than it, surely we wouldn't all be using C++ browsers, e-mail >> clients, word processors, spreadsheets, etc. Surely the huge technical >> disadvantage you suggest would ensure that developers would come up with >> better solutions in other languages, or never think to choose C++ for >> their projects to begin with. > > I don't agree with this either. NeXT was the best operating system > back in its heyday, but even when they ported it to the PC it never > became popular. > > Objective-C has been a better language than C++ this whole time, but > it's not the most popular. Again, I'm not arguing that C++ is the best language. Far from it. I'm merely suggesting that it isn't quite so completely useless. It is popular to trash it largely because it is so widely used. Sure other languages are better (indeed, because of C++'s popularity, it nearly impossible for a language that is worse than C++ to survive as anything but a niche or legacy language), but they clearly aren't overwhelmingly so. - --Chris -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.6 (GNU/Linux) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org iD8DBQFHOKRbOagjPOywMBARAr3UAJ0fm+/5f6sQjuzdgDt5wv5SWiIG8QCg3bWM amrAAb7jX4PsSV9nGUq8XiA= =9dK3 -----END PGP SIGNATURE----- -- [email protected] http://www.kernel-panic.org/cgi-bin/mailman/listinfo/kplug-lpsg
