Beta
×

Welcome to the Slashdot Beta site -- learn more here. Use the link in the footer or click here to return to the Classic version of Slashdot.

Thank you!

Before you choose to head back to the Classic look of the site, we'd appreciate it if you share your thoughts on the Beta; your feedback is what drives our ongoing development.

Beta is different and we value you taking the time to try it out. Please take a look at the changes we've made in Beta and  learn more about it. Thanks for reading, and for making the site better!

Oracle's Ambitious Plan For Client-Side Java

timothy posted more than 2 years ago | from the larry-pulls-a-shot dept.

Java 292

snydeq writes "Fatal Exception's Neil McAllister suggests that the real news out of this year's JavaOne is Oracle's ambitious plan to revitalize Java on the desktop, the Web, and mobile devices. 'It's been tempting to assume that Oracle, with its strong enterprise focus, would ignore the client in favor of data center technologies such as Java EE. This week, we learned that's not the case. In fact, the real news from this year's JavaOne conference in San Francisco may not be Oracle's plans for Java 8 and 9, but the revelation that Oracle is gearing up for a new, sustained push behind Java for the desktop, the Web, and mobile devices. If it can succeed in its ambitious plans, the age of client-side Java could be just beginning.'"

cancel ×

292 comments

Sorry! There are no comments related to the filter you selected.

*yawn* (1, Flamebait)

theNetImp (190602) | more than 2 years ago | (#37648326)

I stopped caring about Java in 2002, I still don't care about it, and will care even less tomorrow.

Re:*yawn* (-1)

Anonymous Coward | more than 2 years ago | (#37648348)

lawl, me too

Re:*yawn* (-1)

Anonymous Coward | more than 2 years ago | (#37648386)

One guy that lives in his parents basement doesn't care about something, I guess that something is done for.

Re:*yawn* (0, Troll)

theNetImp (190602) | more than 2 years ago | (#37648394)

So when you moving out of your parent's basement?

Re:*yawn* (0)

tech4 (2467692) | more than 2 years ago | (#37648402)

.NET and C# pretty much took over Java. Sure, Java supports more platforms, but it's resource and memory hog, insecure (there's tons of Java exploits out there but none for .NET!) and Java development is light years behind .NET and C#.

On the other .NET is really lightweight, fast and C# as a language is fast and easy, while it still allows to do a lot of powerful things. You also get access to some devices that Java doesn't support and comprehensive libraries like XNA. If you wanted to make a game, you could code for all Windows, Linux (Mono, even if its sometimes lagging behind on new features), Windows Phone 7 and Xbox360 all at once. Also, Visual Studio is much better development IDE than any other.

Re:*yawn* (0, Troll)

Anonymous Coward | more than 2 years ago | (#37648434)

The reason I chose C# over Java for my latest work project is because C# has serial port support in its standard library. Using free (!) Visual Studio express, I banged out the project (A PLC control serial interface) in a weekend.

I had originally planned to use Java, but the instructions for installing the javax.comm package were arcane and riddled with command-line bullshit. Fucking seriously, guys...it's 2011.
 
...and I'll be the first person to bash Microsoft, but they've made my job significantly easier.

-- Ethanol-fueled

Re:*yawn* (4, Insightful)

Xugumad (39311) | more than 2 years ago | (#37648570)

Brilliant, now try making it run on OpenBSD. Too weird? How about OS X?

Well done, you used a tool appropriate to the job, and got a good result. I've written C# apps to integrate with MS Office, platform-agnostic server apps in Java, high performance stuff in C, text processing tools in Perl and text adventures in Inform. In all cases, the language fitted what I wanted to do, well, but that doesn't make it inherently better than another language in some grand scheme of things.

Re:*yawn* (0)

modmans2ndcoming (929661) | more than 2 years ago | (#37648984)

That does not make those tools inherently better for the job they were picked for either.... If only we have proper tool developers out there who some how were able to replicate the Visual Studio tool set for every language, the world would be a better place.

Re:*yawn* (-1, Flamebait)

Anonymous Coward | more than 2 years ago | (#37648448)

Another insightful Java vs C# by a Microsoft Fanboy. Lemma guess, you're a insecure C# developer. A pity your ignorance and fanboyism prevents you from seeing reality, idiot.

Re:*yawn* (-1)

Anonymous Coward | more than 2 years ago | (#37648520)

Another insightful fanboy accusation from an obese freetard faggot. Maybe if you weren't so busy spending your life managing the anime NAS in your mom's basement you'd be skilled and intelligent enough to recognize that Java is the shittiest fucking managed language and Anders Hejlsberg would literally have to be a big dumb screaming retard like you to come up with something worse.

Re:*yawn* (-1)

Anonymous Coward | more than 2 years ago | (#37648682)

Often times when the someone accuses someone of being obese and a homo they're often the fat piece of shit and the closet fag with the special hidden folders. I'm guessing you're that fat loser with GB's of hidden files to mask your insecurity and who you really are. C# is a shitty language who's purpose was to give shitty low end people a job at developing crappy windows applications. It would seem it's the ideal language for a shit stain like you.

Re:*yawn* (0)

Anonymous Coward | more than 2 years ago | (#37648858)

"I know you are but what am I?" Are you fucking serious? I guess I shouldn't be too surprised that some bottom-tier scrublord Java developer has the mental age of a five year old.

Re:*yawn* (-1)

Anonymous Coward | more than 2 years ago | (#37649136)

You sound mad. Is it because he called you out for that fat gay shit that you are? Now go write a shitty c# app to catalog your gay porn, faggot.

Re:*yawn* (1)

modmans2ndcoming (929661) | more than 2 years ago | (#37648992)

Real men (and women) work in assembly. C is a shitty language who's purpose was to give shitty low end people a job at developing crappy applications.

Re:*yawn* (0)

Anonymous Coward | more than 2 years ago | (#37648890)

Hey, Tech4, you need to man up and post as your username instead of hiding behind AC when you need to hurl shit like a monkey.

Re:*yawn* (5, Insightful)

Xugumad (39311) | more than 2 years ago | (#37648518)

> resource and memory hog

Got anything to show it's worse than .Net?

> there's tons of Java exploits out there but none for .NET

What, language-level exploits in Java? Care to give an example?

> Java development is light years behind .NET and C#.

Erm. Hey, quick, distraction! Behind you! *runs*

Seriously though, yes Java lags behind in features. Cross-platform development; Java runs on Windows, Linux, the BSDs, Blackberry phones, Android (well, it's a close varient) and frankly pretty much everything else too. I'll admit game development in Java is decidedly mixed (I believe, anyway, have never tried it myself).

Ultimately, there's a lot of code out there in Java, and it's not at all a bad platform, the world does not move on just because something a bit better comes out.

Re:*yawn* (2)

sourcerror (1718066) | more than 2 years ago | (#37648576)

Pretty much this.
Even though C# fanboys like to bash Eclipse and Java, they just don't suck badly enough. Yeah, Eclipse needs a GUI designer and it would nice to have delegates/events ala C#, but the workarounds are not that bad to tie yourself to MS. Java gained most momentum in the years when you needed a serial number even to install (!!!) the MSDN documentation from a CD. If it weren't for Java we wouldn't have stuff like Visual $language Express for free.

Re:*yawn* (1)

lolcutusofbong (2041610) | more than 2 years ago | (#37648578)

If Oracle really cared about Java on Linux, they wouldn't have retracted the ability for the major GNU/Linux distros to stop distributing the binary Sun^H^H^HOracle JDK. OpenJDK can still do that, but the Official Binary Java can't.

Re:*yawn* (1)

Anonymous Coward | more than 2 years ago | (#37648788)

and frankly pretty much everything else too.

Except ps3, xbox360, wii or ios.

Re:*yawn* (0)

Anonymous Coward | more than 2 years ago | (#37648534)

There is no single computer language that is fast, lightweight, powerful and easy to use. Why do you think we have so many of them in the first place?

Re:*yawn* (1)

Mitchell314 (1576581) | more than 2 years ago | (#37649022)

Assembly!

It's fast.
It's lightweight.
It has the most expressive power
It's easy to use . . . so as long as you stick to "Hello World" programs. :P

Re:*yawn* (3, Interesting)

santosh.k83 (2442182) | more than 2 years ago | (#37648538)

"Sure, Java supports more platforms, but it's resource and memory hog, insecure (there's tons of Java exploits out there but none for .NET!)..." Since installing Windows 7 (about a week back) I've had to apply more than 8-10 patches for .NET "security vulnerabilities" and "exploits" already.

Re:*yawn* (3, Insightful)

kelemvor4 (1980226) | more than 2 years ago | (#37648564)

"Sure, Java supports more platforms, but it's resource and memory hog, insecure (there's tons of Java exploits out there but none for .NET!)..." Since installing Windows 7 (about a week back) I've had to apply more than 8-10 patches for .NET "security vulnerabilities" and "exploits" already.

No way. Tech4 said it was the only completely secure software ever written so it must be true.

Re:*yawn* (2)

Midnight Thunder (17205) | more than 2 years ago | (#37648566)

Cross-platform is a big feature point of Java and the I am sure that the memory usage problem is solvable, thought I am yet to see any real move from Oracle.

For me the biggest problem when it comes to desktop applications is the requirement that all UI elements must be coded. This means that every IDE codes their UIs in ways that other tools can't leverage. If Oracle wants Java to be serious on the desktop, then I believe they need some sort of markup for easily designing UIs, without having to resort to code. The code should only be there for the functional aspects. Microsoft has achieved this and so has Apple (NIBs). It would be nice to see Java benefit from something similar too.

I must admit I took a crack at trying to create such a tool, but it is a lot of work to get right and for it work the format needs to be documented properly.

Re:*yawn* (1)

solidraven (1633185) | more than 2 years ago | (#37648704)

Java is only as cross platform as Oracle wants it to be. If they don't port the runtime and tools it's worthless. So I wish to argue against it being a true cross platform language. As all that happens is the JVM executes commands written in a compressed script.

Re:*yawn* (2)

David Gerard (12369) | more than 2 years ago | (#37648870)

Java is cross-platform enough for our professional use - development on Windows, deployment on a mix of Solaris SPARC, Solaris x86, Debian, RHEL and Ubuntu Server. It really does Just Work, and well enough for actual money-making activities (niche professional publishing for paid subscribers, in this case) if you keep to pure Java.

Re:*yawn* (0)

solidraven (1633185) | more than 2 years ago | (#37648974)

For those of us in a more technical context (in my case EE to be specific) you'll learn that it's not cross platform at all though. Yet managers will still believe Sun/Oracle's nice marketing speech. Sadly for us, they then hire java programmers and make our lives a living hell cause we have to work with embedded Java. And once you encountered that you'll learn there is no such thing as a cross platform version of Java. Even basic functionality becomes questionable actually.

Re:*yawn* (0)

modmans2ndcoming (929661) | more than 2 years ago | (#37649008)

write once, test everywhere.... Yeah!

.NET really hasn't taken over Java (3, Insightful)

Junta (36770) | more than 2 years ago | (#37648598)

I'm no fan of Java, but I run into it all the time.

On the other .NET is really lightweight,

So far as I have seen, most of the *appearance* of lightweight is achieved through preload. Conversely, most of the criticism of Java as bloated stems from a decade old impression and crappy app coders.

.You also get access to some devices that Java doesn't support

This is mostly a natural consequence of supporting many platforms. Platforms aren't different just for the fun of it, and supporting them all means mostly settling for the subset of ubiquitous capability. This applies to most scripting languages as well, though those typically get extended by platform-specific modules as they don't carry the stigma of being Java.

Also, Visual Studio is much better development IDE than any other.

Maybe for medium/large projects, but for quick stuff I still haven't found an IDE I like after trying visual studio/eclipse/etc/etc. Nothing beats vim and a compiler sometimes.

Re:.NET really hasn't taken over Java (0)

0123456 (636235) | more than 2 years ago | (#37648802)

So far as I have seen, most of the *appearance* of lightweight is achieved through preload. Conversely, most of the criticism of Java as bloated stems from a decade old impression and crappy app coders.

Or from running Eclipse. Or, indeed, from writing Java apps and having to spend weeks adding object caches and fine-tuning the garbage collector to make it not require gigabytes of RAM or introduce long collection pauses or suck up most of one core just running the parallel garbage collector.

Java would be a pretty good language if had real memory management.

Re:*yawn* (0)

Anonymous Coward | more than 2 years ago | (#37648708)

.NET and C# pretty much took over Java. Sure, Java supports more platforms, but it's resource and memory hog, insecure (there's tons of Java exploits out there but none for .NET!) and Java development is light years behind .NET and C#.

Yup, and that is why more and more teams out there are using scala instead of java as a language on top of the jdk. You still get the java ecosystem (which is way better than the .net one) and a language that is even better than C#.

Re:*yawn* (2, Insightful)

Anonymous Coward | more than 2 years ago | (#37648998)

Same for me...and I code in Java for work on a daily basis.

The thing is, Java as a language/development platform has had everything I need and use for many years now. Sun (and now Oracle) have failed miserably to offer a compelling developer proposition outside of the core language and API. The EJB debacle just showed how much the Java community, and not Sun/Oracle, is driving the Java innovations that are actually useful.

What Java needs (and won't get, because there's no money for Oracle in it) is for Oracle to focus on improving the core VM and cleaning up the core APIs. On the VM side, they need to clean up class hierarchies and dependencies so that VM doesn't need to load so many classes at startup. On the API side, JSRs like 310 (Date/Time API) are needed to replace parts of the Java API that, quite frankly, suck. AWT and Swing are simply not as good as alternatives like SWT...I'd like to see Oracle deprecate them and work with IBM to include SWT in the core Java distribution. In the enterprise space, the only part of J2EE that I find compelling is the servlet spec, and even that needs a serious cleanup. JSP needs to be deprecated in favor of 3rd party tools like Freemarker, Velocity or any other templating language that encourages a stricter separation between presentation and business logic and does not require a container to evaluate and test.

For everything else, Oracle should let the community push the platform. The most useful parts of the Java platform have come from groups like Apache, Spring, IBM, Google and Redhat. The last time there were advances in the JDK or J2EE that actually affect my current work was in 2004 when Java 5 added many significant language features. So I've basically stopped paying attention to Java, the Oracle product, and anything Oracle has to say about Java and now only focus on what they community plans for it.

Re:*yawn* (2)

Xest (935314) | more than 2 years ago | (#37649312)

Meanwhile it continues to power the backend of countless websites and systems you take advantage of day to day from your bank to your supermarkets stock control system to eBay and Google, to any smart features you may have on your TV or set top box.

And really, that's the beauty about Java, it doesn't matter if people like you care about it or not, it'll still continue to sit happily working away solving countless problems across the globe.

Time to move on (1)

phy_si_kal (729421) | more than 2 years ago | (#37648346)

It's 2011, and we're probably a decade too late for bringing heavyweight Java to the client. The future might be in languages like Dart or, for quoting the same Fatal Exception's Neil McAllister, Opa [infoworld.com] .

Re:Time to move on (0)

Anonymous Coward | more than 2 years ago | (#37648508)

I think you're too pessimistic. Java has actually a pretty big installed base and is supported on almost anything.
The real surprise behind Oracle's strategy is that they will be continuing with client-side Java, even though just ten years ago (a century in IT, I know) their CEO proudly told the world we would all just be owning thin Internet clients by now.

Re:Time to move on (2)

Midnight Thunder (17205) | more than 2 years ago | (#37648600)

I don't think its too late, though they have a lot of work in front of them AWT failed because it was limited in its platform integration and Swing because it really didn't feel like it was intended for any specific platform with a lot of the important UI hooks missing.

The best solution so far has been SWT, IMHO, though I am yet to see any small applications, since they all seems to follow the same UI design approach as Eclipse and tend to feel rather heavy. It would be nice to see SWT as a UI extension that is bundled with the standard OpenJDK.

Getting a good cross-platform UI solution is no easy feat, given all the different expectations of uses on different platforms. There are solutions out there, but they all succeed and fail for different reasons.

Re:Time to move on (0)

Anonymous Coward | more than 2 years ago | (#37648746)

SWT is so hard to use. I saw no holes in Swing and I created an entire enterprise app in Swing. Started with SWT and wanted to kill myself.

Re:Time to move on (4, Interesting)

leenks (906881) | more than 2 years ago | (#37649020)

SWT is awful. At least Swing is pretty clean, and logical. SWT is often utterly insane - look inside the code for proof of that. Swing is also totally extensible. SWT is not (the number of classes that state the class is not final but must not be extended is quite impressive). I say this as someone working on a small (450k semicolons) SWT/RCP application which integrates components written in Swing, JOGL and Processing.org.

No Thanks (1, Insightful)

WrongSizeGlass (838941) | more than 2 years ago | (#37648358)

I've spent quite a bit of effort over the last two months removing Java from all of my clients' computers. I've seen it used as an attack vector far too often and it was time for Java to go. I've even got some - but not all - of my clients to let me remove Flash and Acrobat Reader. In the long run it's safer for them, and cheaper for them too.

Re:No Thanks (2, Insightful)

Anonymous Coward | more than 2 years ago | (#37648512)

I've spent quite a bit of effort over the last two months removing Java from all of my clients' computers. I've seen it used as an attack vector far too often and it was time for Java to go. I've even got some - but not all - of my clients to let me remove Flash and Acrobat Reader. In the long run it's safer for them, and cheaper for them too.

Why is it that every Java story on Slashdot is infected by an IT Admin Monkey telling us that he's removing Java from his "users" machines. If these IT monkeys really wanted to remove the most targeted attack vector from their "users" machines they would replace "Windows" with something secure.

Re:No Thanks (4, Insightful)

Cwix (1671282) | more than 2 years ago | (#37648620)

If these IT monkeys really wanted to remove the most targeted attack vector from their "users" machines they would replace "Windows" with something secure.

Actually if they wanted to remove the most targeted attack vector they would remove the users from the machines.

Re:No Thanks (3, Funny)

Anonymous Coward | more than 2 years ago | (#37648634)

Yeah, my sysadmin went a step further and unplugged the Internet from the wall. He said that it was being used as an attack vector far too often, and it was time for the this ridiculous "Internet" thingy to go. In the long run, it's been safer, and cheaper for me too!

Re:No Thanks (1)

Midnight Thunder (17205) | more than 2 years ago | (#37648642)

Why is it that every Java story on Slashdot is infected by an IT Admin Monkey telling us that he's removing Java from his "users" machines. If these IT monkeys really wanted to remove the most targeted attack vector from their "users" machines they would replace "Windows" with something secure.

This generally makes me think of admins who want an easy life, instead of trying to understand what the problem is and solving it properly. This is usually the most dangerous sort of admin - reminds me of the intern who got an application to compile, by removing all the logic from the code. Also, how many time do you have people saying Java is slow or something else negative, only to find the are actually talking about JavaScript in the web browser?

If we uninstalled everything that was a possible vector of attack, then we would be left with a fully erased computer, disconnected from the internet. No computer is immune to attack (this includes Linux and MacOS X), its just that the way they are targeted and the frequency of attacks vary.

Re:No Thanks (0)

Anonymous Coward | more than 2 years ago | (#37649282)

Hell, even the fully erased disconnected computer is still vulnerable to attack by hammer.

Re:No Thanks (2)

TheRaven64 (641858) | more than 2 years ago | (#37648968)

If they really wanted to make their machines secure, they'd remove the users. Unfortunately, IT is never told to make the network secure, they are told to make it secure and usable. Uninstalling Windows typically means rewriting a large amount of Windows-only code, or at least doing exhaustive testing of it in WINE, and that's beyond the budget of most IT departments.

Re:No Thanks (0)

Anonymous Coward | more than 2 years ago | (#37649080)

Guess what dumb ass... the most used attack vectors are no longer parts of Windows... they are the shitty tools from 3rd parties that windows users use.

Java is cool (2)

cosmicvisitors (2480054) | more than 2 years ago | (#37648370)

There are some pretty cool developments going on in Java lately, e.g. LINQ, functions and reified generics. Why wait for the JCP when there are enough mad people out there who will implement all the tools that Java is perceived to lack? See for example: https://github.com/nicholas22/jpropel-light [github.com]

Re:Java is cool (1)

nicholas22 (1945330) | more than 2 years ago | (#37648382)

There are some pretty cool developments going on in Java lately, e.g. LINQ, functions and reified generics. Why wait for the JCP when there are enough mad people out there who will implement all the tools that Java is perceived to lack? See for example: https://github.com/nicholas22/jpropel-light [github.com]

Also see http://slashdot.org/submission/1810940/java-linq [slashdot.org]

Re:Java is cool (0)

Anonymous Coward | more than 2 years ago | (#37648480)

unless they can get JOGL working out of the box, on any platform with hardware to support it, and running at a decent speed, they are doomed.

Along a similar line, GET RID OF SWING. I can't believe people still write applications with it, and finish the job thinking "hey, that looks great!".

Re:Java is cool (2)

sourcerror (1718066) | more than 2 years ago | (#37648604)

There's nothing wrong with Swing. If you don't like the defualt* look and feel just download for free/buy a nicer one.

http://geeknizer.com/best-java-swing-look-and-feel-themes-professional-casual-top-10/ [geeknizer.com]
http://dlemmermann.wordpress.com/2011/05/10/the-best-swing-look-feel-bizlaf/ [wordpress.com]

*I think the default Swing LaF is pretty nice since 1.5.

Re:Java is cool (1)

leenks (906881) | more than 2 years ago | (#37648670)

And replace it with what? The only real alternative is SWT, and that's awful to work with. At least Swing is a nice framework, and anyway, Swing apps can look nice, the main problem being that most developers don't bother to find out how (and that most Swing guides / books are wrong in many ways).

Re:Java is cool (0)

Anonymous Coward | more than 2 years ago | (#37649120)

SWT is more of an analog to AWT...JFace and EclipseRCP are more apt comparisons to Swing. Another alternative would be QT Jambi. Both would be preferable to Swing.

The main problem with Swing is that its focus is on developers rather than users. There's a lot of people that really enjoy developing Swing applications but almost none that actually enjoy using them, especially when the development was done on a different platform. SWT, for all its warts, does not compromise the user experience. With that said, many SWT applications (Eclipse, Vuze, etc) do compromise the user experience and thereby giving SWT a bad rap.

Java plugin (2)

Lord Lode (1290856) | more than 2 years ago | (#37648372)

Just make sure the Java plugin doesn't hang browsers anymore or make them sluggish!

I hate it when visiting a academical website that has the well-meant intention to show some mathematical principle using a Java applet, but instead Firefox hangs while loading it... I'm not sure if it's the fault of Firefox or the Java plugin, but no matter what, it doesn't help Java.

Flash can do it, why not Java?

Re:Java plugin (0)

Anonymous Coward | more than 2 years ago | (#37648692)

This is something I don't understand. Back in the day, Java applets were slow. Computers and browsers are now substantially quicker, yet Java applets are still slow.

However I can turn on my cheap mobile phone with a comparatively slow CPU, and load a Java game, and it loads and runs quickly. Why can't we have mobile phone java performance in the desktop browser?

Re:Java plugin (1)

leenks (906881) | more than 2 years ago | (#37649042)

With the latest Java releases (you are running the latest 6.0 release?) you shouldn't be seeing that behaviour. The way applets are handled has totally changed to be more like Webstart, which makes them much more robust. That said, I don't run Firefox, so maybe there is an issue there.

However, most Java applets are badly written. Few people appreciate how to use Swing/AWT properly in an application, let alone in Applets.

Re:Java plugin (2)

ADRA (37398) | more than 2 years ago | (#37649326)

Nah, its probably slow for the same reason people perceive slow (or fast) boot screens. 99% of all java applets download their entire payload up front, so you see a lot of spinning java logos waiting for things to load (because its downloading everything).

The savvy Java applet developer and most other app platforms (including most flash applets) have a low introductory payload to throw up the splash screen to show how close they are to loading the thing. If you don't know what I'm getting at, take a look at newgrounds and see pretty much every game/animation with their loading screens.

Re:Java plugin (1)

modmans2ndcoming (929661) | more than 2 years ago | (#37649124)

So, you are asking that Intel insert some custom circuits to process Java byte code directly then? That is how the cell phones do it.

And They'll Do This (1)

Greyfox (87712) | more than 2 years ago | (#37648378)

By suing anyone who actually does anyone with it? Sounds like a great strategy to me!

licenses (5, Informative)

roman_mir (125474) | more than 2 years ago | (#37648396)

I have a set of systems I am building that are used by a store chain. It's my line of products, one of the components is a store management system that is used in the stores. Every piece is server/client, but in this component the client is a Java swing application that also can be used as an applet (that's the good part about Java, with minimum work you can have it working as an applet if it works as an application.)

So I know that most people on /. are derisive about such solutions, but I am moving the stores from Window platform to GNU/Linux (Ubuntu actually). Of-course it's possible to build everything in C and C++, etc., but when the entire solution is java with every component on every server / client, even though most clients here are thin, that run in a browser of choice, using Java as a client is really the most logical thing.

Every component is compatible with each other, the communications between components are all built in exactly the same manner, be it a server-server or server-full client.

The important thing is that moving from Windows to GNU/Linux is easier, because the look and feel stays almost the same.

The one real problem for me is actually some driver for certain types of devices, like zebra thermal printers and such, but that's not a problem with Java itself, that was a problem with moving the clients from Windows to GNU/Linux (haven't figured this out yet, so one of the computers in stores is still Windows, because the configuration and font setup software supplied with the Zebra printers is for Windows.)

I can accept the hate, that the Java solution may not be wonderful or uber-cool or whatever the current feelings are about what people hate today, but the point is that it's working. If I couldn't get it to work, I would have had no choice but to go with something else, but that would require extra work, to get it all communicating with the server sides, that are Java based.

The speed of this application totally depends on the data model, database work, algorithms and communications, but the Java GUIs themselves are not presenting any major problems. If I want to, I can even style the main frame of the window with anything, any kind of graphic that doesn't look like a normal window, this works with JNI, but I don't really need that in this project.

I have used this in a browser as an applet and I have used this to communicate over the Internet, not just within the stores themselves, which is an interesting feature.

So can somebody tell me what they think I should be on a look out for here? Is Java going to blow the fuses or are the tables going to catch on fire?

Re:licenses (5, Interesting)

Anonymous Coward | more than 2 years ago | (#37648498)

We thought (signed) Java applets would be a sound method to get cross-platform client software onto desktops. What we found is that the browser plugin from Sun/Oracle and even OpenJDK is buggy and unstable on most platforms. We get assertion failures out of the plugin loader that have been listed as bugs on Sun's tracker for almost a decade, as well as bizarre GUI related exceptions. Things seem to get worse the more you use the applet/browser interfaces, for example to access the cookie store or the page DOM.

It crashes or hangs Firefox and Seamonkey on Linux x64 perhaps 10% of the time the applet loads. It crashes Safari on Mac OS X over 50% of the time. It seems most stable, but still not foolproof, on older Windows systems.

Re:licenses (1)

roman_mir (125474) | more than 2 years ago | (#37648710)

Well, in my case this particular client application is normally installed as full desktop app, running it an applet is possible and I sometimes do it, but that's not the main selling feature. In reality there is no reason to run this application in a browser. In a store there are normally 2 computers for administrators - one is on the Internet and internal network, and the other is on the internal network only. Both computers have the client installed and one of them has the server installed, both clients connect to that server.

The client app can control the store over the Internet without a browser as well. One issue that I found is that I have to replace the default open sdk that comes with Ubuntu for Sun implementation of the JVM. Also out of 15 computers installed, 3 are sometimes misbehaving in a strange way, the JVM gets killed with a weird problem like this [pastebin.com] . Yes, not everything is 100% smooth, but having this on 3 computers out of 15 (which really need to be replaced), is telling me that something is more likely to be wrong with the entire setup rather than the language or the JVM.

Re:licenses (1)

leenks (906881) | more than 2 years ago | (#37649172)

There is your problem, you are running as root ;-)

But seriously, it looks related to these two bugs - http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6935229 [sun.com] and http://bugs.sun.com/view_bug.do?bug_id=6896647 [sun.com] . Try enabling the XX options suggested and see if it fixes them (and upgrade to JDK7 when you can; there are lots of things fixed in JDK7 that annoyingly haven't been backported to 6.0).

Re:licenses (0)

Anonymous Coward | more than 2 years ago | (#37649296)

Rather than an applet, have you considered using WebStart? It doesn't sound like you need any of the advantages of applets and disabling the Java browser plugin will make the browsing more secure, which sounds important if these computers control the store and have internet connectivity. As a bonus, your app should require fewer modifications and run into fewer sandboxing restrictions than it would to work in an applet.

Perhaps not Java... (0)

Anonymous Coward | more than 2 years ago | (#37648732)

... but the JVM. Take a look at Scala, a language based on the JVM and binary compatible with any Java library. It allows for very short and elegant coding with much less pain than with C/C++. It's very nice to be able to run the same binary on both linux and windows, without the need to struggle with weird binary-incompatibilities and bugs within MinGW, Gtk+, etc. If you don't need maximum performance, it's really a nice thing. Java is not only for Applets, but also for stand-alone applications...

Re:Perhaps not Java... (1)

roman_mir (125474) | more than 2 years ago | (#37648876)

But I said specifically that I have a set of components, applications that are all written in Java, so why would reusing JVM with a different language be so great? It means having to learn all of the pitfalls of another language, and I code in Java since 97, among other things.

What is the advantage? There HAS to be an advantage to move code form one language to another, especially given that I have most of the main functionality done, and now it's just adding features and fixing whatever bugs that are found. What is the advantage of taking on another rewrite like that in a different language?

I am just counting the applications here, trying to remember all of them I created for the project in 2 years. FFS, FFL, Titan, Deimos, Mimas, IO Server, Phobos and Phobos Client, and a few small things besides those big ones. 7 of them are server side, 2 of them provide thin client and 1 is a full client that can be used as a stand alone or an applet (but it's used in production as a stand alone).

What would be the incentive to rewrite any of this in a new language, given that these are not toys, but are created for business?

Re:licenses (0)

Anonymous Coward | more than 2 years ago | (#37649174)

I have a set of systems I am building that are used by a store chain. It's my line of products, one of the components is a store management system that is used in the stores. Every piece is server/client, but in this component the client is a Java swing application that also can be used as an applet (that's the good part about Java, with minimum work you can have it working as an applet if it works as an application.)

If the applet requirement could be relaxed / is not needed, Python is also an option, especially if you combine it with py2exe. You can even have GUIs using wxWidgets or TK AFAICT.

Just a thought for those who aren't familiar with Java.

DO NOT WANT (-1)

Anonymous Coward | more than 2 years ago | (#37648432)

Go away. And stay back.

Plans for Java lawsuits??? (0)

Anonymous Coward | more than 2 years ago | (#37648456)

Is this really a plan to increase use of Java so Oracle's Ellison can initiate more lawsuits to hopefully create more revenue streams from other companies using Java IP?

baby steps (0)

Anonymous Coward | more than 2 years ago | (#37648468)

They might want to consider open sourcing Java. In the purest sense, that would mean cancelling the lawsuits against Google. After that, they could form an alliance with companies that have experience creating client side java frameworks. Google would be a good choice here, too, given the success of their Android efforts.

Java - aptly named (0)

Anonymous Coward | more than 2 years ago | (#37648482)

as in, what to go make while you wait for your desktop application to load.

Yay Java (0)

Anonymous Coward | more than 2 years ago | (#37648494)

Yay Java! Looking bad on every platform for many years (non-native widgets, etc. - you can always tell a Java app because it looks so out of place). Breaking applications with every "security" update (which is really a full release with lots of breaking changes). We're working (slowly) to get rid of damn Java on our 80,000 machines. The language would be fine, but the constant security problems and fixes that break existing code show that Sun / Oracle just don't put enough effort into a decent, supportable, implementation.

Re:Yay Java (1)

leenks (906881) | more than 2 years ago | (#37649184)

What are you replacing it with?

Re:Yay Java (1)

siride (974284) | more than 2 years ago | (#37649236)

Have you see all the crappy 3rd party Windows apps that, despite being written in C/C++ or C#/VB, insist on creating their own custom UI controls that work in subtly (and not so subtly) different ways from the ones provided with Windows and very often don't look the same as the Windows ones (and often look terrible)?

Performance (0)

Anonymous Coward | more than 2 years ago | (#37648500)

So will it be faster? That's all I care.

why sue google then? (1)

josepha48 (13953) | more than 2 years ago | (#37648506)

Why are they sueing google over its implementation of the jvm instead of working with them if they really want java on mobile?

Client side java, really? That's so last century oracle! Get with the program.

Re:why sue google then? (2)

icebraining (1313345) | more than 2 years ago | (#37648608)

They're a business, not a charity. They want Java on mobile if they can get part of the profits.

no need. javascript has too much momemtum (4, Insightful)

GodWasAnAlien (206300) | more than 2 years ago | (#37648536)

Google was the best bet in bringing Java back to life.

But Oracle is suing Google for making Java somewhat popular again ...

I imagine even Google will give up on Java at some point with some new platform that exposes binder services to javascript, deprecates Java, and merges with Chrome OS.

Re:no need. javascript has too much momemtum (0)

Anonymous Coward | more than 2 years ago | (#37648674)

Given that C# has a published spec, Google could write up a Dalvik compiler for C# out of spite.

Re:no need. javascript has too much momemtum (2)

Bill_the_Engineer (772575) | more than 2 years ago | (#37648850)

Actually Google was just bastardizing Java as much as Microsoft did with J++. Oracle has every right to sue Google and Google isn't as innocent as you seem to believe.

Sun made a promise to keep Java standardized as much as possible. Oracle stepped up to the plate and continue to defend Java.

Re:no need. javascript has too much momemtum (0)

Anonymous Coward | more than 2 years ago | (#37649016)

The important difference here is that mobile Java was in serious, serious need of "bastardization". Android is probably closer to what people know as Java than two random J2ME implementations are to each other.

Re:no need. javascript has too much momemtum (2)

angel'o'sphere (80593) | more than 2 years ago | (#37649112)

Actually Google was just bastardizing Java as much as Microsoft did with J++. Oracle has every right to sue Google and Google isn't as innocent as you seem to believe.

Sorry, but this is just plain wrong.
Google does nothing that harms Java in anyway. After all there is no "Google Java". The program text for android applications running on the Dalvik VM "looks like Java" just as C looks like "C". But that has nothing to do with Java Trademarking etc.

Re:no need. javascript has too much momemtum (0)

Anonymous Coward | more than 2 years ago | (#37649300)

Google was just bastardizing Java as much as Microsoft did with J++

At no point have Google ever claimed that what they have is Java. It might bear some resemblance to Java: hell, it may even be compatible with Java, but that doesn't mean squat as they don't call it Java. Unlike Microsoft, who bastardised their certified Java implementation into J++. Huge difference.

Never ever going to happen (3, Insightful)

Junta (36770) | more than 2 years ago | (#37648540)

First, you would have to get every vendor to agree to this. Not a single one will. Oracle has spent time making enemies of most people required for such a plan to succeed, and their mission statement completely conflicts with the goals of the rest of the people that would be needed.

Oracle has been too confrontational with Google to get their help on anything that would advance Oracle's motives.

Since Oracle's angle is in effect reducing platform differentiation, Microsoft and Apple are not about to give them the time of day as success would simply erode whatever value they could possibly construct.

Open source communities have been sufficiently alienated by Oracle's goings on that they don't have a prayer in Firefox or other open source browsers either.

Combine this political obstacle with the simple fact that there isn't a large need to be filled. Between Flash and Javascript+HTML5, there isn't much to add to the web experience and for things like smartphone and desktop applications, the respective vendors have it too good right now in their walled gardens to relinquish control.

This didn't happen in the late 90s/early 2000s, and it's not going to happen now.

Re:Never ever going to happen (1)

Bill_the_Engineer (772575) | more than 2 years ago | (#37648898)

First, you would have to get every vendor to agree to this. Not a single one will. Oracle has spent time making enemies of most people required for such a plan to succeed, and their mission statement completely conflicts with the goals of the rest of the people that would be needed.

Who are these enemies? Apple, IBM, and SAP are members of the OpenJDK project. Sure Google chose to make their own bastardization of the JVM and call it Dalvik which used a different byte-code format that is almost a one-to-one byte code replacement to the JVM format. They also are not using the standard class libraries either.

Google isn't the entire IT ecosphere despite what they wish. Now Google and their fanboys are astroturfing the comment boards a lot, but it still doesn't reflect the reality of Java's continued and dominate use in enterprise.

Re:Never ever going to happen (4, Insightful)

angel'o'sphere (80593) | more than 2 years ago | (#37649130)

Dalvik which used a different byte-code format that is almost a one-to-one byte code replacement to the JVM format.

That is incorrect. Javas byte code manipulates a stack, the Dalvik VM is a register machine.

Re:Never ever going to happen (1)

Junta (36770) | more than 2 years ago | (#37649240)

Apple's relationship with Java started at slightly more than token and has recently markedly declined as they realized they can charge people to develop and market iApps in a walled garden and Java doesn't play into their strategy.

IBM and SAP I'll give you are very attached to Java, but I don't see that doing much for "Java everywhere". Java in the enterprise is there and will continue to be there, but the goal in this article was Java *everywhere*. In the consumer market, Java plays a negligible client role, and an ever reducing role in internet services.

rewrite swing from scratch or stop right now (3, Interesting)

canoeberry (719818) | more than 2 years ago | (#37648572)

Why all the freakishly negative comments about one of the best languages to come along in a while? Super blazingly fast and fun to program. No, it's not ruby or python, but then again those languages are slow as thick shit in comparison. Anyway, if Java is going to succeed on the desktop it has to be possible to write apps which don't take up 500M of RAM, like Eclipse for example. That thing uses 500M of real memory for what!? Displaying a UI, edit three or four files, a console window ... I mean, this is 500M we're talking about. I blame Swing and the fact that its components are based on AWT Component, which is a huge memory hog with about 60 instance variables - holy cow, I thought I was exaggerating but it's close enough (53 + 13 because JComponent extends Container not Component). 66 * 8 = 512 bytes although not all elements are pointers I admit. Awesome! (not). I wonder if things would have been different if they didn't completely screw up Swing. AWT was done in about a week in 1995, it's OK that it wasn't perfect. But there is no excuse for Swing to suck so badly.

Re:rewrite swing from scratch or stop right now (2, Interesting)

Anonymous Coward | more than 2 years ago | (#37648846)

Java just allows for shitty code. I have written C++ apps. They all used somewhere between 2 and 10 megs of RAM. I wrote a small Swing GUI with one text pane and 4 buttons, it uses 50-70 megs of RAM. WTF? Then, I wrote an entire enterprise app in SWING and man that thing uses a TON of memory....somewhere around 256-500 megs depending on if someone has been using it a lot or not. Not to mention now I work on J2EE code, which is just inefficient as shit. Our web frontend is so slow and all the UI guys say it's the backend and I keep telling them it's the ORM layer and there is nothing I can do about it except add indexes. Eclipselink sucks balls. God I miss the days of C++ when I managed the memory I created. I felt so fulfilled deleting it. Now I can just create objects willy nilly and not know the consequences in the JVM. Fucking inefficient garbage collection. I've watch programs thrash pulling in gigs of RAM from the DB and trying to garbage collect over and over. It's pathetic. Long live efficient languages. I am not a bad developer, btw. I am senior level, btw. I have worked with grad students and learned from the best software engineers out there. Don't call me a newb you Java fanboys. I've worked with it for 10 years now and generally like the language but hate the performance.

Re:rewrite swing from scratch or stop right now (2)

Doctor Faustus (127273) | more than 2 years ago | (#37649146)

Eclipse doesn't use Swing. Eclipse is the premier SWT app.

Major User Facing Java Applications (1)

Stormy Dragon (800799) | more than 2 years ago | (#37648584)

From the article:

I can think of few examples of consumer-facing desktop Java applications.

How about Spiral Knights [spiralknights.com] ? It's not World of Warcraft, but a million users isn't something to sneeze at.

But we know what Oracle licensing means... (1)

Torp (199297) | more than 2 years ago | (#37648594)

Soon we'll be able to run java on our desktops - only requirement is an Oracle support contract for the low, low price of 250K$/desktop/year?

Oracle is a sly fox (0)

Anonymous Coward | more than 2 years ago | (#37648610)

Oracle doesn't give a damn about Java on the desktop. They are trying to do what Google did, and that took them by surprise. Leverage the immense community of Java developers to embrace mobile. This time using an Oracle approved version of java and not a bastardised version. This is the reason that you see JavaFX being pushed on the desktop, the reason for the convergence between java desktop and java me. Its an Oracle game that tries to cut the floor from beneath Google. With this strategy wether they win or loose against Google, Java (not java me) will continue to be relevant in the mobile space. And if they win against Google, they get the benefit of being the gatekeepers on the mobile space. What are mobile developers going to do ? Abandon the fastest growing segment of mobile devices and put their efforts in window phones yeah right. Or flock en masse to iphones ? Yeah right.
Oracle is playing the right game here, and since Nokia abandoned Qt, mobile developers really don't have a lot of choice.

Client side java imho (0)

Anonymous Coward | more than 2 years ago | (#37648638)

For my sites, "Client Side Java" means JavaScript. Purists can rant and rave that JavaScript isn't really Java, but in reality its good enough, already in the browser, and enough to satisfy the job. If you want real programming on the client, use a real language like C. Interpreted languages like BASIC and JAVA execute much much slower than compiled languages like C. They are also easier to lock down than compiled languages (that doesn't mean that languages like C can't be locked down to an equally refined degree, it just means that its a whole lot easier to do in interpreted languages like BASIC and JAVA). People who rant about "oh, compiled java bytecode blah blah" are blowing hot air up the pretty girls skirt. Java is interpreted, and slow. Its always been slow, and always will be slow. JavaScript is as fast (or as slow) as Java, but wins because its at least elegant (10 lines of source code can be a complete JavaScript program, 10-15 lines of source code is setting up the execution space for Java, followed by 15 lines for the program, then another 5-10 lines to tear down the execution space). I wasn't the first to say it, but I will repeat it: "Java: All the elegance of C++, All the speed of SmallTalk". In truth, its actually as elegant as COBOL (which is less elegant than C++), but I digress.

Re:Client side java imho (0)

roman_mir (125474) | more than 2 years ago | (#37648924)

How is all that drinking working out for you?

Re:Client side java imho (0)

leenks (906881) | more than 2 years ago | (#37649238)

JavaScript is nothing like Java. We aren't being purists, it's a totally different language, with totally different behaviours and semantics.

Java isn't interpreted, nor is it slow. C++ is *not* elegant either, it is pretty disgusting actually.

I think I have to side with the other poster...

HTML5 etc. (4, Insightful)

lkcl (517947) | more than 2 years ago | (#37648666)

um, i know it's being said quite a lot, already, but it's worth repeating: java's pretty much dead on the desktop. people are even replacing Flash applications with HTML5, as it's reaching high market share and maturity, especially now that IE9 has actually better (read "stricter") HTML5 compliance than the Free Software equivalents. how in god's name is oracle expecting to break into that?

the other thing that's worth emphasising is that when you have alternative language bindings to HTML5, you get the best of both worlds. so... why doesn't oracle put its money behind getting java bindings (or, better "generic" bindings like DCOM and XPCOM) on top of HTML5 browser engines? with Trident (the engine behind MSHTML aka IE) that's a done deal already: Trident (MSHTML.DLL and MSXML.DLL) already *has* DCOM bindings so it's a matter of about 2-3 weeks to get something like that up-and-running. XPCOM (XulRunner) is a little trickier: you'd have to find or create java bindings to XPCOM (they don't exist afaik) and the hardest (technically speaking) is webkit (used in android, safari, ipphon etc.)

then you have literally the best of both worlds. HTML5 as the "front-end", and whatever-language-you-choose to control and direct it. btw this is exactly what's been done for the pyjamas project (http://pyjs.org) except using python not java.

Re:HTML5 etc. (2)

angel'o'sphere (80593) | more than 2 years ago | (#37649160)

um, i know it's being said quite a lot, already, but it's worth repeating: java's pretty much dead on the desktop.

I really wonder on what basis comments like this are made.
Every new Java version improves also the feeling on the Desktop. I absolutely don't get what you are talking about. Most companies I have connections to use Java, on the Desktop. Why should they write their desktop applications in a different language than the server part?

DOA (2)

smcdow (114828) | more than 2 years ago | (#37649254)

FTA: That means JavaFX is now supported on any device that offers a JVM.

Bzzt. Thanks for playing. There is one extremely important class of device that does not and will not ever offer a JVM.

Load More Comments
Slashdot Login

Need an Account?

Forgot your password?

Submission Text Formatting Tips

We support a small subset of HTML, namely these tags:

  • b
  • i
  • p
  • br
  • a
  • ol
  • ul
  • li
  • dl
  • dt
  • dd
  • em
  • strong
  • tt
  • blockquote
  • div
  • quote
  • ecode

"ecode" can be used for code snippets, for example:

<ecode>    while(1) { do_something(); } </ecode>