A few years ago (2005), Bruce Tate wrote ‘Beyond Java’ where he tried to glimpse into the future and guess at the next big thing. He used criteria including language features, community, marketing and killer apps to help with his analysis.
In some ways the book is a thinly disguised introduction to Ruby for Java developers. However he correctly predicted that Ruby, and particularly Rails would gain significant traction. He also identified that static typing, which was such a help for so many many years, wasn’t always appropriate and in some ways was starting to hold us back. Any pretenders to Java’s throne would likely incorporate dynamic typing.
- Python reinvented itself with Python 3
- Objective C is now one of the biggest languages on the back of the iPhone and iPad.
- Javascript is now recognised as a first class programming language, and may even have its killer app in the form of Node.js
- C# started to diverge from Java, adding functional elements including lambda’s and features such as the var keyword which start to blur the distinction between static and dynamic typing
The big challenge for people like me is what to focus on. The only thing thats clear to me is that the future is polyglot programming, and that other than that, I can’t predict it.
None of which solves the problem of where to focus. I need more hours in the day…