5 ms·
Show HN: Interactive Visualization of Influence in Programming Languages
- zackzackzack 14y agoA 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 http://bl.ocks.org/1405439 Otherwise, way cool.
- yaph 14y agoNot sure how I would apply this technique in this particular case, maybe you can give me another hint.
- zackzackzack 14y agoFor hovering over each language, it would make it much easier to select the smaller dots.
- gtani 14y agoVery nice. (Some prior threads on lines of influence) http://news.ycombinator.com/item?id=4194460 http://news.ycombinator.com/item?id=4194460 http://news.ycombinator.com/item?id=3409774 http://news.ycombinator.com/item?id=3409774 http://news.ycombinator.com/item?id=3920619 http://news.ycombinator.com/item?id=3920619
- pav3l 14y agoI'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 14y agoThe data is from Freebase http://www.freebase.com/view/computer/programming_language 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-influence https://github.com/exploringdata/programming-languages-influ.... 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.
- Toshio 14y agoIs it just me, or is the programming language called Clean not on there? http://en.wikipedia.org/wiki/Clean_(programming_language) http://en.wikipedia.org/wiki/Clean_(programming_language)
- yaph 14y agoIt's included, choose "Functional Programming" and move your mouse over Haskell, it is one of the influenced languages (blue edge).
- geekgirlweb 14y agoHm, I would have thought that PHP would have been larger/visible on the graph.
- nivla 14y agoSame 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 http://www.freebase.com/view/computer/programming_language
- yaph 14y agoPHP 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.
- mgallivan 14y agoWhat does the size of each vertex represent? Also, how do you lay out the graphs?
- yaph 14y agoThe size is based on the number of languages influenced across all paradigms, the layout is random.
- wladimir 14y agoVery 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 14y agoYes, 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.