A surefire way to ignite a Web flame war is to say one programming language is better than another. James Gosling, known the “father of Java,” understands that as well as anybody.
A surefire way to ignite a Web flame war is to say one programming language is better than another. James Gosling, known the “father of Java,” understands that as well as anybody.
…I’m sort of neutral about Java. The language is “O.K.”. I don’t particularly like the J2EE server model but oh well.
But I don’t see it as being “in trouble” anytime soon. Too many people have implemented their business on it and are now dependent on it. It would be a large effort to move away. Altho’ we have moved from IIS/DCOM/ASP to OAS/J2EE/JSP over a period of 4 years (well, almost done, anyway).
I sort of wish we never did because it was a lot simpler before.
Undoubtedly, Java is getting better…
But java is getting better under Sun’s control.
Now, Java is forked into ME/SE/EE.
However, the improvement is in what Sun like it to be.
Review the history of Java.
Sun’s perspective may be obstacle for java’s development.
And the response of Sun is slow ..
For instance:
1.SWT vs Swing/AWT could be both included into JRE.
Swing is good.
but some users may like SWT more.
2.SIMD instruction syntax support for Multimedia/Mathmetic development is poor (JNI sucks)
3.J2ME
Recently, MSA is added to J2ME.
However, it is a little bit too late…
4.bad design of some java framework (ex: JMF)
Sun should be more open for java
==
I’m sorry for my poor English.
Edited 2006-01-10 04:59
1.SWT vs Swing/AWT could be both included into JRE.
Swing is good.
but some users may like SWT more.
And bloat an already large JRE? Thanks, but I don’t think the added bloat of SWT will benefit Java at all. If anything, I think Java needs to be streamlined.
2.SIMD instruction syntax support for Multimedia/Mathmetic development is poor (JNI sucks)
I wasn’t aware that there is an existing syntax for such a thing. Shouldn’t that be left up to the JVM to automatically vectorize what it can?
I agree with the rest of your post though, apart from the need to further open source Java. Look at the Java article here on OSNews, and read Dalibor Topic’s thread on why Sun won’t open source Java.
It would be neat if they did relicense their implementation under an OSI license, but they have not seen a business need to do so in the past 10 years, and it is unlikely that they’ll see a business need in the future 5-10 years. Sad, but true.
Otoh, I don’t think the question will be very relevant on free software platforms in a few years anyway, due to gcj, GNU Classpath & all that.
cheers,
dalibor topic
re:.SWT and Swing/AWT could be both included into JRE
Its hard to support 3 GUI library.
Also despite of swt benefits (swt/jface/eclipse platform have reach components library, very powerful framework, better appearance)
– its hard to port SWT on different platforms, e.g. swt has problems on MacOSX.
– swt has problems running on JavaWebStart .
Personally I don’t like SWT/JFace design /architecture,
it seems SWT architect tried to use his C++ experience on java project ;-).
Think twice before choosing SWT for your project UI.
Looking at the vast improvements on-going in java 6.0 “Mustang” with regards to desktop applications. On the web development side we have lots of frameworks to make the developer’s life easier. As for the IDE’s we got Eclipse and Netbeans, yeah it is getting better, BUT with a lot of help from the community, java owes its success to the community.
In terms of client side performance, windows. I’m on vacation, and have been using some of the java programs from my home linux install on my host’s windows computer. Despite the similar specs, and even having slightly less ram, swing’s flying on their system compared to linux and SWT seems significantly slicker. If that performance translated accross systems I might actually start writing with it for my own use.
If you look for innovative software development, Java is the wrong place.java. The interesting stuff is currently happening in programming languages like Ruby, Python, etc.
I like Java and I’m sure its great for server development and all that, but it just moves too slow.
I’ve read up on mustang and I can’t wait. Nevermind all the backend goodness, system tray notification is FINALLY going to be in mustang. Imagine that, for how long have operating system had some kind of a system tray, and now in 2006 Java is finally getting it.
Now, I know you could have downloaded some library to do it, thats not the point.
I understand Java tries to be as cross platform as possible. But with a feature like this, they could have easily added an unsupported exception or something like that. It’s really more of an annoyance.
But I agree with the article when it says, Java will deal with the ‘complexity’ by making the IDEs better, not by dumming down the language. Thats the key, because really its all about the libraries and tools these days.
java itself isn’t slow, swing/awt and swt are slow… i used to write console apps in java and it was quite fast at the time… almost as fast as compiled c++…
Browser: Mozilla/4.0 (MobilePhone PM-8200/US/1.0) NetFront/3.1 MMP/2.0
Just to clarify, I wasn’t talking about Java’s performance. I was talking about how fast the Java language/libraries progress.
As I said. System Tray notification only coming in in 2006 with Mustang…that’s ridiculous.
Also, as others have mentioned things like the class path and other annoying tidbits. My personal opinion is they need to move towards the end user and less of Java purity.
Java has a hard time – it’s damned if it does, and damned if it doesn’t. For example, Java’s strength is through it’s API foundation. Lots and lots of useful classes. However, this is ‘bloat’ to many, and ‘not adequate’ for others.
In other languages, like C/C++, Python, Perl, you don’t get system tray stuff out-of-the-box the box either. You have to install some UI toolkit libs and grab some bindings. Similarly, in Java, it was *possible* to use the system tray directly via JNI, or you could have used any of the 3rd party libs (JDIC, JTray, SysTray, …)
It surprises me how people have extremely high expectations of Java. Perhaps that’s due to Sun’s marketting or because it’s a commercial venture, or something.
My leanings are towards FOSS. Good ol’ OSS Perl gets rave reviews because it’s so well supported and has all the 3rd party modules on CPAN. Well, Java’s well supported too, and has lots of OSS extras available (see java.net). However, “Java sucks becauase it doesn’t have X“!
Now, I’m not saying Java’s perfect. But I think it’s pretty good for writing many types of software, not just web-based stuff. I find desktop apps are easy to write in Java. Mustang will make desktop apps even better. They do definitely need to experiment more with loading times, I’ll grant you. Progress has been good over the last couple of releases, and apparantly, they can’t actually release a major version unless certain performance measures are improved!
> Java’s strength is through it’s API foundation. Lots and lots of useful classes. However, this is ‘bloat’ to many, and ‘not adequate’ for others.
Well, you forgot also used to be ‘buggy’ in many parts for ex. Swing, printing, etc.. with Sun tooking years to fix bug thousands of developpers ‘voting’ that it should be fixed ASAP.
Maybe these part are still buggy, I don’t know: I’ve stopped developping in Java.
Some say it’s crap, othere are neutral, again others love it. Just face it: this applies to any other language. Everything has its good and bad things (except maybee Visual Basic ), and people grow to like or hate it. It’s just as simple as that.
I just like java. Sure things could better, but hey, what couldn’t…
Edited 2006-01-10 10:12
I think Java is still lacking in some areas:
1. No way to access file permissions via the File object.
2. No way to get at the environment which every OS seems to have. They took away getEnv().
3. Calling of dll’s outside of Java is a real pain in the butt.
4. Printing blows big time.
5. My real grip the CLASSPATH!! Why can’t java just look in the directory from which it was started and load any *.jar files it finds there and any sub directory below!
I agree the CLASSPATH thing is really crazy.
But overall I think that Java and Swing in particular have come a long way in a short space of time.
1 – Java has getEnv is back in Java 5.
2 – I think you always have access to File permissions, but not being able to set them in Java. it is lready implemented in Java 6. Also getting free space in a directory is also implemented (it is harder than it seems.)
3 – if you use a third party product or library, it is piece of cake to access dll and com objects (like JNIWrapper).
4 – i do not comment on printing, but we did not have a lot of issues.
5 – first of all, it is a bad idea, and it is possible if you put them to the Java/ext <i do not suggest tough.>.
1. I can’t use Java 5 so we are screwed
2. What access to File permisions?? Please elaborate
3. Why should I have to use a third party for this? At least with .Net it built in.
4. Whatever???
5. Why is this a bad idea? In my opion the CLASSPATH was a bad idea!
With CLASSPATH one can alter where and which jars to load making disparaging versions coexist easily.
You’re using the wrong object, you want a Channel not a File.
I’ve been trying to learn a programming language for a while and after flailing around painfully in the mess that is C++ I switched to Java.
I quickly managed to put together some useful programs with it, and once I got my head round OO programming I really liked it, apart from the passing an object as the constructor to an object as the constructor to an object wordiness you have to indulge in some times 😉
That was until I tried to learn the web enabled side of it. From clunky servlets to cumbersome JSP and supposedly helpful but convoluted frameworks like Spring and Tapestry. It’s a mess.
Who in their right mind would use this stuff instead of Rails or PHP. I hope Sun come up with an alternative but I’m sure their head is too far up their own bottom as this interview showed.
The fact that there are barely any Java enabled web hosts should give them a hint how much use Sun Java Studio Creator is going to be.