Where do you think Java is headed?

Before I begin: I’m not a java expert, never have been, never will be. Yes, I’m a coder, but my experience is primarily C/C++, and now C# and ASP.NET.

In the past few months, I’ve made the acquaintance of a couple fellow coders. One is a young guy, and his background is almost purely Java/J2EE. Another is slightly older (mid to late 30s) and is primarily an MS geek (like me) but has a bit more experience with Java/J2EE.

The young guy tells me up and down that Java is alive and kicking, and he worries his job skills are going to be out of date if he doesn’t work directly with J2EE all the time.

The other is the complete opposite. Thinks that Sun is going downhill, IBM won’t carry on the Java/J2EE environment very well, and Java is on its way out.

I don’t know enough about it to have much of an opinion. I know that there’s a whole lot of code out there built on J2EE. It also seems to me, in my limited experience, that a lot of companies are going with ASP.NET 2.0 for new project development.

Still, Java is far from dead. JBoss/RedHat/etc all seem to be pushing forward. Then again, Novell is still around, but I don’t see people putting Novell Networks in their new installations.

Opinions?

Does it make sense for a company to build a big Web application on the J2EE framework?

Hmm… that last sentence wasn’t supposed to be there. I guess it’s still valid. Please excuse the goofy non-sequitur.

I think we’re stuck with Java. My company is certainly forging ahead with it.

C and C++ are insecure (mainly because sloppy coding makes them insecure), and Java is much less so. Microsoft doesn’t seem to be making a lot of headway in getting the .net framework accepted cross-platform (I’m not sure they’re trying very hard), and Unix and Linux are also here to stay. So unless you only do MS stuff, .net is going to be kind of limiting.

Java’s one of the best languages out there for applets, so I don’t see it going away any time soon. The choice of language for large applications really doesn’t matter compared to the choice of architectures, so J2EE will probably continue to be used in some places.

The real future direction of all these languages is integration. C/C++ are very good at certain things, Java is very good at some other things, and Perl is very good at a third set of things. If you can write each component of a system in the best language for that component’s task, things work out well.

Such as, making all other languages look better by comparison.

Jealous, much?

Never at all, in fact. Is jealousy the only known basis for disliking something?

This guy doesn’t seem to think that Java is the be-all and end-all of programming languages.

…and I came in here to read about the future of coffee! :smack:

No, but it has a high correlation with fatuous one line criticisms.

My company took a large dive into the Java world, and has been slowly backing out ever since. The promise of ‘write once - run anywhere’ never did really work out. Applets are a pain in the ass. The Java language’s strengths have been copied and improved on by the competition (C#, anyone?). Flash, WPF/E, AJAX, and a host of other technologies are taking over the web.

Java will be around for a long time, but I think you’ll see its use begin to shrink back into the Linux world. For Microsoft development, .Net is far superior, and for web development there are a ton of alternatives now.

Bolding mine.

Now how silly is this. Us poor undergrads get no say in what classes we have to take or what languages to learn. We may or may not believe we have to learn it to get a job, but we do know that the people that figure all this stuff out has said, at least at my school: If you want an IT degree, you must take Java I and Java II.

Java did a number of useful things for computer science. In particular, it brought garbage collection to the enterprise mainstream more or less by itself (a mere twenty years after its invention :rolleyes:). With that said, it’s not a great language: it’s statically typed without being type-safe, object-oriented without multiple inheiritance or mixins, reflective without dynamic classes, bytecode-compiled without closures. It’s a good language for the mainstream for its time, but the JVM is losing out to .NET, and unlike Sun, Microsoft seems to realize that the platform (.NET) is bigger than the language (C#/VB).

HOWEVER: at this point, there’s enough installed Java code that it’s not going anywhere. How many poor bastards are stuck maintaining deployed COBOL? Nobody’s going to go broke with J2EE, but the most interesting jobs are going to move away from Java to a whole host of languages that compile to MSIL. Or so I’m betting. It’s certainly not the only way to make money as a programmer. Hell, I’m making the big bucks with unmanaged C++.

I’m a geologist. I think Java is headed eastward as the Eurasian Plate is subducted under the Philippine Plate. Eventually it’ll be headed downwards… under the earth’s crust… into the mantle. Then it’ll just be a mantlepiece.

Java appears to be headed into the Land of Confusing Version Numbers.

Just over two years ago, it was Version 1.4.2.

Then they released what they called Version 5.0, which seems to be quite a leap, but it is really 1.5.0, as you’ll notice if you look at the URL.

And now it appears that version 6 (or 1.6.0?) is in Beta. Maybe they’ll call the final release Version 60.0

(Ex-CS prof with a Sun Java cert. checking in.)

  1. Once a language is reasonably well established it will survive in some niche forever regardless of any rational. Java will hold on a long time in the J2EE-lovers world. It will probably not grow in virtually any other enterprise level niche.

It particular, its biggest chance at being the embedded systems language is gone. Bloat, perpetual fixes, etc.

In short, its salad days are over. But there’s still years worth of unexciting leftovers.

  1. Sun is dying. It has flailed around for years trying to figure out how to beat the Wintel universe. (One year offering 386 based machines, then stopping. Offering Solaris for x86, then stopping, then starting again. Sheesh.)

It has been poorly managed for years with no hope of anyone from outside being brought in to change things.

The development of Java is a case study of how to blow things. You don’t let an iconoclast hold your hottest new product hostage. You take it over, clean it up and most importantly you give the customers what they want. It they want generic types, first order call by reference and a rational exception-throwing system then you give it to them.

Sun can’t even today keep Java going forward properly. In a couple years there’ll be nothing useful coming out of Sun. Then the other big companies will give up on Java as well. (Small support companies will live on for a while, but even the Java support part of their business will become less important.)


So I’d say I’m somewhat midway between the OPs two friends in terms of predicting what will happen. (Not the same as what should happen: Sun either needs to fold or do things right now.)

A Cringely link: