Sun’s starting to phase out mobile Java that’s been the standard on cellphones and other small devices in favor of their standard edition, which are made for PCs everywhere. Sun VP James Gosling’s reasoning for shifting everyone over to Java Standard Edition is because ‘cellphones and TV set-top boxes are growing up’, meaning they’re getting enough processing power to handle all the demands of full-featured Java.
The J2ME, especially CLDC sucked enormously. I mean programming for JDK 1.1 these days?
No proper I/O.
No collections.
Development tools are less than optimal. (they work, but just…)
And then: CDC vs. CLDC vs. whatever else someone could come up with.
Good riddance!
this is a nice move, especially if they do the thing with splitting up the JRE and such to make it lighter, there are certainly lots of shit in j2se you do not need on your cellphone, but language version 1.5 is NOT one of them..
the proper collections framework, generics, and various other nice classes from j2se is surely something that will make it alot nicer to develop for mobile phones.
these new things could also make a MIDP 3.0 be a whole lot better..
a mobile edition I can understand
But I always wonder why they have different version if not to complicated life for no good reason. Why a enterprise and standard? Ahh, web libraries and a web server .. come on!
where is the .net entreprise edition, C standard and enterprise version. Did you run a python standard or enterprise interpreter.
Next Linux distro will sell a enterprise edition, where gcc used the –enterprise-code-quality-compilation – it will be better!
I like the fact that there is a jre and then different sdks. The J2EE package contains a lot of stuff that is irrelevant for J2SE.
The reason why .net doesn’t even have a EE edition, is because they don’t have anything enterprisey
The sheer number of enterprise solutions and packages (3rd party, jsr’s etc.) is waaaaay higher and more advanced than .net. Not becuase .net is necessarily inferior, but simply because of java dominating in this marketspace (unlike desktop).
I don’t know how true that is. The more popular frameworks have already been ported over (hibernate, spring), and I find that The .net Way scales up a hell of alot better then The Sun Way scales down. I would still recommend J2EE for the largest of projects, but that really doesn’t cover a huge amount of stuff. The problem with J2EE is that it is far too over engineered, and you and to do ANYTHING you have to write a ton of “plumbing” code. Once you have that done, it tends to work very well, but from a purely development point of view, I am a hell of alot more happy working with .net.
DISCLAIMER: I havnt really done J2EE work for about 4 years now, although before that it is all I did for about 3 1/2 years. So if something changed recently, I wouldnt know.
J2EE has changed A LOT – most of the plumbing code is now auto generated (for better or worse).
EJB3 has really made a lot of differences and stuff like JPA which integrates nicely with netbeans is really really nice.
However J2EE is really an abused term, since it covers a ton of technology, some better documented and used than others.
I’m offended that you qualified criticism with intelligent caveats based on your actual knowledge. You’re holding the rest of us to an unreasonable standard.
1) .Net versions of Spring and Hibernate are not as good as Java ones. In spite of that I doubt that these days there is a greate difference (from develeoper’s point of view) between .net and j2ee for small to medium sized projects.
2) Thanks to Spring plumbing is gone now. Present problem with modern j2ee are view technologies and the whole “threat browser as app enviroment” aproach. JSP and others tend to be a major pain in the ass when compared to something elegant and proper (WinForms for example). Hopefully Flex or JavaFX will take care of that.
Edited 2007-10-23 19:04
The reason for different version is to reduce the size required for downloading – if they included everything which Java has, no one would download it – they would just put up with not having Java support.
J2ME served a purpose, now its time to move on – things have changed, the need to have a ‘castrated’ version is no longer relevant given larger flash capable mobile devices, faster processors and consumers demanding more from their applications. They want applications that are close to feature comparable as their desktop ones.
kaiwai is right, there was a reason for CDC and CLDC. Different features on the devices, different needs by the developers.
Unfortunately both of these are slow and unresponsive on the device.
As for mysaifu…i have tried it on pocketpcs and it is very basic.
“Cellphones and TV set-top boxes are […] getting enough processing power to handle all the demands of full-featured Java.”
Boy, I’d call that counter-intuitive. Unless maybe the “full-featured Java” were radically tuned for a smaller environment. Java’s my favorite designing language, but haven’t the Java folks always been in radical denial of the footprint?
I look forward to the day when I can run NetBeans on my cellphone.
I personally prefer Eclipse on my phone
By the way, a GPL J2SE virtual machine already exists for Windows Mobile.
It is called Mysaifu : http://www2s.biglobe.ne.jp/~dat/java/project/jvm/index_en.html
I mention it really for information, I did not really tested it.
Possibly completely unrelated to java, but is anybody else under the impression that a lot of current smart / power phones sport extremely slow interfaces?
It looks as though the same evolutionary path is being taken as for desktop pc (eg. boot time for dos vs. vista)
While I can appreciate having firefox or azureus in my smartphone, I first and foremost want it to have sub-second boot time and sub-millisecond keypress response. Java has never been good at startup times, nor at small memory footprints…
Does this mean we might finally get Bluetooth (and perhaps even USB) support as standard in JSE? For some reason JME supports it but has never been ported to JSE..
Who, exactly, thought that Java on embedded systems was a good idea? No CPU cycles to spare, very little RAM, slow storage, etc. It takes my phone ages to load a Java app, and it’s completely useless while Java is loading.
I’m reasonably certain that my Nintendo DS has a lot more power/RAM than my cell phone, but I wouldn’t run Java there.
That said, I do use Eclipse sometimes on my iBook, which is certainly painful.
– chrish
when I switch back from Ubuntu to OSX this weekend, I tried to find a equivalent to the IDE a was using with gnome.
My requirement are code completion, macros, regex, color syntax
I tried all the python/wxpython ide/text editor I know. (spe, drpython, edittra, PyPE, ulipad). wxpython is a hell slow on OSX, plus it has many interface glitch. Code completion took eternity to show up choices, far more than to write it. Simple scrolling of text use up to 80% cpu.
I finally stop and fully use eclipse which was the lightest and fastest of all IDE I’ve tried (Xcode don’t have python code completion). Except the ugly* interface, it is as fast and responsive as a native OSX application.
*why they promote native look and of SWT and choose custom made tab of disputable taste?
The people who invented it:
http://java.sun.com/docs/white/langenv/Intro.doc1.html#943
The desktop versions for multiple OSes/architectures were Sun’s loss-leader method of convincing vendors it was a workable, architecture-independent platform. You the consumer get it for free, but the money comes from vendors in need of licensing it for embedded applications.
Granted, it took nearly eleven years for that to become a reality (HD-DVD, BluRay) and as a “real-time operating platform” it’s been surpassed by more robust RTOSes like QNX, but the article makes it clear Sun’s patience is paying off.
I don’t have a phone capable of running Java. But I have to wonder just how well WORA actually works on such diverse (and limited) hardware, with diverse display resolutions, input methods, ram quantity, etc.
My first encounter with write once, run anywhere, was over twenty years ago with a product called ZBasic. It had all these screen scaling capabilities and other capability mapping abstractions that sounded great. But writing the same app for my Apple ][ and my DOS box, I quickly saw the pitfalls of WORA on diverse devices. A decade and a half of making various applications work with a range of different serial terminals didn’t make me any more sanguine about such things. Anyone who has ever supported WordPerfect 4.x or 5.x on Unix should know what I mean.
Edited 2007-10-23 17:19
I see this as a move designed to accelerate the deployment of JavaFX on mobile devices. I don’t think anyone really expected JavaFX to be ported to JME, but Sun definitely want to see it on phones.
I think the iPhone is, if nothing else, a great example of how mobile UIs are entering a new generation, and JavaFX is going to be well-positioned to participate.
I’m not sure javafx is really the gem people want it to be. I’m pretty unconvinced.
But, hey, I’m not an analyst.
I finally get a new phone that sports MIDP2, is still crippled by CDLC, and now they start this whole initiative.
*sigh*
Oh well. At least the alphabet soup of JSR’s might finally come to an end!
I do corporate desktop support for a company that loads
a custom install of XP and that also relies heavily on Java with IE for their Intranet apps.
Lately, we’ve been seeing a lot of problems regarding the JVM loading that cannot be fixed by removal / reinstallation.
When IE is messed, we can fall back to Firefox until the user can turn in their laptop to onsite support but I haven’t found any alternative JVMs that include browser plugins.
Do anyone know of any?
I’ve noticed that Java updates for Windows never remove previous versions. Apologies for asking, but does “Add or Remove Programs” still show multiple versions of Java on your plagued desktops?
It does. Recently, I had to make a little clean-up on some of our machines here at work and found lots of entries for different versions of the JRE on the “Add/Remove Programs” applet in the Control Panel. I scratched the back of my head for a moment and then removed the old ones… And yes, it still worked properly afterwards!
Yes, it seems that the JRE Updates install full versions
so they can be independently removed. I’ve seen as many as 11 different Sun JREs installed.
In a few cases, older versions, as far back as ver 1.3 are needed to support apps that won’t work reliably with anything newer but, for a ( growing ) handful of users, once Java errors start happening, nothing but a re-imaging will resolve the problem.
So, I was hoping that someone could recommend an alternative JVM with in IE browser plug-in. ( Regrettably , some of the organisation’s intranet sites don’t work properly with Firefox or Opera )
getting enough processing power to handle all the demands of full-featured Java
Somehow…..I doubt it. Java is a couple of minor rev’s away from becoming bloatware.
Java doesn’t belong on a cell phone. Period.
If I didn’t have a 3.6GHz Core 2 Duo on my PC tower, I would say Java doesn’t belong there either.
Why? Because it is the biggest piece of bloat-ware that has graced this world.
My cell phone has a faster processor than a computer 15 years ago. Yet a simple game for it takes WAY longer to launch than a more complex game 15 years ago. My interface takes longer to load than the whole OS back in the day.
I will give you the point that if you had to program all your games and stuff in assembly langage, you might spend too much time to justify the normal performance. But you have no excuse to not use C++.
You Java devs are lucky that people have forgotten what performance feels like, or maybe they just never seen an app on a cell phone that was made in assembly or C/C++.
We don’t design better mobile processors and embedded controllers so that the general user experience goes down because of all the crap that software programmers decide to add.
Edited 2007-10-24 14:48
If you have no idea what your are talking about, then I suggest you don’t comment on a topic. Particularly non-constructive rants.
C++? Like yeah..
I will us is as soon as it gets:
1) compilers decent enough to generate code of same behavior on all those target platforms
2) libraries and frameworks which are at least comparable to java in their scope, support and documentation
3) an IDE comparable to RSA
4) get rids of i-can-too-write-a-meaningful-pointers-and-a-twisted-templates mentality
It’s not that Java is gift from God or something in that vein, but it is the fastest portable, well supported language..