At the turn of the year we always take a look at the dubious results offered by the TIOBE index. Don't get too hung up on issues of accuracy, this is more about the feeling of the programming community rather than anything else.
Go is the TIOBE programming language of 2016 and no matter what you think of the methodology you have to agree that there is something in the choice that rings true. So for a moment put aside any statistical or methodological grievances you may have and let's just consider the cultural information these opinions contain.
"Go has won the award for 2016. Google's Go language won 2.16% in one year. Runner ups Dart (+0.95%) and Perl (+0.91%) follow at a considerable distance. The main drivers behind Go's success are its ease of learning and pragmatic nature. It is not about theoretical concepts such as virtual inheritance and monads but about hands-on experience. Apart from that Go has built-in support for concurrency programming."
Personally I think Go is much overrated, but I have to admit that it has attracted a lot of attention over the year and, yes, it does deserve the award. Equally important is that I can't think of a language that deserves it more - can you?
Go is in interesting language, but it still has many question marks over its future development, and indeed its future, meaning it isn't going to persuade me to move from either C or Java when used appropriately.
It is however difficult to explain the sudden upsurge in interest in Go:
The sudden rise in interest started in the summer of 2016 and presumably is still going on.
Although Go is language of the year it isn't in the Top 10. It is currently at number 13. What has been happening at the top of the table is fairly boring, see: C Slides In TIOBE Index,. We have Java at number 1, followed by the Cs - C, C++ and C#. OK, C# is more of a cross between C and Java, but it is still in the same family. We have to get to number 5 before something different happens in the form of Python, then JavaScript and the amazing Perl.
What keeps Perl going?
It is probably its crazy community of Perl-mad programmers and for its troubles it is the runner up Language of the Year showing a steady rise in interest over 2016. However you can't ignore the fact that it isn't the power it once was:
Finally we come to Dart. There has been something of a publicity revival in the language's fortune in the past year. Put simply, people seem to keep writing about it and the Dart community seems to have improved in its efforts to make the language sound important and popular. For example, the Dart blog was quick to report its success in the Tiobe index even though it was only a runner up:
Dart in 2016: The fastest growing programming language at Google, 2nd fastest growing in TIOBE Index
Dart was the fastest growing programming language at Google in 2016 with millions of lines of code written. It also made it to TIOBE Index Top 20 this month.
It takes time to build something as ambitious as Dart and, in some ways, Dart is still in its infancy. But we're glad the hard work is starting to pay off.
Many thanks to our amazing community!
We're going to celebrate by ... releasing 1.22 next week (as per our usual 6 week release schedule).
It is currently number 17 in the TIOBE list and its curve shows a marked increase in interest recently:
You could call it a revival and perhaps it is now long enough ago to forget that Google hasn't been as kind to Dart as to its other language, Go. It dropped Dart support in Chrome and picked Typescript for Angular - hardly votes of confidence.
The bottom line is that if you use any of the top five languages there seems to be little to drive you to adopt the language of the year or the runner ups.
What could possibly be language of the year in 2017?
We all have the opportunity to influence the choice - just get the conversations going!
Using imitation learning, a robot has learned to perform surgical procedures as skillfully as human surgeons, bringing the field of robotic surgery closer to true autonomy.
Ursina is a new open source game engine in which you can code any type of game in Python, be it 2-D, 3-D, an application, a visualization, you name it.