Chasing Programming Languages || Extruding Circos
MAT 259, 2014
Mohit Hingorani

Computer science is a very dynamic field; it has been rapidly changing since its conception and shall continue to do so. Majority of the computer code is written in so-called ‘programming languages’. It is essentially a way of instructing the computer to perform a set of instructions. Over the years these so called programming languages have evolved, some caught on, some did not. Seattle with heavy weight companies like Microsoft an amazon, can possibly a good measure of it. I queried for the most popular languages: Java, C/ C++, Objective C, PHP, Python, Ruby, JavaScript, SQL, Perl , Lisp. I may include HTML and CSS for comparison, though they are not exactly programming languages.

I will be looking into data from (2005-2013): an 8-year period.

The design has been inspired by Circos ( a data visualization tool used to visualize relationships. I intend to extrude the circle into a spiral thereby utilizing the third dimension to represent time. I have chosen bright blue for the spiral staircase with fine lines to demarcate the days. Each step represents a month. The background is black. I have color coded each language, and each book ( cin & cout ) is represented by an arc of that color. Obviously the checkout is lower in position than the check-in. The height of the arc is governed by how long the book has been checked out for. I have used ControlP5 for adding a graphical user interface for interaction and used peasycam for exploration in 3D space.

This visualization allows individuals who are not familiar with SPL to interact with the data and explore the trends in programming languages and draw there own conclusions. The aim is not to visualize anomalous data, instead to educate people on current trends and possible predictions.

Color Scheme: Blue & Black

For each language:

select cin,cout,title,deweyClass from inraw where deweyClass > 0 && deweyClass < 7 and year(cout)>=2005 and year(cout) <= 2013 and title like "%< insert programming language here>%" select cin,cout,title,deweyClass from inraw where deweyClass > 0 && deweyClass < 7 and year(cout)>=2005 and year(cout) <= 2013 and title like "%python%"

I did not spend a lot of time doodling. Instead I quickly switched to code and spent more time on creating the right visual effects.

So far the results on the queries have resulted in very interesting patterns and problems. Certain languages like LISP & PERL have been waning and programmers have lost interest. On the other hand Objective C , Python & Ruby have been in strong demand and readers interest has resulted in number of checkouts increase as time goes.

SQL, PHP, JavaScript has witnessed the most number of checkouts and have remained extremely popular over the years. The demand for C & Java has also been strong over the years and has witnessed marginal increase. Such models can easily be extended to visualize future predictions based on current numbers.

Source Code