A ZDNet article notes that Sun’s JavaOne conference, starting today, will likely have a more somber mood than the one in 2000, when Java was seemingly ruling the world. Sun is facing a two-front assault by Microsoft and Open Source, and though its Java platform is a bright spot in its business plan, many users are clamoring for Sun to cede more control over its direction or even free the source code. Some major Java vendors like BEA and IBM are bypassing Sun’s “Java Community Process” and releasing Java extensions on their own.
The entire IT market is cooling off.
But Java is doing pretty well, in spite of all the adversities.
People are using more lightweight solutions to compete, and that’s great. Some big-shots are talking more openly on not using EJB and heavyweight (and pricy) solutions.
Hasn’t sun already open sourced Java. I swear I saw a story about this at slashdot within the last week.
I don’t think Java is cooling off, I’ve seen more of a case where companies are opting to use Java where it’s needed and not as the complete solution. I’m currently working on a contract job as a .NET developer. Everything on the client is written in .NET, joined to the data layer by Java Web Services. The project I just came off had .NET on the front end and the PDA’s, but used Java as a connector to the mainframe database. To me it just looks like companies are starting to use tools for what they see necessary instead of going with one technology for the whole thing.
Depends on what you mean by “cooling off”. It’s growing with the mobile market, although I don’t know if its slice of the mobile pie is growing. It’s still king of the hill in large corporate portals, etc.
But for everything else in between – smaller application servers and the desktop – yes, Java is going nowhere. Most in-house corporate applications are done at the department level; currently J2EE is perceived as way to complicated for anything of that size. Consequently .NET/Java new projects are at about a 50/50 ratio, which is saying a lot given Java’s established position and concerns about Microsoft even among .NET deployers I’ve talked to.
Java needs a shot in the arm. The current developer base is extremely conservative and wary of any change. I think Sun has been making unwise decisions by listening to them, rather than seeking out the developers who are avoiding Java for now.
I have my own magic remedy for this (it begins with a g and ends with an l). But whatever course Sun takes, it needs to do more than re-vamp the version numbering, release a competitor to Eclipse, and add a few new syntactic features that should’ve been there 5 years ago.
Java was, and could be again, the last best hope of standards-based computing. Its immediate past is bright, its present is lackluster but not terrible, and the future could be bright again.
I would say that
The Apache Jakarta project, and the Eclipse IDE are both the most useful development tools I’ve used in awhile. Both benefit and are primarily used for or on Java. Notice I didn’t include Sun in the above list.
Until Sun decides what direction they’re going in, or at least starts to communicate a consistent message, I’m not sure how much they’ll be contributing to the plus side of Java.
I think right now though that the community around Java and its tools is what’s keeping the language alive and flourishing. Without that, its use would be shrinking I’m sure.
i dont know why they have chosen such a headline (the article has no so much about javaOne either.) True that there are new approaches to java web app solutions like not using EJB’s etc, but this is only change of interest, nothing is cooling off. And on the contrary, this years Javaone has more attendance than before.
(Sorry for that accidental post.)
I would say that Java’s future may not be with Sun. Eclipse is a particularly good example of a “movement” that originated outside the JCP. I don’t understand why Sun keeps holding on to NetBeans, with Eclipse gaining such massive momentum and being technically superior in most regards. Java Studio Creator is pretty nice, but it’s not going to set the world on fire because J2EE is pretty much a niche market to begin with. Futhermore, there are plenty of free, open-source Eclipse plugins to accelerate J2EE development.
> Java needs a shot in the arm.
Yup. But the funny part is, it’s not Sun who’s going to be giving it that shot, but rather GCJ, Classpath, and RedHat (who are contributing a great deal to GCJ & CP).
Sun is actually hurting Java with its silly “copyright/IP license” notice
http://java.sun.com/docs/books/jls/second_edition/html/jcopyright.d… which, paraphrasing, says, “We’ve got this great toy (Java) and if you make a toy that looks like our toy, you have to make it like *we* say. Nyaa.” Of course, it’s currently unenforced (witness GCJ/Classpath/Kaffe) and unenforceable (just read the conditions), but that still scares off projects like Gnome from fully incorporating Java.
It seems like RedHat actually has the cajones to embrace Free Java implementations, in effect telling Sun (regarding their copyright notice) to put up or shut up.
Netbeans is really good IDE for Java. I compared Eclipse with Netbeans and didn’t see big differences in using. Netbeans needs less memory and got GUI editor. And isn’t slower than Eclipse. Maybe it’s less known, but it is Sun’s fault. I think when Sun releases Netbeans 4.0, it’ll be even better than Eclipse.
Please…
Open Source is a type of software license that preserves the freedom of users and programmers alike. It is not a corporation with an aggressive marketing strategy (e.g. Micro$haft).
Sun’s problems arise from a variety of sources, among others the fact that Sun still does not understand how to deal with Open Source and the rise of GNU/Linux, the “commoditization” of server hardware, etc…
The sole reason why people call for Java to be open sourced is because Java, especially on the client-side, is just not good enough. If it had, been Microsoft would never have got .Net even noticed today and Windows development would be dead. As long as Sun insists on keeping control of it, Java will ultimately be doomed to die the death that has befallen other Sun ideas – the Network Computer and the discontinuation of Cobal Cubes (an absolutely ludicrous idea) among them. They will live on only because of open source projects. That is certainly what has happened to Cobalt.
Java just doesn’t not fit well enough into the host operating system, and it is as slow as hell if you are developing any kind of sizeable application; which counts out just about any kind of meaningful application.
Performance is perhaps an issue. There are bigger problems though. One is interfacing with C libraries. This is a must-have for desktop development, and Java makes it harder than it should be. Another is that many of the standard APIs are ungodly to work with. Those are the biggest problems.
I like Java. I’m using it on a project right now using SWT and JET-Excelsior/GCJ. That said, Java has always been dead on the desktop. Swing has always been problematic and there are still issues with runtime efficiency(mostly memory consumption and not speed).
Java has just moved to slow under Sun’s stewardship. I think the only reason that java even got stuff like generics, a foreach construct, enums, etc.. is because of the competition with .NET.
Most java programmers I know think c# is a step up from java as a language and feel that the runtime model is much better. With Mono 1.0 coming out in the next few weeks I think you’re going to see serious competition even on the unix server side of things. Of course, things aren’t that great on the cross-platform gui CLR side of things either. You’ve got gtk#, wx.NET, portable.net’s SWF implementation. They all can do the job, but not really optimally. Too bad that the SWT.NET port died.
Performance is perhaps an issue. There are bigger problems though. One is interfacing with C libraries. This is a must-have for desktop development, and Java makes it harder than it should be
Yeah, it’s trivial to call native code from C# code. I hear that JNI is very slow too going from managed to unmanaged code.
Sun is the one making $$$ off of java.
They have been hoarding it themselves , therefore no better virtual machine. It sucks with memory usage and startup speed.
They made their buck and now they go down with the ship.
Java to me is verbose ,complex and the Java VM is a hog but it is a decent language not meant for the web.
I say competition is good and .NET is ok
There are bigger problems though. One is interfacing with C libraries. This is a must-have for desktop development, and Java makes it harder than it should be.
I’ve never used JNI, but I hear it’s a bear. I believe that GCJ offers something simpler and easier called “CNI”.
eric wrote:
Java to me is verbose ,complex and [snip]
Verbose, yes. Complex? Compared to what? Java is vastly simpler than C++.
First, i dont know why people are still discussing performance issues about java. Java is good enough most -i daresay almost all kind of- of the applications. and it’s performance is very well, compared to any .net language. i can backup my claim, but plese there was enough thread in OSNews about it.
Second, calling native code has its own devils. like killing portability of the applications, not fitting object models (finalization, garbage collection issues). i used JNI, and in java land it is mostly used not because of performance needs, but becuse of platform dependent hardware, or OS spesific library acces. there was no problem aout the speed of the native access. To me, it should be avoided if there is a non-native way, since it tends to make application unmanagable and prone to difficult to find bugs..
third, it is wrong probably the least money maing big company about java is Sun, check IBM, Bea and Oracle if you want to see $$$ makers from java..
Second, calling native code has its own devils. like killing portability of the applications,
Portability is far from the only reason for choosing a managed environment like Java. Otherwise Microsoft wouldn’t be following along with the CLR.
As for your objection, yeah they can be a pain; but then again sometimes they’re necessary and can’t be avoided. You can (and should) ignore them server-side, but if Sun et al. are interested in desktop-side Java, they can’t be avoided.
The Java team should have a look at the entry “Smalltalk, fatal mistakes of” in the Official Starchild Encycolpedia of Stuff.
third, it is wrong probably the least money maing big company about java is Sun, check IBM, Bea and Oracle if you want to see $$$ makers from java..
This is true. The fear is that Sun not only realizes it, but might be inclined to start squeezing revenue out of its IP at the expense of the Java community. That would be their right, but it wouldn’t be pretty – and I don’t think it would be a business win, either.
“Some major Java vendors like BEA and IBM are bypassing Sun’s “Java Community Process” and releasing Java extensions on their own.”
Uhm.. Yeah. Correct me if I’m wrong, but is this not exactly what Microsoft got sued (and thoroughly condemned for by the geek community at large) for just a couple years ago? Now IBM is building their own custom version of java, which will not be 100% compatible with Sun’s java. But will anyone dare to call IBM the “bad guy” on this one?
I don’t follow Java too closely, but I’m very excited about Perl 6. I wonder how they will compare and perform around this time next year against .NET/C# and C/C++ and ocaml.
I guess there’s also some other GNU projects trying to do similar things, but they probably have about as much developement effort as the HURD right now.
No not quite…Microsoft got sued for making an incompatible version of what they called a JVM. BEA/IBM have there own JVMs that meet specs, adding on to those is/was never against the rules. Microsoft supposedly had a compatible JVM that they said WAS JAVA! When it was well known that it didn’t do things correctly. I believe the claim was that MS was purposely hindering their own JVM so that java would not become a well like/widley used option. It seems to me that IBM/BEA are doing the opposite.
I don’t follow Java too closely, but I’m very excited about Perl 6.
Keep an eye out at the usual news sites around July 26-ish. Parrot (the Perl6 multilanguage VM) is going head to head with Python/C in a benchmarking test. The loser gets a pie in the face.
Funny you’ve mentioned the HURD, since a lot of people are making a comparison between it and Perl6. Personally I’m hoping it’ll follow the Mozilla example instead, where people bitch for years about it how it sucks and will never finish and then alla sudden it delivers on most of its promises when no one’s looking.
Parrot development started ~4 years ago. We’ll see where it’s gone since then in July.
Java runs pretty well on the desktop from my view point.
Our shop has quit a few java apps and the first one takes a bit of time to load.
But, that’s the only shotcoming.
If you explain to users that the java .jar files are going thru byte-code verification at start up then they don’t mind. Again, java gives you more security and is a true enterprise solution.
Our users are happy with the performance.
The only real bottlenect is the Database, and here we optimize with stored procedures, and nested queries if we can.
Like they do with most stuff.
It’s horrible to hear that both IBM and BEA don’t follow the idea behind Java and the certification process… What’s new though, IBM has always been evil…
I think that the competition from .NET/Mono is only good for Java:
1) Microsoft can easily afford to keep .NET free, so it’s highly unlikely that Sun will start charging money for Java all of a sudden. If they did, most people would make the jump to C#.
2) Competition from C# has resulted in many long-overdue language enhancements like Generics and Autoboxing in the upcoming Java 1.5.
3) The idea of open-sourcing Java has at least caught on with higher-level Sun execs, it isn’t a complete taboo anymore. Whether Java will, indeed, be open-sourced is anyone’s guess, but I wouldn’t be surprised if it happened sometime next year. Sun would be wise to hold on to J2ME, though.
The appeal of open-sourcing Java would be the ability to distribute your application with a customized, local JRE. If you strip away all the libraries that you don’t need for your application (like javax.sound, how many people in the world actually use that?), you can easily trim down the distribution size to about 5Mb. This includes both your application and the customized JRE.
The JRE distribution is so big because of the huge amount of standard libraries and their support files. The core JRE itself is quite small.
How? By making a Java gui library that doesn’t suck? Or a useable client-side persistence model? Or would it be the vastly popular IDE they’ve put out?
Java is clearly going to hell in a handbasket because of IBM. Let’s hope they’re foiled and the Java community can go back to bombinating around itself in the JCP and coming up with more obfuscated “standard” APIs that are unworkable for all but the hugest of enterprise projects.
Then we’d be in really good shape.
It is kind of interesting how a lot of posters here say “I really hate Java, but I love C#”. Why such a disparity of opinions? C# is a pretty blatant ripoff from Java with some C++ syntactical bits sprinkled over it, but otherwise both of the languages are pretty similar. The languages are so similar that it took me about a week to get pretty comfortable with C# being primarily a Java programmer. With Java 1.5 coming out both of the languages will have pretty much a complete parity as far as features are concerned and choosing one platform over the other should boil down to something more than just an emotional argument over language features as many posters seem to have here. I persnally prefer Java as development and deployment platform over .Net, not just for the merits Java has, but because of the flexibility, maturity and performance of J2EE platform. I think .Net has a lot of catching up to do in any of those departments.
Many claim that Java is not used on the desktop. This is simply obsurd at least as far as enterprise desktop is concerned. Overwhelming majority of enterprise vendors ship their desktop tools written in Java. Most of the major applications I use at my workplace are written in Java, just to name a few:
-IntelliJ IDEA
-Borland JBuilder
-Oracle9i Enterprise Manager
-Veritas VM Manager
-TogetherSoft ControlCenter
-Sun Management Center
Well written Java applications perform quite well on the desktop and it is a great way to deliver the apps if you target multiple platforms.
.net is extremely easy for coding newbies such as myself. as a result of the work being done with the monodevelop ide I’ve switched from working with Java to working/learning with .net via mono.
When people say that Java is not used on the desktop, they mean that there are no mainstream Java applications for ordinary users, which is simply true. That said, there are no mainstream .NET applications either.
However, that doesn’t mean that both Java and .NET have failed outright. You have to cut through the hype and see the real advantages of using a particular tool. Despite it’s sluggishness, Swing can still be used to write functional and responsive applications. (Just look at JGoodies for example.)
The truth is that the vast majority of applications are not – and won’t ever be – used by millions of people. For a custom, specialized application for a niche audience it’s not unreasonable to request that the user installs the .NET framework or the JRE. OTOH for a mainstream application the additional footprint is a big stumbling block.
Azureus is a neat and fast java desktop app, downloaded 2 million last week.
http://azureus.sourceforge.net/
First, i dont know why people are still discussing performance issues about java. Java is good enough most -i daresay almost all kind of- of the applications
How many times will we hear the same bull####?
What kind of applications are you talking about? Can you make a fast image viewer in Java? NO! Can you make an image editing program in Java? NO! Can you make a file manager in Java? Hell NO (even the standard the File Open/Save widget is slow and crap). Can you make a Word Processor in Java? NO! (Some companies tried, and did Office lookalikes in Java. They are SLOW as HELL).
Many claim that Java is not used on the desktop. This is simply obsurd at least as far as enterprise desktop is concerned. Overwhelming majority of enterprise vendors ship their desktop tools written in Java. Most of the major applications I use at my workplace are written in Java, just to name a few:
-IntelliJ IDEA
-Borland JBuilder
-Oracle9i Enterprise Manager
-Veritas VM Manager
-TogetherSoft ControlCenter
-Sun Management Center
Ho ho ho! You sure is a funny fella!!!
So, Java is used on the desktop because there are Java IDEs around written in Java, and big Java CRM control software FORCED upon corporate users that cannot do otherwise?
Yeah, Java developers use IDEA, JBuilder etc. and us poor enteprise people have to use Sun ManagementCenter and TogetherSoft crap, for lack of alternatives.
If this is Java’s success on the desktop, that Java is as DEAD as Jimmy Hoffa.
> Yeah, Java developers use IDEA, JBuilder etc. and us poor enteprise people have to use Sun ManagementCenter and TogetherSoft crap, for lack of alternatives.
All of the above mentioned applications are fine examples of application development regardless of the choice of language for implementation. They well developed and well performing applications. Even if similar application to JBuilder for instance was developed using a different language and toolkits, I seriously doubt that you could deliver a better performing application at least if you’re relying on any of the Object-Oriented languages and frameworks — it is just the nature of the beast. A good example to take home, KDevelop is not really feel much faster than JBuilder or IDEA despite being a 100% native application. I’m for instance (I’m sure I’m not alone) willing to trade a couple of extra seconds of application startup time for cross platform portability and tons of headache related to “native code” issues.
> Can you make a fast image viewer in Java? NO! Can you make an image editing program in Java? NO! Can you make a file manager in Java? Hell NO (even the standard the File Open/Save widget is slow and crap). Can you make a Word Processor in Java? NO! (Some companies tried, and did Office lookalikes in Java. They are SLOW as HELL).
The answer is ‘yes’ to all of those questions.
I think we’ve been over this a zillion times on this forum. Java is NOT slow. There is bunch of benchmarks proving that Java is not any slower than native code. The only area where Java applications and GUI applications relying on extensive OO frameworks (Swing) in particular will lag is the startup times, since classloading is a farily resource-intensive task at the applicaiton startup. On the same note, complex .NET applications will suffer the same fate as Java applications because of intrinsic object orientation and class-loading related issues. I guess we’re entering the era where managed object-oriented code will reign supreme despite its shortcomings, it is just Java was the first to really pave the road.
– There is a full office suit, and very comparable to MS Office XP developed under Java. Read OSnews archieves for a competitive review.
http://www.evermoresw.com/weben/index.jsp
– i just gave you another example, a fast open source Java app i think you dont read. Azureus.
All kind of desktop applications can be done using java, especaially after Java 1.4 GUI performance also is very well. So your claims are void and FUD.
Sun didn’t want to open source java because people all want it to go in different directions. BEA and IBM are ones that want it open sourced. Because they want to control the direction. IBM has much more power than Sun.
This prooves that if Java were open sourced under a true open source license then Compatability regarding other java versions will be shot in the foot.
So.. as someone who invests in java i dont want other java platforms that are not compatible.
I think .NET should be open sourced! GRRR (Mono and DotGNU dosen’t count)… I think sun just needs to improve the language. It really wont matter if its open source or not really. maybe to alot of people who have this fixation that everything must be open sourced for political reasons.
Anonymous (IP: —.dyn.iinet.net.au): I think we’ve been over this a zillion times on this forum. Java is NOT slow. There is bunch of benchmarks proving that Java is not any slower than native code.
From my own experience, it actually depends on the computer you use. For example, on my main computer Java apps seem to run just fine. However, on my laptop, there is no way anyone can say Java is as fast as native code, since you can just about watch the screen update one pixel at a time.
Someone on these forums once said that Java for Windows has an SSE2 backend. If that’s the case then it certainly explains the difference in results that people have, because not every computer out there has SSE2.
There is bunch of benchmarks proving that Java is not any slower than native code.
Not credable ones. Time and time again, EVERY bechmark I’ve seen where java was as fast or faster than a native application, it was because of one or more of the below reasons:
o It was a corner case for ideal JIT optimizations, which reflected real world applications less than 1% of the time.
o Horrible C or C++ code in comparison, such that, it would be hard to make the code slower.
o Bad optimizing compiler compared to what’s generally available.
o Java becnhmarks go out of their way to avoid collection, thusly significantly biasing the benchmark such that it is off by as much as a factor of three in real world performance.
o Java startup time is not measured, thusly invalidating the benchmark.
Long story short, Java really is slow for real world, desktop applications. Beyond that, Java really is nowhere near as fast as native applications for server or client. Just the same, it can still be “fast enough”. Having said that, “fast enough” is nowhere near the same thing as, “as fast or faster”.
Is performance an issue for your project? I sure can’t say. But, let’s not dance around the truth here. The truth is, Java, for real world applications, are nowhere near as fast as native C and C++ applications.
From my own experience, it actually depends on the computer you use. For example, on my main computer Java apps seem to run just fine.
That’s a classic example of “fast enough”. Having an application which is usable and even nice to use, is not a problem for Java, given the right hardware. Obviously, given the right hardware, any application in any language can be fast enough. But, that’s a far cry from the claims that java is as fast or faster than C and C++.
Most Java people, IMO, don’t even realize that C++ on most platforms is now considered to be as fast as C. The reason is simple. Many platforms now have excellent C++ compilers which can do excellent optimizations. Early compilers often struggled to simply be as-compliant-as-possible. These days, most compilers are not only compliant, but pretty good at optimizing. Heck, even g++, which does only okay at optimizing, does pretty dang well with C++, compared to it’s gcc cousin.