Posts Tagged ‘Java’

Steve Jobs Dismisses Java As “Heavyweight” in an Age of Lightweight Computing

星期六, 1月 5th, 2008

Is Java a “Ball and Chain”?

These are curious times just now for Java. In one and the same month, Steve Jobs stands up, and declares – referring to language support on the new Apple iPhone – “Java’s not worth building in. Nobody uses Java anymore. It’s this big heavyweight ball and chain.” And in the same month a company like Backbase, whose AJAX JSF Edition is aimed at “Java developers who want to leverage the JSF standard by creating a next generation rich component-based AJAX presentation tier,” wins a ‘Technology of the Year Award 2007′ in the category ‘AJAX Toolkits.’

So, is Java toast, history, finished, a sucked orange…or does it have plenty of “legs” yet, and Jobs’s remark was just a temporary techno-backlash such as all programming languages must resist from time to time?

Bruce Eckel, who has since 1986 has published six books and over 150 computer articles, views this backlash as inevitable, foreseeable almost:

“This backlash has only been necessary because of Sun’s death grip on the idea of ubiquitous, omniscient Java. It was admirable once, but a language only evolves if its designers and advocates can acknowledge problems. Pretending that a language is successful in places where it’s not is just denial.”

But the Jobs declaration strikes as some as being a little incongruous.

“Am I the only one that finds this interesting since the format Apple is supporting for HD content is BluRay, which uses Java for all the interactive menus or BD-J discs,” notes Danny Mavromatis. In other words, Jobs “is supporting a next-gen format which supports a technology that he claims nobody uses anymore.”

Jobs’s remark was made in an interview with New York Times technology correspondent John Markoff, but there must be more than a suspicion that it was calculated to help generate exactly the kind of massive publicity that will be necessary if Apple is to come anywhere near selling the 10 million iPhones that Jobs was predicting for 2008.

Richard Sprague offers a cautionary tale:

“I remember the lessons I learned working with the Newton team many years ago.  I was in Apple’s marketing department at the time and we did this big fancy user study which basically proved that nobody would buy the thing at the price and functionality we were building.  So what did we do?  We shoved it into the market anyway because it was “cool”.  Cool is great, but you still need to make phone calls.”

Back to Eckel, though. Here is his take on a major flaw in Java versus AJAX:

“So Java has been around for 10 years and applets are not the primary way that we interact with the web. I think the main reason for this is the installation problem, another area of Java that wasn’t well thought-out. In fact, why do we like AJAX?

It’s clearly not because JavaScript is so easy to work with — JavaScript cross-platform problems are the reason people have avoided it in the past. AJAX is popular because we know that the necessary software for the client side is already installed.

Someone had to figure out how to deal with the cross-platform issues for JavaScript first, but if JRE installation was trivial, everyone might have just created Java applets. But they didn’t, applets are not ubiquitous, and everyone got excited about AJAX instead. So AJAX became the favored technology for RIAs.”

According to Eckel, the obvious contender, instead of Java, for building RIAs is Flash, and Flex in particular.

“It’s clear that we can’t wait for Sun to fix all of Java’s problems,” he writes. ”Open-sourcing Java might, eventually, have a huge impact on repairing Java’s deficiencies. For example, work on the JMF might get resurrected. Maybe installation issues will even be fixed someday. The possibilities might be limitless, but if you need to solve problems now, then the solution is to hybridize parts of the language.”

By way of explaining this concept of “Hybridizing Java,” Eckels explains that in fact we do this already:

“You don’t insist on using a Java database for an application; you use a specialized system like MySQL or Oracle. Sun is directly supporting the development of JRuby for hybrid Java/JRuby programming. We are seeing other special-purpose languages arise to solve specialized problems. Why insist on using a Java library for UI if a specialized system solves the problem better?”

Let’s give the last word to Steve Benfield, veteran technologist, who summarizes what he calls his “technology lineage” as PowerBuilder -> Silverstream -> J2EE -> AJAX -> Flex.

“If you are a Java technologist who thinks anything Flash isn’t enterprise ready,” Benfield states, “then you need to reshift your thinking.” He adds:

“We started using Flex 3 months ago and are rocking and rolling – life is good. We can quickly build the GUI we want, integration to our J2EE/Spring/hibernate back end is seamless, and we anxiously await Apollo so we have a full desktop app.”

Like I said, these are curious – and challenging – times just now for Java.

Original post on http://jdj.sys-con.com/read/331264.htm

Thinking loud about Eclipse and Netbeans

星期五, 1月 4th, 2008

As Eclipse came out it was a revelation for me. It was lean, fast and came with refactoring. These time there was nothing comparable. The commercial “enterprise” tools were overbloated with unnecessary functionality - at the same time essential things like refactoring just didn’t work. Eclipse was the solution and the escape. I actually managed to convert many developers from using e.g. Visual Cafe or JBuilder to Eclipse. Netbeans these days was actually not usable (for me). There were many developers who really liked Netbeans 3.X - but I cannot understand this. Eclipse was just times better. I even tried ForteJ - a commercial variant of Netbeans these days, but some really strange concepts like “mounting Jars” instead of setting up a classpath maked me to go away. I even used Eclipse in official Sun courses on Solaris - the students liked it. What I liked and still like in Eclipse is the puristic IDE, which can be easily extended. It was the directly opposite to the commercial, overblown enterprise tools which were used these days. I switched completely to Netbeans since about version 5.0, not because it is better, but more complete for my needs. I’m working as a consultant, so I had several installations of Eclipse installed, everyone was adjusted for the particular customer. The “plugin hell” begun. I spent to much time to install everything I needed, Netbeans comes with everything I need - and in 99% of all cases my projects could be easily opened by other developers. In Eclipse world there is a lot of overlapping functionality, which is good and bad at the same time. E.g. commercial plugins like MyEclipse overlapp partially with WTP and are/were incompatible with others like EMF. I spent more and more time to figure out such interferences . However I still like the puristic approach of Eclipse and the complete “out-of-the-box” Netbeans experience and started to search for parallels.

The Eclipse model works very like Linux. You have a base, compatible system which can be easily extended, but if like to have more comfort, you should rely on distributions. And Eclipse is working in similar manner. There are already many Eclipse distributions (Yoxos, Codegear, Easyeclipse, Myeclipse) which provide a compatible set of plugins, which can be used for a certain purpose and safe a lot of installation time. However the chances are high, that there will be some fraction moving a project created from one distro to another (Just like porting one linux application between different distros), and you are already somehow dependent on the distros as well.

Netbeans model on the other hand is similar to the Mac or openBSD (with Application Packages) experience. You get not only the base system, but the extensions from one source as well. So the amount of Netbeans plugins/extensions is significantly slower, because everything what you really need is already part of the basic download. Although I prefer Linux over Mac and work with Windows :-) (another story), in the IDE space I enjoy the easy of installation and compatibility between different Netbeans projects. I’m even able to work with daily builds easily - no additional installation of plugins is required. I actually have only few plugins installed on top of Netbeans 6.0 Web & Java EE “edition” (UML, Maven and JavaFX), everything else what I need comes with the download. What I also enjoy now is the pace of development in Netbeans land. It reminds me at the early eclipse days, when I looked forward to every new milestone and installed it immediately. It’s a lot of fun.

In Netbeans 6.0 even the Profiler and Visual Pack are part of the main download, so you can rely on such functionality as well. In Netbeans 5.5.X days you had to download an additional “Pack” for this purpose. The Netbeans extension mechanism is intuitive as well. You can use the search option to find an extension, without knowing from which URL it is actually downloaded (e.g. the UML-support is a good candidate). Even the update mechanism works similar to the Mac. Instead of downloading a new version from netbeans.org, a small icon appears which lets you install the patches incrementally. It works well so far (the first patch for Netbeans 6.0 is available through this channel).

Btw. you can use Netbeans without the extensions as well. Then the download takes only 21MB (just check out the Java SE edition) and the startup of netbeans becomes lightning fast. Btw. if you like to find more about the “out of the box Java EE 5 power” - in Munich at 24.01.2008 I will give a talk about Java EE 5, Patterns, Architectures with (but not about) Netbeans 6.0.

Original post on http://www.adam-bien.com/roller/abien/entry/thinking_loud_about_eclipse_and