It is fascinating how certain technologies have such a far reaching influence on what we do in our day to day lives.
About twenty years ago, Java language came into existence. The effort was led by Sun Microsystems with James Gosling as the father of the language. Java showed that way on how something could be both open source and yet have the absolute best quality. A zillion systems got built on it, thousands of open source APIs and frameworks got released based on it. I know there are pockets of loyalists of lot of other programming languages that claim a better programming model or performance or best practices enforced and engrained in these languages. Ruby-on-rails, Python, and the list go on.
Like any other business, leadership and market share is what makes a language successful. Having said that, Java has been the darling of CIO and CTOs as their prime job is to:
(a) hedge the IT infrastructure bets they make
(b) certainty of IT ROI and
(c) abundance of skilled manpower to keep the long term labor cost down and affordable.
However, the IT industry heavyweights have countered Java’s rise in various ways.
Microsoft produced a similar language (C#) with a similar runtime environment (CLR in place of JRE). Microsoft added and removed Java runtime from IE several times and spent millions of dollars defending anti-trust lawsuits. Needless to say, every new IE version came with the fear of what kind of Java runtime Microsoft would ship along with it, if any.
IBM, the smartest and oldest enterprise player who has seen it all, always stayed friendly and was a part of the community effort. IBM contributed to rise of Java by making Eclipse a really worthwhile platform to do Java coding. Then they open sourced it to crowd source and made it richer and an absolute standard in Java coding tools.
Oracle bought Sun Microsystems so they had no need to look at Java as a threat.
Google with its “don’t be evil” approach always stayed the Java friendly company. Android is totally based on Java to quote an example for starters.
Apple with its typical American style of “be innovative and charge a bomb for the innovation”, stayed away from Java. Objective C took quite a while to become of good coding language. So much boiler plate still goes into coding Objective C and there is a new language called SWIFT being offered by Apple for coding mobile apps. Of course, Apple’s proprietary-ness does not make it a pariah because of the way it does a great job on the retail technology front. It scores several brownie points over the competition when it comes to cool gadgets and retail products.
Okay, all of the above is a bit of old story now. The question is what is after Java. What are the emerging new paradigms in the world of coding and building new open sourced highly available mission critical software products and platforms especially in the enterprise space?
I would say, it is Big Data. Having said that, big data is not a language. However, why would a CIO or CTO care? His goals are still the same – cost efficiency, productivity and value for IT expenditure and leveraging open source to bring down Y-on-Y licensing costs.
Big Data has started a new wave of innovation, skill requirement and presents a whole different approach to problem solving in a cost effective way. There is an assortment of Big Data framework types currently available in the marketplace. This doesn’t necessarily translate to a confusing situation though. Each type of Big data technology is suited to solving a specific type of problem domain. The situation is akin to having an assortment of flowers for making bouquets. The more the merrier. All you need to do is pick the correct flowers to match the theme and occasion. There are map-reduce databases, document databases, graph databases and the list goes one. There is a whole of bunch of tools and utility around each one of them, therefore to harp on the bouquet analogy, you also have a good choice of ribbons and props to make your bouquet perfect.
The next time you have to build a new application, perform a detailed technical design, pick the right Big Data technology, top it up with tools that you will be using along with it, and just go ahead with building it. Zero licensing costs is very much the norm as was the case with most Java frameworks in the last two decades.
Your thoughts? I would love to hear them!
Take charge of your enterprise mobile strategy. Download this eBook for the tips and tricks to choose the right mobility partner -