There was the Web 2.0. Everything faster, cooler, fancier. JavaScript ruled suddenly. People who told you NOT to use JavaScript in webapps are now JavaScript Gurus. Because Web 2.0 was there.
Once there was JCP 223. Before 223 the common Java Developer did not use too much scripting or even completely ignored it. I mean: type safety! high speed! And much more! All the benefits you have with the compiler and then you should work with scripting which runs pretty often with an interpreter?
But then people saw that JCP 223 is good and you can use it in very dynamic portions of your code. They suddenly had JavaScript at their hands. Groovy/Grails, which was built on the ideas of Ruby/Rails. And finally there was Scala. With Scala suddenly everybody spoke about scripting and how cool it is. For some reason the interest in combining PHP with Java was never so big as the interest in Scala, but no problem. As long as JavaScript works, everything is fine.
And the iPhone was a success. That means much people out there learn Objective-C. Because it’s cool and fancy and it runs very well on a Mac, not even on iPhones. And don’t forget the iPads.
In January Oracle took over Sun and a half year later everything becomes strange. I mean there is Android which had this Dalvik technology build on the back of Java. We all thought it was cool, but then Oracle claimed about some patents. Now you cannot know what’s happening with Android.
But in October Apple decided not to port new versions of Java for the Mac. Well, i can understand: no other operating system provider ports Java on its own. Why should do Apple? Let’s hope somebody does it – at least within the OpenJDK community. Not having Java available on Macs would mean Java is not longer platform independent.
Only one day later Nokia told the world it would make use of HTML5 and QT (and ignored Java)
And now? Before only one or two years chances were good you are working on a plain Java project. The programming world splitted:
- Windows, Officestuff – .NET
- iPhone, iPad, Mac – Objective-C
- RIA – Adobe Air, JavaFX, HTML 5, JavaScript
- Webprojects: PHP, Ruby on Rails, Python
- Unix-Servers and Legacy Systems: Java/JEE
- Linux-Desktops and Nokia: QT
- Business – SAP/Abap
- and of course Scala and Co.