Programming languages influence network(exploringdata.github.io)
exploringdata.github.io
Programming languages influence network
http://exploringdata.github.io/vis/programming-languages-influence-network/
17 comments
There's a bug where if you scroll down in one modal, the scroll will be preserved in the other modals you open.
I don't think this is actually getting data from Wikipedia. How could C have been influenced by Java?!
How in the world is PHP such a small node?
What programming languages are influenced by PHP? It really is a leaf node. This is not intrinsically a criticism. PHP arguably got a lot of libraries created that copies the way it did HTML templating (and I mean the core PHP here, not subsequent template libraries), but that probably wouldn't show here.
The flip side of this, incidentally, would be Haskell. Still pretty unusual to encounter in the wild, but it has influenced a lot of languages, and will continue to do so, possibly without ever being a top-tier success itself.
The flip side of this, incidentally, would be Haskell. Still pretty unusual to encounter in the wild, but it has influenced a lot of languages, and will continue to do so, possibly without ever being a top-tier success itself.
It looks like the size of the node foo is determined by how many languages were influenced by foo, where "influence" does not include cautionary avoidance of foo's choices.
The size of the nodes are based on how much influence a language's design has had on later languages. PHP may have a lot of market share, but not a lot of languages have copied its features.
A better title for the page would be the one from the linked blog post, "How Programming Languages Influenced Each Other", at http://exploringdata.github.io/info/programming-languages-in....
A better title for the page would be the one from the linked blog post, "How Programming Languages Influenced Each Other", at http://exploringdata.github.io/info/programming-languages-in....
Once you have PHP you don't need any other languages.
C# is a small node. it influenced java a lot.
Seems like a popular thing to do, but probably time consuming (I probably have dozens more URLs but i'd have to search a lot of laptops, delicious, and... remember magnolia?)
http://blog.fogus.me/2012/05/02/a-functional-programming-inf...
http://blog.fogus.me/2012/06/07/an-object-oriented-influence...
https://news.ycombinator.com/item?id=3920619
http://www.info.ucl.ac.be/~pvr/paradigms.html
(the Dewey decimal system congeners) http://delivery.acm.org/10.1145/2380000/2371137/ACMCCSTaxono...
http://james-iry.blogspot.com/2010/05/types-la-chart.html
http://blog.ouseful.info/2012/07/03/mapping-how-programming-...
__________
vaguely related: the Right Tools survey
http://www.eecs.berkeley.edu/~lmeyerov/projects/socioplt/viz...
http://www.storytotell.org/essays/juxtaposition.html
http://www.cl.cam.ac.uk/teaching/1011/ConceptsPL/ (they spend a lot of time studying ML and the state of the art language)
http://www.cl.cam.ac.uk/teaching/exams/pastpapers/t-Concepts... (pretty sure i'd flunk)
http://www.cl.cam.ac.uk/teaching/1213/DenotSem/
http://blog.fogus.me/2012/05/02/a-functional-programming-inf...
http://blog.fogus.me/2012/06/07/an-object-oriented-influence...
https://news.ycombinator.com/item?id=3920619
http://www.info.ucl.ac.be/~pvr/paradigms.html
(the Dewey decimal system congeners) http://delivery.acm.org/10.1145/2380000/2371137/ACMCCSTaxono...
http://james-iry.blogspot.com/2010/05/types-la-chart.html
http://blog.ouseful.info/2012/07/03/mapping-how-programming-...
__________
vaguely related: the Right Tools survey
http://www.eecs.berkeley.edu/~lmeyerov/projects/socioplt/viz...
http://www.storytotell.org/essays/juxtaposition.html
http://www.cl.cam.ac.uk/teaching/1011/ConceptsPL/ (they spend a lot of time studying ML and the state of the art language)
http://www.cl.cam.ac.uk/teaching/exams/pastpapers/t-Concepts... (pretty sure i'd flunk)
http://www.cl.cam.ac.uk/teaching/1213/DenotSem/
And another in timeline form: http://www.levenez.com/lang/
This one is my personal favourite. My wife got a print made around a year ago for our anniversary. It's around 3m long so we don't actually have anywhere in the house we can hang it!
This one is my personal favourite. My wife got a print made around a year ago for our anniversary. It's around 3m long so we don't actually have anywhere in the house we can hang it!
Oops, there web server just fell over
http://web.archive.org/web/20130308095859/http://levenez.com...
http://web.archive.org/web/20130308095859/http://levenez.com...
I love Fogus' FP map because it's got such a strong "all roads lead to Haskell" effect. Cracks me up.
if the ACM link is broken, google "2012 Version of the ACM Computing Classification System"
We should resize the balls based not on the languages they directly influenced, but on the transitive closure on the relation.
I was rather shocked to see ISWIM having such a small node, given it influenced basically the whole statically typed functional branch. Miranda got a correspondingly undeserved treatment.
Ideally, for the influence network, the size of the ball should correspond only to the influences that where innovations in the considered language. That may be too much to compute, though.
I was rather shocked to see ISWIM having such a small node, given it influenced basically the whole statically typed functional branch. Miranda got a correspondingly undeserved treatment.
Ideally, for the influence network, the size of the ball should correspond only to the influences that where innovations in the considered language. That may be too much to compute, though.
I would expect ML to have been a little bigger. Is the node size calculated by transitive influence or just adjacent influence?
This would be easier to read I think if the graph were directed and indicated it as such.
This would be easier to read I think if the graph were directed and indicated it as such.
Adjacent, obviously. Look at how small is ISWM
I'm curious about the claim that Java influenced C, especially since Java is a much newer language.
Good observation, this relation is not backed by reliable sources and was probably added by mistake.
Someone has deleted this relation today, see http://www.freebase.com/m/07sbkfb?links&lang=en&filter=%2Fco...
Maybe a response to this thread. Think it's time to update the graph in the near future.
Someone has deleted this relation today, see http://www.freebase.com/m/07sbkfb?links&lang=en&filter=%2Fco...
Maybe a response to this thread. Think it's time to update the graph in the near future.
I just updated the graph, after this link was removed from Freebase.
The last standard for C was 2011, it is entirely possible something from Java slipped in. Though I don't think Java has anything very unique in it. I would find it hard to say that yep that came from Java, and not some other language.
Newer features in Java introduced into later C versions?
This is an interesting data set even though some of the relations are messed up. The biggest one being that it says C is influenced by Java.
Interesting to note that there are zero edges coming out of the C++ node, but a lot coming in
? Try clicking on the language. It says there were around 30 languages influenced by C++ and around 6 that influenced C++.
Ok, I see it now, under the "what not to do" influence category
Pretty much. I can think of several languages that have don't be C++ as core design tenets, like D.
It'd be even cooler if each relation had a short description/example specifically how one language was influenced by another.
This page doesn't display for me. The top bar loads but lower is just a blank off-black page with no images or text. I enabled Javascript and saw no change. Clicking and right clicking anywhere below the address bar does nothing.
Latest chrome on fully-updated win8...
Latest chrome on fully-updated win8...
This is a cool visualization, but the data it is working from is pretty poor. A lot of the "influenced"s and "influenced by"s are pretty sketchy, and some are just plain nonsense. Also categorizing the languages is pretty iffy. I can't imagine any possible definition of "functional programming language" that includes lua, python and ruby, but does not include perl.
You're right the data set contains some questionable relations. Looks like DBpedia would have been a better and more reliable data source than Freebase.
Love it, allows to explore the relations between language in a different way.
I wonder why ECMAScript and JavaScript are different? Isn't it a different name for the same programming language?
I wonder why ECMAScript and JavaScript are different? Isn't it a different name for the same programming language?
JavaScript is an implementation of the standardized ECMAScript language, so technically it is not the same.
Freebase lists JavaScript as a dialect of ECMAScript and draws no influence relation between the two, you can see the data for ECMAScript here http://www.freebase.com/m/019syg
Freebase lists JavaScript as a dialect of ECMAScript and draws no influence relation between the two, you can see the data for ECMAScript here http://www.freebase.com/m/019syg
Then why isn't JavaScript attributed under "Languages Influenced" for ECMAScript. Seems wrong to me. http://exploringdata.github.io/vis/programming-languages-inf...
Yes, JScript is listed both as a dialect and an influenced language, so this should apply for JavaScript and other languages too.
Never expected to see Dylan that big. Would be nice if this nifty language could get more attention. Has anybody here ever deployed something in Dylan?
People have in the past ... I think we're at the point where someone could do so again with our current release. I hope to do so, myself.
how is CFML (ColdFusion) not linked to Java? CFML runs on top of the JVM.
It's because the public Freebase data that this visualization is based on is far from complete. For these programming languages and other things, it is as if most of the Wikipedia articles existed on the subject, but they contained nothing but the summary information. Have to start somewhere though, Freebase is a great start for structured information associations.
You can view the CFML entry here: http://www.freebase.com/m/03tsq7 and see that the 'Influenced by' and 'Influenced' associations are empty.
You can view the CFML entry here: http://www.freebase.com/m/03tsq7 and see that the 'Influenced by' and 'Influenced' associations are empty.
tmarthal makes a good point stating that Freebase data is not complete.
Moreover, looking at the language itself, I don't see anything that reminds me of Java.
That CFML runs on the JVM doesn't imply that the Java language is an influence from a theoretical computer science point of view. CFML also runs on .NET and Google App Engine, see http://en.wikipedia.org/wiki/ColdFusion_Markup_Language
Moreover, looking at the language itself, I don't see anything that reminds me of Java.
That CFML runs on the JVM doesn't imply that the Java language is an influence from a theoretical computer science point of view. CFML also runs on .NET and Google App Engine, see http://en.wikipedia.org/wiki/ColdFusion_Markup_Language
Feel like OBJ-C and Ruby should be closer :)
CSS is not there.