or learn more

An object-oriented influence graph

Jun 7, 2012

this is a follow-on to the functional programming influence graph and these graphs are intended to connect.

With the help of Twitter friends I developed a directed graph of traditionally (and bolted-on) object-oriented programming languages and their influences on one another. The latest version is as follows:


View the Graphviz Dot source | Render the DOT source

note: Ovals represent languages, hexagons are “ideas”, and blue boxes represent language families. This is not meant to be comprehensive at the leaves, but I would like it to be so at the inner nodes and roots.

Take a look and let me know what you think. The graph is not entirely complete, but the main connections are in place. Suggestions welcomed — including (and preferably with) references. I will update the source and graph periodically.


6 Comments, Comment or Ping

  1. Where’s Haskell?

  2. @Sorensen

    In the FP box. Should it come out?

  3. Hm, I’m still missing Io in there… :) Unless it falls under the prototype-based languages?

  4. @Hans

    Yep, it’s in the prototype-box.

  5. gasche

    Scheme, and probably also Erlang and Clojure, would really deserve to be placed under the umbrella of “functional programming languages”.

    Other than that, I’m wondering why there is an influence arrow from Erlang to Oz; I don’t say there should not be, and am expert in neither languages, but it strikes me as odd. I’m not sure which aspect of Oz is supposed to come from Erlang (I remember Erlang being mentioned in the “A Case of Lightning Striking Four Times at the Same Place” paper though); why did you decide to add this edge?

  6. @gasche

    My thinking was that part of Oz’s stated goals ( is that it hopes to subsume the capabilities of numerous languages, including Erlang.

Reply to “An object-oriented influence graph”