The Graph Of Programming Langauges

1 Jul

I wanted to see which programming languages are linked to the largest number of programming languages around today. Someone with a better understanding of programming languages – could you tell me more about how the color coded groups are structurally different from one another? I have a vague idea but don’t want to spout nonsense here. I had no idea about the importance of Haskell until I did this so I am glad I took the time to create this map. The node size represents the number of connections. The bigger it is, the more influence it has had. This does NOT mean these languages are “better” in any way. It simply means languages with large nodes have more connections to other languages than languages with smaller nodes. As always, be careful in your interpretation. I’ve also noticed that some nodes should be different colours – but one has to draw the line somewhere. There are also some problems with graphings things like this as there will be ambiguity.

Again – this is not accurate! I’m just demonstrating how information can be visualised. A more accurate graph could be drawn from better, more complete information.

Order of operations:

1. Went to http://dbpedia.org/snorql/

2. Entered:

SELECT *
WHERE {
?p a
<http://dbpedia.org/ontology/ProgrammingLanguage> .
?p <http://dbpedia.org/ontology/influenced> ?influenced.
}

3. Touched up here: http://meyerweb.com/eric/tools/dencoder/

4. Imported into excel, further formatting. Export .CSV. Used a combination of Force Atlas and Fruhterman-Reingold layouts.

5. Export in Preview (click to enlarge).

Force Atlas + Force Atlas 2 + Fructerman-Reingold algorithm

Using Fruchterman-Reingold algorithm.

Update: Since I made the last two graphs, I have done another showing the various language paradigms using the information available on Freebase. Click to enlarge or click here for dynamic zoom (recommended).

A different take: The Graph Of Programming Paradigms

Again, keep in mind the limited dataset – this is only an exercise in exploration!

18 Responses to “The Graph Of Programming Langauges”

  1. No Reply July 6, 2012 at 2:15 am #

    Objective-C should be a brown dot; it’s a simple Smalltalk implementation grafted onto C.

    • Griff July 6, 2012 at 2:26 am #

      Yes, you’re quite right. After I looked at the communities in more detail, I realised there are a few colours in the wrong places. I think Wikipedia has some of the influences not entirely correct either. I would take the accuracy of my diagram with a pinch of salt for sure!

  2. lapinferoce July 9, 2012 at 6:17 pm #

    i just love it ! that’s so great !! good job !

  3. Chris Ford (@ctford) July 10, 2012 at 2:02 am #

    Nice graph. I’m surprised Erlang is so unconnected though…

    • Griff July 10, 2012 at 2:03 am #

      Yes, I noticed that too – the data is quite incomplete I found. It is a proof-by-concept though. I’m working on some bigger things relating to this which I hope to publish soon. Thanks for stopping by.

  4. Daniel Lyons July 10, 2012 at 2:17 am #

    Looks great! Going to look even better printed out. One thing though: Prolog seems to be missing from the Force Atlas graph, but is present in the second one.

  5. Adrian Hoe  (@hoeadrian) July 10, 2012 at 10:15 am #

    Please correct me if I am wrong. I learned that Ada was conceptualized after Steel-man language requirement, Algol68 and Pascal. The DoD together with its contractors drafted many language requirement, Steel man was the final specification and then Ada was born.

    • Griff July 10, 2012 at 12:07 pm #

      I don’t have sufficient knowledge to correct you! The links are somewhat dubious as “influenced” is quite a subjective metric. In order to do this properly, I would need a few months – which unfortunately I don’t. You got me learning about Steel-man and Algol a bit more though – thanks. 🙂

  6. fidelml July 12, 2012 at 11:17 am #

    I found that you have put Postcript there, but not TeX, or LaTeX!!!! 😦

    • Griff July 12, 2012 at 3:30 pm #

      “I” didn’t put anything, anywhere. I downloaded whatever Wikipedia had listed and graphed it – as is discussed in the post. Every dataset on this site is incomplete as outlined in the disclaimer at the top of the page.

  7. Ned July 17, 2012 at 9:58 am #

    Haskell… influencing everything and used by no-one.

    • Griff July 17, 2012 at 10:01 am #

      How can something influence everything but be used by no one? Haskell’s life force is in the things it influenced surely 😉

      I see your point though. reddit.com/r/Haskell might have something to say on this too.

      • Aphidman July 19, 2012 at 2:25 pm #

        Maybe Haskell is the Velvet Underground of programming languages. They say that the Velvet Underground only sold 10,000 records, but everyone who bought one went out and started a rock band.

  8. Alexandru F August 29, 2012 at 5:44 pm #

    hey Griff, shouldn’t be around there the Programming Language ABAP? the one created and used by SAP?

  9. web site February 6, 2014 at 4:36 pm #

    Permanent installations in vehicles gave way to the portable
    Bag Phones, built with a cigarette lighter plug. Formative
    assessment – Formative assessment is mostly carried out throughout
    a course or project. * Create and distribute Widgets or Mash-ups
    using services like widgetbox, Open Social, or Yahoo Pipes.

  10. 2thinkso April 3, 2014 at 10:44 pm #

    think you forgot cyclone a c derivative

  11. hollow bar April 24, 2014 at 6:59 am #

    Your style is unique compared to other people I’ve read stuff from.

    Thanks for posting when you have the opportunity, Guess I’ll just bookmark this web site.

  12. Stuart July 3, 2014 at 4:44 pm #

    I see a lot of interesting posts on your blog.

    You have to spend a lot of time writing, i know how to save you a lot of work, there is a tool that creates unique,
    SEO friendly posts in couple of minutes, just search in google – laranita’s free content source

Leave a reply to hollow bar Cancel reply