Chasing Programming Languages || Extruding Circos
MAT 259, 2014
Mohit Hingorani
Concept
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.
Design
The design has been inspired by Circos (circos.ca) 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
Query
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%"
Doodle
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.
Results
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.
Code