I've been a zone leader with DZone since 2008, and I'm crazy about community. Every day I get to work with the best that JavaScript, HTML5, Android and iOS has to offer, creating apps that truly make at difference, as principal front-end architect at Avego. James is a DZone Zone Leader and has posted 639 posts at DZone. You can read more from them at their website. View Full User Profile

Forrester's Take On The Future Of Java

  • submit to reddit
Forrester have released their latest report on the future of Java, with the headline that "Java's future will be constained by the bounds of Oracle's business model". This post summarises the report into five key points. There is one key point I'd like to discuss here - Java in educational institutions.

"Fewer young developers will learn Java first. One of Java's greatest strengths has been the number of young developers who learn it as a first language. As Java becomes less and less of a client-side language, we expect to see educational institutions switch to other languages for primary education, ones with stronger client-side representation such as JavaScript and HTML 5. Over time, developers will begin to view Java as a server-side language for enterprises — like COBOL."

Really? I'm not sure that the fact Java is seen as less of a client side language has much bearing on whether it is taught as a first language. Using a "real" language rather than HTML5 or JavaScript brings huge advantages. Teaching programming through Java brings a proper appreciation for the structure behind programming. What's more, the evolution of IDEs over the past ten years has made it even easier for young developers to pick it up. And there are specific IDEs for Java in education - BlueJ and Eclipe's IDE For Education project. If you want to teach real programming, is there a better alternative to Java?

There are some other interesting points brought up from the report. Forrester's take on demise of the JCP speculates that Oracle will "formulate an alternative that ends the fiction of the JCP as an open process", leaving IBM and Oracle in total control of the future of Java. Perhaps that's not such a bad thing. The OpenJDK still allows for contributions that can still have enough impact to gain acceptance to official Java releases.

ReadWriteWeb published this interesting infographic from the report, showing the companies that influence the direction of Java.



Greg Brown replied on Tue, 2011/01/25 - 8:11am

Sorry Forrester, but I can't imagine any of my CS profs. ever teaching JavaScript or HTML 5. Maybe in a freshman "Intro to Computers" class, but that's about it.

Java is still a great language for learning programming concepts, though I do think that students should also have a solid understanding of memory management. Not sure if that is covered in modern, Java-based CS classes (I primarily learned C and assembly in school).

Nicolas Frankel replied on Tue, 2011/01/25 - 8:32am

"As Java becomes less and less of a client-side language, we expect to see educational institutions switch to other languages for primary education, ones with stronger client-side representation such as JavaScript and HTML 5. Over time, developers will begin to view Java as a server-side language for enterprises — like COBOL."

Please, can someone who is more technically oriented than me tell me how can Java be less of a client-side language and be viewed as a server-side language for enterprises?

I'm really amazed to read such things...

Jörg Buchberger replied on Tue, 2011/01/25 - 9:42am in response to: Nicolas Frankel

hihihi - you really hit the nail on the head there, Nicolas

Mark Unknown replied on Tue, 2011/01/25 - 9:43am

Ignore this report. Just another "report" by an "analyst" trying to make his quota of "interesting" "reports".

Scott Hickey replied on Tue, 2011/01/25 - 9:59am

  • Forrester is again so confused. Java being taught in the school has nothing to do with it being a client language.
  • Javascript is a real programming language, is certain ways, more "real" than Java.
  • IMHO, Java is a horrible language for teaching programming. Certainly at a university, either Python, Scheme or Smalltalk would be much better for teaching programming than Java. The fact that so many Java programmers don't understand that Javascript is a real langauge makes the best argument for not teaching kids Java.

Maarten Thijs replied on Wed, 2011/01/26 - 3:28am

As a developer instructor I have used Javascript to give small introductions (1 day) into programming, because it is flexible, easy to create a gui and easy to run. For my courses of several months I've used Java to start with because it is more strict and there is less room for errors, Java IDE's also give you better possibilities for debugging (ok firebug is great, but not the same as debugging in IntelliJ or Netbeans). Java has also a very wisdely used: client side, servers side, JavaME, Android, Applets, ... It is true that my c++ experiences have learned me great deal about memory management, but also gave me many headaches, but still good point.

Albertas Laurin... replied on Wed, 2011/01/26 - 5:18am in response to: Nicolas Frankel

JSF, tag libraries, template engines and other stuff which generates client side components, probably will be obsolete soon. View part of MVC will be fully relocated to client side, and server will be json data source. It is obvious looking to html5, jquery, javascriptMVC and other stuff that transition is in progress. That is so named thin server architecture.

Jay Huang replied on Wed, 2011/01/26 - 9:46am

Didn't Oracle say that they will make JavaFX to work with Java API and serve even faster graphics ? Didn't Oracle VP mention that they have a strategy to run Java inside a JavaScript environment ? They all seem to me that those are Java client advances.

I still think that problem with Java client is the deployment of Java.  If Java has a runtime like Flash, we'll definitely see a lot of java applets.   We know how hard it is today to make Java applets work in all the browsers and Java WebStart does not work all the times. This is the core problem that Oracle needs to solve. 


Hontvári Levente replied on Fri, 2011/01/28 - 12:18pm

I agree that client side development is important to bring in young developers. I had seen my 6 years old son learning programming. Children are interested in reproducing things, and what they see every day is client apps. Like calculator, a text editor, or even a browser. Actually he did not create code first but many forms / dialog boxes, buttons, edit boxes etc. Then he started to write one line event handlers to buttons etc. He first used C++ Builder with his grandfather, which had a great GUI builder, and then I gave him NetBeans, even though I always worked with Eclipse. It was difficult for me to help him this way, but I knew that NetBeans had a good GUI builder. Now he is 10, he can do HTML, JSP, Javascript, SQL but he is not interested in them.  GWT is the only web related technology which is interesting for him. And GWT is mostly a GUI, at least for him.

Instant Tax Sol... replied on Thu, 2011/08/04 - 10:38am

Oracle's Java road map and commitment to invest reassured enterprise customers and prevented a split with IBM but alienated many in the open source community. -Instant Tax Solutions

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.