Programming Language Rankings January 2015

RedMonk‘s comparison of programming languages on Github and Stack Overflow shows some interesting things in the landscape of programming languages.

  • I knew that JavaScript was big but to my surprise it’s steady leader in the rankings.
  • Java is (still) not dead.
  • Google’s Go has entered the Top 20.
  • The rise of Swift. It is used as PR for Apple but it also results is some heavy discussions in the comments.
  • CSS is seen as a programming language.
  • There must be lots of topics on SQL and XML on Stack Overflow while there are very few projects on Github for these languages.
  • R is “the” language for statistical analysis.
  • C# closes the Top 5. One of the commenters assumes that it is not ranked higher because of it’s wide use in the enterprise environments. I guess there’s some truth about it since this comparison is between tags on Stack Overflow and projects on GitHub.
  • There are just too many programming languages.

Google Geo Developer Day

Google collects not just the bits and bytes on the internet but it also  publishes a great deal of the data collected in the real world. This so called Geo data is used in applications as Google Earth, Maps and Sketchup.


Last Thursday Google organized the first Dutch Geo Developer Day. I attended this Geo Day together with 250 other “Geo Developers”. During  this day we heard more about the new features in the Google Maps API. and other Geo applications.


In the morning we had a presentation from Bernhard Seefeld, Tech Lead Manager at Google. The essence of his presentation was that with the “basic” maps provided by Google we are only half way there. The maps are a good foundation. The maps only become useful after we add additional information to it. What they are actually saying is that Google provides the base ingredient for a mashup. As an example




Two other things worth mentioning were Google’s mission: “To organize the world’s info and make it universally accessible and useful.” and a quote on visualization: “The web is about opening access to information. Some information works much better with the right visual context.


The Google Geo-team added two new features to the Google Maps API. The Google Maps API  is the programming interface developers use. The new features are:



  • GeoRSS, GeoRSS can be used to add location information to objects or events. You could read about a political conflict in some unknown banana-republic but with the help of GeoRSS you can plot the news item on a map.
  • KML support, KML is a file format used to display geographic data in an Earth browser, such as Google Earth, Google Maps, and Google Maps for mobile. KML uses a tag-based structure with nested elements and attributes and is based on the XML standard. With KML it is possible to load dynamic data as an overlay on a map.


The next speaker was Brandon Badger, Product Manager at Google. He again stated that Google Maps is a blank canvas and that users (you, me and the other 499.998 users of Google Earth) should fill the gap with interesting geographical information.


The Maps API is free to use and on the question if the Maps API will remain ad-free the answer was: “we will not disappoint our 30.000 users”. However there is a 50.000 API request limit per day.


The name KML comes from Keyhole Markup Language. Keyhole is the name of the digital mapping company Google acquired in 2004. KML support used to be only available for Google Earth users but since two week it is also available in the Maps API.
KML files can be exported from Google Earth but also from Picasa. What? Picasa? Yep that’s what he said Picasa supports geotagged photo’s. Imagine what you can do with your vacation photo’s.


The third speaker was Remco Kouwenhoven. A city counselor in Groningen and owner of the Nederkaart mashup site.


His presentation was a walkthrough of some interesting Dutch mashups:




His future expectations:



  • still in an early stage, too much gimmick like
  • the future as marketing instrument is promising
  • interaction between projectdevelopers, architects and the public cab on development plans


In the afternoon there were three workshops:



  • Google Maps API
  • Google Earth
  • Sketchup


The workshop on the Maps API was more a Q&A session. The assignments and the workshop are on-line available.


The Sketchup workshop was more like a hands-on presentation. In less than an hour a house was build complete with views from different angles but also with different lighting. How is the light going to be in summer? Or at noon on a winter day? Sketchup makes it possible to look at your creation under these different circumstances. Pretty amazing. Needless to say that I was impressed by Sketchup as a sketching tool. The features shown in this product will have a big influence on other modeling tools.



Some links from my notes:






All in all it was an interesting and inspiring day, for homework I have a couple of ideas to work out …

Krugle and Google Code

At AnAppADay, Dana Hanna mentioned a search engine for developers named Krugle.

I followed the link, did a basic search and I must say it looks really good. You can refine your search based on language, on project and some other criteria. Impressive!


On the other and we have the recently launched Google Code.
GoogleCode is a site for external developers interested in Google-related development.

It’s hard to compare the two sites. Both are search engines but Google’s focus is narrowed down to their own software development. In the presentation of the search results Krugle scores again.
Of course this is only a first impression of these sites but for now Krugle is my first choice.

Google not only searches it’s own code base no it can actually search throug all public sources with their “other” search engine Google Code Search.


Dana Hanna aka the Software Jedi is writing one application a day for a period of one month. He writes;

“May the world benefit from the purposeful destruction of my personal life.”

You can follow the results of his work at AnAppADay. Only four days left to complete his quest.

Virtual PC Development and Debugging

The software development department where I work writes all software in a Virtual PC environment. Depending on the project this can be Windows 2000 with Visual Studio 2003, Windows 2003 with Visual Studio 2005 or even Linux with Eclipse.

The desktop machine where the Virtual PC with the development environment is running is still a basic office machine with the regular office applications and Virtual PC 2004. Based on the project the development environment is chosen. Sources are stored in a central SourceSafe repository. So it’s very flexible.

Recently Microsoft released the white paper “Microsoft Virtual PC 2004 Development and Debugging“. This document gives a lot of tips and tricks an explains in detail some of the more advanced areas. It’s a must read for developers who want to start developing with Virtual PC but also a great startpoint for those that just want to try out Virtual PC.

Console with tabs

Console is a command line client with some interesting features like; tabs, shortcut keys, transparency and a lot more …

I personally really like the transparency feature. Most of the time I use the command prompt to execute a special command and then switch back to the previous application. The console neatly fading into the background.


It’s also possible to run Cygwin or other Command Line processors within Console. In my case I configured my Console with 4 different tabs:

  • Console, the default command prompt
  • Cygwin, the Unix shell emulator
  • VS2003, Visual Studio 2003 command prompt
  • VS2005, Visual Studio 2005 command prompt


The application settings are stored in a XML file so it’s easy to share your configuration between different environments or with other users. You can download my configuration file (save target as …).

I first heard about Console on Scott Hanselman’s blog but that was the version without tabs. More recently Lifehacker made it the Download of the day. That triggered me to try it again. This time it’s here to stay.

Consolas available for VS2005

With the release of Windows Vista six new TrueType fonts will be released. The fonts have exotic names like Calibri, Cambria, Candara, Consolas (monotype), Constantina and Corbela. These six new fonts are optimized for Clear Type.

One of these fonts -Consolas, a monotype font- is made available for users of Visual Studio 2005 (Download here 4.3MB Note: Visual Studio 2005 is a requirement!).
Consolas is intended for use in programming environments and other circumstances where a monospaced
font is specified. The installation package sets the default font for Visual Studio to Consolas.

By default the font in VS2005 is set to Times New Roman. At itself a nice font but not for programming. No clear difference between the character ‘0’ and the number ‘0’ for example. For developers the Consolas font is a big improvement. 


I really like the Consolas font. I used to be a big fan of Proggy, also a great programming font, but at this moment I prefer Consolas.

Online references:
The next big thing in Online Type at Poynteronline
Microsoft’s ClearType Font Collection at Typographica
Fonts for Programmers at Typographica
Talking about new Fonts on Longhorn (video) at Channel9

Silence is FOO!

Everybody who has read codesamples in whatever language will encounter the famous words “Foo”, “Bar” and “Foobar”. Did your mind wander of on trying to find the meaning of these words? I remember it confused me as I was looking for a deeper meaning.

Well last monday my colleague Michiel send me this link to the Etymology of “Foo”. I first couldn’t believe it. There is an actual RFC document on these words.

According to the RFC “Foo” was invented somewhere around 1938. It’s not clear if it was the Warner Brothers cartoon “The Daffy Doc”, Walt Kelly’s “Pogo” strips or Bill Holman’s “Smokey Stover”.

Silence is FOO, Daffy Duck in "The Daffy Doc"          Smokey Stover the fireman

But as I was following the “Foo” trail into the past I came across the Smokey Stover website and even a WikiPediA page.

Even if Bill Holman wasn’t the inventor of “Foo” I’m sure he was responsible for putting this word in our collective brain.
If you have a moment or need a distraction visit the Smokey Stover website and browse through the comics. You’ll see there’s a lot of “Foo” to be found. A good example is the comic “Glass Lake”. The Foo’s are mostly presented as side-kicks of the main story line.

Partial comic as sample

Following are some of Bill Holman’s FOO quotes:

Divided we fall
United we FOO

No FOO is Good FOO!

It’s a long lane that has no FOO

FOO mixed with GOO lessens POOO

A FOO on tap makes one flap

Hear no FOO,
See no FOO,
Speak no FOO

All’s FOO
That ends FOO

Little FOO peep lost her sheep

FOO while the iron is hot

Keep thy
FOO and
Will Keep

A FOO no

Roses are
red violets
are FOO

The postman always FOOS twice


In telling her age a woman is often shy in more ways than one.

Well for now this was enough FOO for me. But I know now that the next time I read a codesample and come across the word Foo I will think about Smokey Stover with a smile on my face.

Smokey Stover by Bill Holman"


MS Development Process

Wesner Moise posted about a development talk given by Scott Guthrie.

Scott Guthrie’s provided a behind the scenes walkthrough of how software is built at Microsoft, showed the real schedule, design docs, code, test plan and cases which were used and how they were built.

Scott Guthrie is founder and product unit manager of the ASP.NET and VS Web Tool teams at Microsoft.

A low-level Look at the ASP.NET Architecture

Great article on the inner workings of ASP.NET from Rick Strahl:

This article looks at how Web requests flow through the ASP.NET framework from a very low level perspective, from Web Server, through ISAPI all the way up the request handler and your code. See what happens behind the scenes and stop thinking of ASP.NET as a black box.

Another DOS-prompt

Sometime ago I was browsing some weblogs and found some really nice tips on how to enhance your commandline experience.

  • Use F7, shows commandline history
  • Use pushd and popd
  • Change your prompt to $P$_$+$G, displays the pusd stackdepth and gives you a full line for your commandline input
  • Another wild prompt: [%computername%] $d$s$t$_$p$_$_$+$g