Hacker News new | ask | show | jobs
The Most Popular Programming Languages in GitHub Since 2012 (loggly.com)
45 points by xngzng 4073 days ago
13 comments

This infographic is pretty poorly designed. There are some icons that I don't recognize (like the 1993 circle+R and the 2005 flask). Google told me the (R) icon is actually the R language. Still don't know what the flask is.
On top of that, the colors are so similar that the graphs where you have to identify which color corresponds to which language are basically unintelligible. The designer desperately needs to read a Tufte book.
After some googlefu* it turned out the logo belongs to Puppet Labs which has a 2005 Puppet language.

From wikipedia:

Puppet is a tool designed to manage the configuration of Unix-like and Microsoft Windows systems declaratively. The user describes system resources and their state, either using Puppet's declarative language or a Ruby DSL (domain-specific language). This information is stored in files called "Puppet manifests". Puppet discovers the system information via a utility called Facter, and compiles the Puppet manifests into a system-specific catalog containing resources and resource dependency, which are applied against the target systems. Any actions taken by Puppet are then reported.

Puppet consists of a custom declarative language to describe system configuration, which can be either applied directly on the system, or compiled into a catalog and distributed to the target system via client–server paradigm (using a REST API), and the agent uses system specific providers to enforce the resource specified in the manifests. The resource abstraction layer enables administrators to describe the configuration in high-level terms, such as users, services and packages without the need to specify OS specific commands (such as rpm, yum, apt).

Puppet is model-driven, requiring limited programming knowledge to use.

* Cut image into Gimp, cut little icon, export, google the image.

I've never understood why infographics are so popular on the web. The power of the web is that you don't have to present ideas as static images with no interactivity or extensibility.
Dang, I really thought http://elixir-lang.org/ was that popular.
Someday :)
Whoever made this, please take the criticism constructively. It was good information ( thank you for posting it ), but should have been presented better.

Using light blue, blue, grey blue and slightly lighter blue was not good design. I do understand it would be hard to use clearly defined colours with so many languages. My suggestion:

This would have been better presented if the user could select a language's icon and see its' data highlighted.

( I know you can't do that simply with an infographic - you'd need to create transparent overlays, or something. )

I'm not sure why Puppet is on this list. It is not a generic language, it is meant for configuring and controlling large clusters of servers.
It would be great if this were normalized by GitHub's overall traffic. It's tough to tell what has grown relative to what when everything appears to have grown.
Thanks for some fun data! Two quick things, if you don't mind.

Something feels wrong with the data. For example. Q3/12 has abnormal amount of Pushes for all languages. Curious what causes the jump?

As someone who is color-blind, I really prefer people to combine symbols with color. Like you did with the active repos, except use the symbol in the key as well. That way if a color is close, I can check my guess against the symbol. Thanks!

> We looked at:

> The number of active repositories, a useful proxy for the projects that people are working on right now.

This is better than looking at all of them like many of these stats do because it eliminates has-been languages.

> The total number of pushes per language as well as the average number of pushes per repository. These metrics are indicators of the rate of innovation occurring with projects being written in a particular language.

This is skewed towards developers who push small changes often, and even includes code shufflers, and ignores projects where the developer commits large samples at a time.

> New forks and open issues per repository, which also show active use and innovation.

Well written code has few issues raised.

> New watchers per repository, an indicator of developer interest.

This can be cheated by language promoters who run campaigns on twitter to double the Github watchers within a week. This stuff happens.

1995 was an interesting year for programming languages. I guess it makes sense since the web was just exploding.
Needs a legend; I'm not sure what a few of the little icons represent.
In the infographic section entitled Active Repositories, from left to right:

    Javascript
    Java
    Ruby
    Cascading Style Sheets
    Python
    PHP
    C
    C++
    C#
    Shell Script (bash et al)
    Objective C
    Go language
    perl
    Puppet
    GNU R
I resolved the second to last one by this method: https://www.google.com/search?tbs=sbi:AMhZZisSnBBfayiYq1eLbO...
Interesting that R looks late to the party with the highest growth rate over this period - I find it doubtful that R has grown so much in that time, but I guess instead that academic coders have started to use Github.

Does this suggest that R usage is greatly underestimated, generally, then?

Also why did all of Perl get pushed in Q3/12? And every language got a significant peak that quarter? Is that a data error?

based on my experience with language detection on my own repos i'm very skeptical of this kind of statistics. for example, i know i don't know any perl6, yet github thinks (and claims) otherwise.
The icons are totally not the ones that are official, very poor design.
anyone have any insight into the perl anomaly in q3 of 2012? What was released then? Or, perhaps, what perl program really sucked at around that time?
C++ comes up pretty well there...