Any doubts regarding Oracle’s stewardship of Java were dispelled yesterday, as Ellison and company have made it clear that they are very interested in making Java an even stronger alternative to .Net, writes Fatal Exception’s Neil McAllister. “We have the money to invest in Java, because Java is a very profitable business for us already,” said Ellison, whose plan for integrating Sun technology is ambitious, serving an even more ambitious goal: to create a soup-to-nuts tech juggernaut akin to IBM in the 1960s. Java will remain a key component of this push, with a new Java runtime, greater modularity, better support for non-Java languages, improved performance, and multicore-optimized garbage collection in the works, McAllister writes. Also revealed are plans to unify the Java SE and Java ME programming models and APIs and to enable JVM to run natively on hypervisors, allowing developers to run multiple Java instances on a single virtualized server.
…we use Oracle products where I work… I am not overly fond of their database solutions. On the other hand we probably should not be using them since they are far to “over powered” for what we need… and their applications are monstrous catch-all/do-all constructs that could really be honed and made 100% more efficient.
Now, what does that mean for Java? I don’t know… I just don’t see them being focused enough, neither do I think they will listen well to the users… or perhaps they will listen SO well that Java will become another Oracle app that encompasses the entire house, including the kitchen sink.
Whenever people talk about improving Java, it is always in the context of technical matters. Which is all fine and dandy, but Java’s biggest problems are largely non-technical.
Packaging and running. Yes there are solutions, but nothing by default. .NET application compile directly to executables/dlls. Java jars and class paths… what a pain.
No easy way (maybe desire) to take advantage of ‘new’ system features. It was only a few years back that Java finally released support for system tray icons… even though it has been there since windows 95… and many linux distros had it as well.
That’s why I am hoping oracles pushes
“greater modularity, better support for non-Java languages”
the most.
I doubt many Java devs care about TrayIcon support since Java is mainly strong in mobile devices and serverside applications. Desktop support (Swing) has been on the backburner for a while (maybe it will be reignited with the JavaFX RIA push).
As for non standard solutions; On the serverside Java offers JEE which has already made numerous choices for the developer. However there are also numerous open source projects/frameworks for all kinds of things which often offer a better fit for your project then JEE (Technologies like OSGi, Spring, Google Guice, and litterly thousands more). So yeah if you don’t want choice, then with Java your going to have a hard time.
That’s probably the biggest culture difference between Java and .NET developers. All the Java developers I talk to talk about different frameworks and the .NET developers only talk about the standard .NET frameworks. Java developers generally like their choices and .NET developers usually go with the solutions chosen for them by the .NET framework (I’m just pointing this out, I’m not saying one is better then the other).
The system tray is for AntiVirus. That is the reason why I do not use Windows.
I need something that is cross platform – works for Solaris, Linux and Mac.
Yes, I do look after a few IIS and .net servers. I really do not want to talk about them.
On the other hand, a few of the tomcat servers have been running in the data center since Red Hat 7.3. They just work and work 24×7. The users do not care if they are tomcat and .net.
I mostly use Windows and I can’t tell when I’m using a .Net app because it behaves just like a “native” one. But if I look for some piece of free software to do something specific, I try to stay away from java apps because I always expect something that doesn’t integrate well with the desktop, with weird file open/save dialogs etc… Now they might look better nowadays but I see so few java apps anyways that I wouldn’t know.
Also from what I can gather there is no equivalent to Visual Studio for java. Visual Studio Express has been available for a while now and it’s completely free. You install it and then you’re ready to code right away. It might be a bit heavy on resources but it just works. That and the msdn documentation makes .Net (and Windows) development a pleasure.
Then again, Oracle’s objectives might have nothing to do with desktop app development. They’re probably more interested in the “line of business” stuff…
You have Netbeans and Eclipse, both are cross platform and open source. Netbeans is maintained by Sun(now Oracle). Not to mention, Xcode can also be used as a Java IDE. All of the IDEs I mention are free and are good equivalents to Visual Studio.
Edit: Also there is Jdeveloper, which is an Oracle product.
Edited 2010-01-29 19:43 UTC
JDeveloper and (especially) Eclipse are feature packed. And the plugin system for Eclipse lets you do even more. But to me they are TOO feature packed. I’d rather have something lite… which gets me into trouble sometimes at work…
I prefer to use a simple text editor (altho’ before .net I did use MS Visual Studio frequently) and sometimes my comrades will zip up an eclipse project and send it to me to try… but since I never use it, it takes me an hour to get it to the point where it works (changing library paths, etc.) But once I get it to that point it does work well. And as I said, it is feature packed.
You are correct. there are NO equiv, only have baked shoddy products. I have yet to find any IDE that comes even close to compare to VS.
With that said, I use java and oracle on my day job. Oracle is .. well, it’s like Linux, aka C++, it makes things way over complicated for simple tasks.
Then there’s the fact that Oracle refuses to support 1/2 of the features the database supports …
I dunno, if Java goes down the same path … it’ll lose people.
I prefer Java apps to .NET apps, because I use several Operating Systems. Sure, if I only used Windows, then I would be content with .NET apps. But I prefer to use the same app, on several platforms.
Also, .NET is more a desktop thing, on Windows. Java is can be run/runs on every OS (it is open and portable): Windows/Mac OS X/Unix/Linux/etc. It runs on Mainframes, super computers, down to Mobile phones, BluRay, etc. I am trying to say that Java is much much more widespread than .NET. That, I like.
Yeesh! I don’t know which I dread more… HTML5 apps, .NET apps, or Java apps. I guess the days of running fast, tight, feature-packed, NATIVE applications are coming to an end. *sigh*
I dunno… most Java desktop apps I’ve used, when compared to native counterparts, are complete ass. I wouldn’t want to use them on ANY OS. Then again, as you can tell from my above comment, I’m not a huge fan of .NET either, but prefer it to Java on a Windows desktop.
Edited 2010-01-30 12:22 UTC
There are many poorly-implemented Java desktop apps out there but many good ones as well. Have you ever used Aureus, LimeWire, Eclipse, NetBeans, Maple? These are some examples of Java apps implemented very well (i.e. most users will never notice a difference from native apps).
Also, it is worth noting that most .NET apps that do not use Windows Forms don’t look especially native either–instead looking more like Adobe AIR (with non-native-looking widgets).
Ultimately though I think the whole consistency/integration thing is overrated, for everything aside from maybe the open/save dialog and ensuring some standard conventions for icons/symbols. People use web apps, Flash/AIR apps, Qt apps (Picasa, Google Earth). iPhone apps, and millions of different-looking kinds of “Windows” apps (just look at MS Office compared to the rest of Windows) on a daily basis without issue. Asthetics (in the sense of “matching” everything else) are probably the least important contributing characteristic to an app’s overall usability. I think a very vocal minority, often politically motivated, has been pushing this viewpoint as much more essential than it really is.
Moochman says it well:
“There are many poorly-implemented Java desktop apps out there but many good ones as well. Have you ever used Aureus, LimeWire, Eclipse, NetBeans, Maple? These are some examples of Java apps implemented very well (i.e. most users will never notice a difference from native apps).”
As I said, I really like when the application I use, can be found on any OS. But I agree that if the Java app GUI is not well designed, then .NET variant beats it. But there are good Java app GUIs out there.
Well designed Java app > .NET app
I’ve used VS, NB, and Eclipse extensively (pretty much 12hrs a day for years on end).
VS I find the best, but NB is a close second. Also, I think it is the best freely available IDE out there.
RE: some previous comments. Yeah, Java is mainly a server thing or a mobile thing. Desktop apps aren’t really so important in Java land.
Things like GC improvements get Java programmers very excited. Better desktop look and feel would be more of a shrug and move on type feature.
Edited 2010-01-29 22:38 UTC
It depends on what you are used to. Whatever comes second is always hated and feared.
Clearly that’s not true because:
* Linux once came 3rd to Minix.
* MS Office once came 2nd to Lotus SmartSuite
* MS Visual Studio once came 2nd to Borland IDEs
* Internet Explorer once came 2nd to Netscape Navigator
…i could go on
HTML5 apps will be the next big thing. Except for IE.