
Show HN: Interactive Visualization of Influence in Programming Languages - yaph
http://exploringdata.github.com/vis/programming-languages-influence-network/
======
zackzackzack
A general tip for graphs with small points: if you use a clipped voronoi
diagram to trigger mouse interactions, then the graph becomes much easier to
navigate. Basically, the graph gets split up into regions that make efficient
but intuitive use of the space.

See here for an example with d3: <http://bl.ocks.org/1405439>

Otherwise, way cool.

~~~
yaph
Not sure how I would apply this technique in this particular case, maybe you
can give me another hint.

~~~
zackzackzack
For hovering over each language, it would make it much easier to select the
smaller dots.

------
gtani
Very nice.

(Some prior threads on lines of influence)

<http://news.ycombinator.com/item?id=4194460>

<http://news.ycombinator.com/item?id=3409774>

<http://news.ycombinator.com/item?id=3920619>

------
pav3l
I'm curious where you got your data for the graph? For example, I don't
understand how R is influenced by Scheme, and S is isn't.

~~~
yaph
The data is from Freebase
<http://www.freebase.com/view/computer/programming_language> and the code to
get the data is in this GitHub repo
[https://github.com/exploringdata/programming-languages-
influ...](https://github.com/exploringdata/programming-languages-influence).

From Wikipedia's R page: "R is an implementation of the S programming language
combined with lexical scoping semantics inspired by Scheme."

Guess that explains it.

------
wladimir
Very cool graph.

Small nit: "C" and "Pascal" overlap in position, it appears to be impossible
(at least in Chrome) to select "Pascal".

Edit: never mind, it's randomized every time :) But maybe it's a good idea to
add some collision avoidance.

~~~
yaph
Yes, I may be going to preprocess the graph using Gephi and/or see what I can
do with sigma, it was my 1st project with this library.

------
mgallivan
What does the size of each vertex represent? Also, how do you lay out the
graphs?

~~~
yaph
The size is based on the number of languages influenced across all paradigms,
the layout is random.

------
geekgirlweb
Hm, I would have thought that PHP would have been larger/visible on the graph.

~~~
nivla
Same here. I was surprised to see it not even being listed despite OP's
original data source having it.

<http://www.freebase.com/view/computer/programming_language>

~~~
yaph
PHP is a small node, according to the data source it has influenced only 2
languages.

The fact that PHP is widely used doesn't make it influential on other
languages, in the case of PHP the opposite may be true.

To find PHP in this random layout restrict the paradigm to "Interpreted
language" and move your mouse over Python, the PHP label will show up.

------
Toshio
Is it just me, or is the programming language called Clean not on there?

<http://en.wikipedia.org/wiki/Clean_(programming_language)>

~~~
yaph
It's included, choose "Functional Programming" and move your mouse over
Haskell, it is one of the influenced languages (blue edge).

