Hacker News new | past | comments | ask | show | jobs | submit login
Programming Language Network: A Graph of Programming Languages (fatiherikli.github.io)
67 points by SworDsy on Nov 1, 2014 | hide | past | web | favorite | 21 comments

My favorite computer scientist is "et al."


Ah, Dr. &rest, prolific!

This sort of visualization while really really cool (and kudos to the developers) is also really hard to navigate. I can't easily find any of the languages I'm looking for without a lot of visual scanning and zooming in-and-out.

You can center the view on any language by adding "#language:<lang name>" to the URL. For example: https://fatiherikli.github.io/programming-language-network/#...

Or just <ctrl>-f Languagename.

Yes, but then good luck with finding C, J, K, B or similar :) BTW, I'm not sure, but I think all the single letter language names are taken already?

Still some single letter programming language name left according to this blog post: http://iron9light.wordpress.com/2009/12/16/single-letter-pro... . However the post is a little old, so it may have changed.

The names inside the nodes are not readable. They don't display name when clicked or hover the cursor over them. So I closed the page after 5 or 10 seconds.

There are many nodes and edges missing. It would be great if the underlying graph was on a wiki. Maybe this content could be added to Wikidata (http://www.wikidata.org/).

You may be interested in DBpedia, which gets its data from wikipedia but presents it in a structured format (for example, the page for Clojure: http://dbpedia.org/describe/?url=http://dbpedia.org/resource...), though for this case, it seems the data is already on wikipedia.

The problem with Wikipedia as the data source is that there's some goof who goes around deleting articles on programming languages which aren't prolific enough (e.g. Kernel by John Shutt). Some pages don't exist to begin with (or can't exist, because the only source of information is on the language author's own page, and doesn't meet the criteria needed to be listed).

Shame, because some of the languages not listed tend to be the most interesting ones.

Good idea, but everyone would just claim that their favourite language was inspired by Haskell and the data would become meaningless.

It's interesting that the distinction between functional languages and imperative languages is not at all clear in the graph. This could be caused by the fact that the visualization technique used is not capable of showing this, or that there are simply too many types of edges (or because each type of edge is getting the same "importance" in the graph drawing algorithm).

Looking at the source, it looks as though each node is in a fixed position on the graph. Wouldn't it be easier to use something like graphviz where you just declare the nodes and connections, and it (graphviz) takes care of drawing it properly?

A search function would be killer.

My thoughts exactly. Center the term if found and highlight it would do the trick already.

There also needs to be better filtering of the raw data ("many others" near Python is kind of a head scratcher for example).

Filters for "just languages" or language + path length of X etc. might be cool as well.

A simple NON_AUTHORS = ["others", "et al."] etc. and using that in normalize_data would be a good start imo.

Edit: Plankalk├╝l also has encoding issues :)

This doesn't look too nice graphically. Influenced by -lines are grey on grey which is almost invisible. Also, it doesn't make much sense either. C# is placed close to Smalltalk, far away from C and C++, not to mention Java.

This is a more useful visualisation of programming languages:


A filter for those who are only interested in one aspect of the graph (i.e. language influence) would be very nice. With the current balancing, Haskell is closer to Java than to ML.

Would be nice to have the reverse edges,

   * Influenced
   * Designed
   * Developed
   * Dialect of
   * Implementation of
   * Implements

Sorry to say it but what a mess.

Applications are open for YC Winter 2020

Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | Legal | Apply to YC | Contact