Slides from Brendan Eich's Mozilla Futures Talk at Developer Day Now Available
Monday March 1st, 2004
Last Friday saw the first Mountain View Mozilla Developer Day since the formation of the Mozilla Foundation. The Foundation's press release about the event gives an overview of the talks that took place and James "Kovu" Russell has posted a review of some of the presentations.
#23 Java for Eclipse, Server & UI should be a priority
Wednesday March 3rd, 2004 6:01 AM
You are replying to this message
I think Java should be the top priority as a programming language for Mozilla apps for the following reasons:
1. The Eclipse tool is written in Java, and plugins for it are written in Java. Most back-end applications nowdays (in the non-Microsoft world) are also in Java (Servlets/JSP, etc), so if we also make programming XUL/Mozilla with Java we give developers a single language to learn all the way from the front end to the backend, which is important to productivity.
2. Java is mature, stable, solid, high-performance (if you haven't done anything in Java and have only read others who haven't done anything with it either latelly, please don't comment on this), has a huge user base, and the specification is fully open (anyone can grab the Java spec and create their own Virtual Machine and Java APIs without giving a cent to Sun Microsystems). There's even talk this past couple of weeks of IBM and Sun teaming together to create an open-source version of the Java spec. Bottom line: Mozilla can benefit for many years to come from the Java platform, and as most enterprise developers know, Java and Eclipse are the answer to .Net.
3. Let's forget the holy wars among ourselves for a second. Sure perl is awesome for text-processing and other tasks, but it syntax is something that no enterprise developer creating a 100,000-line application should use. Perl has its purpose as glue, I wouldn't use it for large-scale apps (although I'm not saying it cannot be used for large-scale apps, of which there are obviously a few out there). My point is: Java is easy, object-oriented, and it promotes good, clean, code.
4. Java has a built-in documentation system called JavaDoc. This is extremelly important in open-source projects where documentaton usually takes a back seat. JavaDoc is an incentive for programmers to spend a little time and write documentation. Bottom line: Java promotes better documentation.
5. Java is extremelly cross-platform, and extremmely Linux and Windows friendly, and there are great mySQL and postgress JDBC drivers available.
6. Java can play real well with both JSP (Java Server Pages) and PHP (which I think is a great technology by the way).
7. Java has the best XML and Web Services support of any platform out there, even Microsoft. Most XML/SOAP/etc tools are written for Java. And Web Services is the future of distributed apps.
8. Java can play nice with scripting languages to further enhance productivity. For example, there's JPhyton, and nothing stops perl from being the orchestrator of Java programs on the back end.
9. Java is fun to write programs to, and many sophisticated things (like threads and pools) are dead-simple to do in Java. Give it a try, I did and I have to admit that I think twice before doing anything in C or C++ anymore!
10. This is smoething that most hard-core developers seldom think about, but it is one of the most important things to think about: Java has the minds and wallets of the people who take/make decissions, i.e.: upper management and marketing. They might be boneheads (from a developer's point of view), but the bottom line is that if they are not sold on something they won't do it, and today besides technologies like Linux, XML, Mozilla, PHP, Perl, Ant and mySQL to name a few, Java is probably one of the few things that has gotten wide industry support. IBM as everyone knows has a huge investment in Java and Linux, and so does Oracle, Sun, and many other industry giants. So if Mozilla can piggy-back to Java's mindshare and benefit from it, so be it.