41 comments

[ 5.4 ms ] story [ 103 ms ] thread
How in the world is PHP such a small node?
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.
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 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....

Once you have PHP you don't need any other languages.
C# is a small node. it influenced java a lot.
if the ACM link is broken, google "2012 Version of the ACM Computing Classification System"
I love Fogus' FP map because it's got such a strong "all roads lead to Haskell" effect. Cracks me up.
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 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.

I'm curious about the claim that Java influenced C, especially since Java is a much newer language.
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?
I just updated the graph, after this link was removed from Freebase.
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...

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?

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

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.

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

Feel like OBJ-C and Ruby should be closer :)
I don't think this is actually getting data from Wikipedia. How could C have been influenced by Java?!
There's a bug where if you scroll down in one modal, the scroll will be preserved in the other modals you open.