The Java News forum seems to have disappeared, so maybe this is the best place for my question.
As we already know, Sun is finally releasing the source to Java. I'm wondering what are your expectations of the effect this will have on programmers. Generally speaking, do you think that open source java will expand or diminish java's usefulness?
eeek...I had a look there, and it is a very scary place. I'll just stay over here, and ask a more specific question.
For example, it still seems that real-time graphics/sound programming gets more development in C++ because--correct me if i'm wrong--it can reach the hardware more directly and hence, its faster for an experienced programmer. But I don't know much at all about C, so could a future version of java give me a chance to work in these fields? Perhaps a streamlined jvm that gives some low-level access?
Well, I think that the fact of Java becoming open source do not obey to the particular needs that you describe. Therefore, it would be very difficult to expect, to foresee or to consider this becoming an effect of making Java opensource.
And have you taken a look at the games section in Java.com. This is improving a lot in Java and it seems to be an ever growing market.
We all know what C/C++ is capable of, we know about the extraordinary control, freedom, power and speed that it grants you. But we also know Java was born to make C/C++ simpler and avoid the classic pitfalls that come along with all that freedom, control, power and speed that C/C++ grants. And of course with the intend to persuit the multiplatform goal.
I would not be expecting Java to deviate from its original goals. All I expect is it to move faster to satisfy the changing market needs and with that I hope to see some interesting improvements in the Java platform and a more competitive warfront.
We all expect the best coming out of this open source initiative. But as the jedi master Yoda would have said in this regard: difficult to foresee the future is. [ December 18, 2006: Message edited by: Edwin Dalorzo ]
As regards graphics performance in particular, JOGL -the Java OpenGL binding- has made big strides, so I wouldn't think that Java is much behind other platforms in terms of graphics performance and capability.
it will likely decrease the adoption of Java, especially in large(r) companies, and thus the usefulness of Java for the professional. That's however not related to the quality of the product but to the license under which it is released. Most multinationals in my experience refuse to use any software released under GPL (even if there's a dual licensing scheme), and will therefore either stick with 1.5 (or earlier, many are still using 1.3 and contemplating moving up to 1.4 now that 1.3 will be end of life soon) or drop Java altogether in the months/years to come.
The quality of the product can go any which way, but I fear it will go down the drain. 1.6 already (under Sun's guidance) is a disastrous release, consisting purely of "me too" features included purely because "XXXX has it so we must have it too". Given the idiotic stuff asked to be implemented and the non-bugs demanded be "fixed" on relevant mailing lists and forums, I fear that will only get worse. And that's without forking, which is sure to blurr the landscape and make end-users unable to tell why they can't use the Java application they just downloaded or run the applet on a website they want to visit for all the errors they get. They'll have downloaded "Java" from somewhere, blissfully unaware that it's a for with some changes that prevent (deliberately or not) classes from running that were not compiled against it. But instead of blaming that fork, they'll blame "Java", screaming bloody murder about "Java is bad" all over the net, tarnishing the reputation of the platform as a whole (which in turn will have the net effect of reducing acceptance of Java in companies and causing more of them to move away from it).
Somebody better tell Trolltech that they can't sell their dual-licensed software to big corporations.
Nothing much will happen to Java because of the change in licensing for the simple reason it will not effect Java developers.
Personally I think this will boost Java because it increases the huge platform independence advantage over .net. Java support in mono will also help Java along.
As was noted in the thread posted forking will not be a major factor because any other JVM implementations must conform to the standard to call themselves Java.
A few people who are afraid of open source without understanding what it is might jump ship. But those who either like open source or don't care as long as it works and doesn't unduly restrict them will stick around, and that I wager is the majority of people.
In the end, it will be business as usual for Java. [ December 18, 2006: Message edited by: David McCombs ]
"Should array indices start at 0 or 1? My compromise of 0.5 was rejected without, I thought, proper consideration."- Stan Kelly-Bootle
Joined: Dec 31, 2004
Geez, Joeren. You indeed foresee a bitter future for Java.
For the sake of many I do hope you are wrong. I see other open source projects in the market that have not suffered that fateful destiny you describe. That is the case of PHP and Linux. Surprisingly, they are ever growing, wining more and more market every day.
Also, the IT community is very aware of the diference between the benfits of commertial versions and all their support and freely distribuited versions.
Java is one of the most used languages in the world, behind it there are a lot of big companies and billions of dollars associated with it. I do not believe all those big companies behind Java are going to let their businesses go down just for a license change. We are talking about Oracle, IBM, BEA, Sun, Borland, etc. This people are not going to let the chicken of the gold eggs to die. [ December 18, 2006: Message edited by: Edwin Dalorzo ]
Joined: Mar 22, 2005
It should be pointed out that the name "Java" and the Java cup logo may still only be used for releases that have been through Suns rigorous compatibility test. Jeroen implies that an incompatible fork can be released under the name "Java", and that's not the case.
Aslso note that the JDK will continue to be relased under the current ("commercial") license in addition to the GPL. Jeroen implies that companies will shy away from either version because the GPL'ed one exists. That's a guess, which I don't understand where it's coming from.
I do agree that too many features are thrown into the core JDK, and that not enough attention is being paid to addressing long-standing bugs. Many of the additions having been made in 1.4, 5.0 and 6 could have been add-ons that can be downloaded and installed if required; it's not necessary to have everything and the kitchen sink in the baseline release. This is a general concern, though, and has nothing to do with the license. [ December 19, 2006: Message edited by: Ulf Dittmer ]
Joined: Mar 09, 2004
Wow, ok. I'll try one time to save my topic from spiraling down into a mob of confusion and bitterness.
Rethinking the issue, I guess a better way to rephrase my question would be like this:
Since device manufacturers (e.g., sound & video cards) supposedly bear some of the burden of developing an API for their device, would the open source of java give them more incentive and capacity to develop a java-based API?
After taking the time to learn the J2D and also some of the JAI, I find them useful, and as well the Apache Graphics Commons is impressive. I suppose my answer is that if these API's can find some foothold in commercial development, then yes.
Joined: Oct 17, 2006
I don't think you will ever see something like cg(A c variant for graphics developed by nVidia) available as Java code, nor openGL or DirectX. Open Sourcing Java won't change that, and you certainly won't see device drivers written in Java. The license isn't the barrier, the high level nature of Java is. Perhaps someone will come up with a good way to create native code in java, but wouldn't count on it. But you can still access those non-Java API's in Java. Is that closer to your question?
If you are interested in doing low level development, you need to use the tools that are appropriate for that kind of work. That means mainly C, but also some C++ and even assembly.
Java is becoming quite respectable for 3D work, but not for writing low level graphics and sound API's. [ December 20, 2006: Message edited by: David McCombs ]