The Java software platform is now more diverse in terms of innovations and what is the next best thing.
I just had brief overview view of Ceylon programming language. In my own view, this represents more evidence of a sea-change of thinking about Java the programming language.
Figurehead and Leadership
James Gosling was the long-term figurehead for the Java programming language and also the JVM, since 1995. His influence was felt for millions of Java engineers out there, who knew how famous he was and still is, what he did. At JavaOne conferences he was a superhero for many developers.
In the last years of Sun Microsystems, his influenced waned as that company went through difficulties. Short after Oracle acquired Sun, Gosling left. He has now reappeared at Google in an employee in as-yet unknown role.
In short, the global community lost the influence of Java key leader as in the programming language. In fact, Gosling, has gone on record, at this year’s Server Side Symposium Journal to reportedly have said that he no longer cared anymore about Java the programming language
Confidence in Java
On the one hand this can interpreted that Java is no longer relevant. The programming language is relevant, because they are so many customer who are running applications in it. On the other hand those customers who are running application on systems are no longer dependent on a figurehead.
The return on investment on Java has been taken and used up. When enterprise first invested into the platform around the turn of the century, having a global figure head, and a team of dedicated people around to help market the platform as the next best thing. Now in 2011, this ambition has been in achieved, that barn door has been blown off and the horses bolted. Businesses have a great applications running now on Java enterprise servers. The money has been made and now what?
Whilst we were all enjoying the rise,rise and rise of Java from the client-side to the server-side in ubiquitous fashions, we were making good business and money. The majority of us, where happy to accept the lack of innovation in the Java programming language, we accepted the ideas of best practices, and even the mishap of J2EE design pattern.
Some developers were not so confidence in the evolution of Java. That anger or frustration or irritation or curiosity began to appear in open source innovations, such Gavin King’s Hibernate and Rod Johnson, general unhappiness with EJB 1.1, so he invented the Spring Framework.
Others like Martin Odersky, though instead of making Java better, rather they would make a better Java. The professor at EPFL came up with a scalable language. James Strachan wanted a dynamically typed version of Java, instead of a statically typed language. Charles Nutter already found an external platform like Ruby and thought it would great to port it the JVM.
The innovation was a deeper level in to building and designing, or adapting a programming language to supersede the current implementation of Java the programming language.
In a nutshell, I do not think we be worrying about proposals for programming languages appearing on the JVM. Like Ceylon appearing out of the blue, a few days ago, I believe it is all good. With Ceylon specifically, there is no point getting upset, until you see the product and have a play with it yourself. Individually, that is how we all learn any new technology. It is certainly the way learnt Groovy, JavaFX Script and Scala. One cannot just determine a proper and contrite conclusion on hearsay or back up an opinion on a whim.
There is a sense that with Java the programming language not really changing syntactically or improving since 2006 there have been a open ground for other alternative JVM language to enter the mainstream. Developers are now living a diverse dream of languages if they are inclined to do so. In other words, what is your motivation to learn? This is the time to do, because it has never been so colourful and rich.
My own motivation is to get into functional programming, whilst not giving up the object oriented development that I spent over a decade achieving. In 1997 I wanted to become a C++ Guru, because I thought that that was the way forward. I was going to be Standard Template Library king and be a generic programming. Of course, it changed. I attended a Java course and learnt something different. No more malloc and free, garbage collection was here, a nascent collection library and a byte-code executor, a virtual machine, portability, networkability and security. Great! Java was the future. I knew absolutely where my programming destiny was going into the next millennium.
By 2010, I already knew that my love affair with Java programming language was diluted. I still have a great respect for Java the programming language, the enterprise side, and I accepted many of the warts. However I have expanded to other possibilities beyond Java on the JVM.
For all of our continual learning, change is normally a good think. It enhances our professional competence, re-energises our brains. It prevents us from falling in to the trap of the status quo.
There is one other factor that is needs to be address in pushing the boundaries. The long wait for Java the programming language to change fundamentally, have allowed several provider to attempt to challenge Java. The success of Java was its own ability to be attractive, an instant-win, and emotional future value.
This has not been lost on those who might have a political agenda. Whatever we do, we must aware of that business agenda. We must ask why they are introducing this technology? What do they really want to a achieve? What is the future value-add? In this regards, James Gosling, was massive advocate for the Java programming language and therefore now that he longer cares about Java the language, he will be missed by millions, directly and indirectly. That is a shame. It will be up to graceful leaders in the other language communities to lend a hand.
Thanks for reading and listening