Review Of The Programming Year 2013
Written by I Programmer   
Tuesday, 31 December 2013
Article Index
Review Of The Programming Year 2013
Mobile And More
The Universal Assembler



This was the year when Android and iOS took control of the market.

Despite Blackberry's brave attempts to stay in the game it looks more or less out for the count. Next year's Blackberry Dev meeting has been cancelled and we all wait to see what happens next.

Nokia too succumbed and after being bought by Microsoft took Symbian and Meego with it by closing the app stores for these two platforms.

On the positive side Mozilla proved that it was still possible to launch a new mobile OS and get somewhere with it. Exactly how far Firefox OS has got is something of a mystery because it has only launched in small low end markets. It still isn't a fully convincing mobile OS, but it does keep on improving and more surprisingly Mozilla seems to be making the right marketing deals. 

On the other hand Canonical demonstrated that you can build the OS but you can't necessarily get anyone to use it. Ubuntu for Phones and Tablets seem to make it a good choice for just about any form factor you care to contemplate, but the trouble is you can't buy off-the-shelf devices that run it.  So far Ubuntu for phones and mobile is a theoretical choice.

The two big mobile operating systems Android and iOS continued to evolve. iOS7 became the standard and Android evolved into KitKat. Apple kept going on the same track it had been following, but with a flat user interface that some found horrible and some found smart and clean - very few raved about it, however.

Google, on the other hand seems, to have realized that it needs to control both Android fragmentation and the OS itself. How do you control an open source operating system? The solution is to move increasing amounts of the services into the Play services mechanism. In this way you can extend the OS without having to upgrade previous versions and control who gets to use these proprietary extensions. 



Browser Splits And Joins



The browser world got a little more complicated in 2013 as the WebKit open source rendering engine used in Chrome and Safari was forked into WebKit and Blink. Google took its share of WebKit to create the new browser and was joined by Opera which had recently given up using its own rendering engine. Although there were lots of worries at the time, none of these seem to have come to fruition and the world with WebKit, Blink,  Gecko and Trident is no more difficult to cope with than before. 

The other big event in 2013 was the news that IE11 would, at last, support WebGL, the 3D rendering extension to canvas. Why did it take Microsoft so long? Presumably because WebGL is based on OpenGL and this isn't a Microsoft technology. Whatever the reason the adoption of WebGL by IE11 makes 3D a mainstream web technology. 

This doesn't mean that the bickering between browsers is over. Currently the biggest split is over WebRTC with Microsoft going its own way on the specification for this real-time communications API. It will be interesting to see if the new Microsoft CEO thinks that it is worth pursuing Internet Explorer as a means to further Microsoft's interests. 



Not The Year Of Glass 


Despite still being of great interest and able to raise an argument between a pair of non-techies on its merits or otherwise, 2013 was not the year of Google Glass. Still in limited availability, Glass continues to be of interest to programmers wanting to stay on the leading edge, but without a proven market place it is still a risk. This year the details of the API became available and some of its limitations became clear. Most people expect Glass to break out early in 2014 and either make a huge difference or sink without trace. 






It has been a quiet year for languages with no really new launches. Mostly the existing languages put on another decimal point increment and a few minor features. 

Google's Go reached its 4th birthday and version 1.2. Google's Dart, on the other hand, reached version 1 and managed to persuade ECMA to make it an international standard. Neither language made anything like a big breakthrough in 2013. To their number you can add Rust at version 0.7, Ceylon at version 1 and TypeScript at version 0.9. 

Ruby reached version 2.0.0 at the start of the year and 2.1.0 by its end. It also started to attract comments like "Is Ruby Dying?" The reason for this pessimism is that Rails is no longer the latest wonder technology and has been partly eclipsed by the Node.js way of building websites - in the opinion of the technical press at least. Ruby had a life before Rails and no doubt will continue with its own brand of clever language features into next year at least. 

If Ruby was supposed to be dying then 2013 was the year when Java became untrusted and many hoped it would die. So many patches were issued to fix security problems that it was no surprise that Oracle finally admitted that Java 8 would be a little late. At the end of the year things seem to be a bit better for Java in that at least it's not in the media spotlight for being insecure. 

Both Scratch and App inventor made it to version 2 this year and became very viable programming environments not only for introducing beginners to programming but also for building prototype apps. 

Perhaps the strangest event in the language world was all due to Steven Wolfram. At the start of the year he asked for help naming the language used in Mathematica. Despite all the useful suggestions that were made he ended up calling it Wolfram Language, as we all guessed he would. Later in the year Wolfram Language was suddenly promoted to the status of the language we all have been looking for. About the only practical outcome was that he also announced that you could now get Mathematica for free to run on a Raspberry Pi - quite a bargain. As to Wolfram Language and changing the world, we will have to wait until next year to see how much hot air and marketing it all was. 

Finally in the last moments of the old year Microsoft suddenly announced a new language which most are calling M#. This is supposed to be the systems language used to implement the Midori experimental operating system. It is based on C# and plays the role of a type-safe managed systems programming language. It looks as if we will have to wait until after the clock has struck midnight to discover what its really all about.


Last Updated ( Wednesday, 01 January 2014 )