6 ms·
Diagram and History of Programming Languages (2006)
- voidhorse 8y agoCool stuff. I’m fascinated by programming languages and their histories, and it’s great to have a visualization. It’d be extra sweet to have more detailed diagrams that elaborated some of the relationships (e.g. something like noting the Rust connection to Haskell relates to its adoption of a similar typing philosophy or whatever—providing some annotations on the nature of influence would be great). This could get very messy very quickly in a single graphviz graph, however, so you might have to make separate graphs for the ancestral inheritance of each concept, e.g. a graph the represents the mutual influences languages have had on each other in terms of their approaches to type systems, another for their influence on control structures/primitives, and so forth.
- gpsx 8y agoI second this. It would also be nice to specify what is new about a given language. As the parent comment says, this type of thing would be difficult to capture, but it would be very interesting if we could. It would be sort of a Darwin "tree of life" for the evolution of programming languages. https://en.wikipedia.org/wiki/Tree_of_life_(biology) https://en.wikipedia.org/wiki/Tree_of_life_(biology)
- celeritascelery 8y agoWhat is the criteria to consider a language a derivative of some other language? Programming languages seem like they borrow so much from one another.
- hathawsh 8y agoThat's my question also. If I were to create a programming language today, it would be influenced by everything I've ever worked on, not just a few specific languages. I wouldn't be able to say it was derived from any particular languages.
- piercebot 8y agoSurprised that Clojure didn't make even the big list.
- nepeckman 8y agoInteresting seeing which niche languages made the list. It has F#, D, and Squeak, but not Clojure, Nim, Crystal, or Elixir (that I could find). EDIT: missed the (2006), yeah all the ones I mentioned are too young.
- macintux 8y agoElixir is much younger than 2006. Only about 7 years old now IIRC.
- yellowapple 8y agoIn fairness, this is from 2006, so I'd wager that those languages didn't exist at the time (or if they did, they were still incredibly obscure).
- piercebot 8y agoI don't think 2006 is valid, because the charts themselves go to 2016
- dang 8y agohttps://web.archive.org/web/*/http://rigaux.org/language-study/diagram.html https://web.archive.org/web/*/http://rigaux.org/language-stu... helps explain why. We've added 2006 above.
- gmueckl 8y agoI liked the timeline based visualization in the Computer History Museum. It shows both the ancestry and age of each language quite clearly.
- JadeNB 8y agoI enjoy Prolog just sitting off by itself in the simplified picture.
- dahfizz 8y agoCan anyone justify the connection between Java and JavaScript? They seem like very different languages to me.
- macintux 8y agoIIRC, the syntax for JS was redesigned hurriedly to look like Java because at the time Java was hyped as the one true language for everything web, including front-end apps (applets). Definitely the name was chosen for that reason.
- chvid 8y agoIf you add static types to js and create typescript you all of a sudden have something that looks a lot like c# and java ... don’t you think?
- BrendanEich 8y agoI didn't redesign JS syntax at all, it was always C family syntax with Java keywords reserved and a few non-C keywords even used. I never had an s-expr language at first and redid the syntax. Anyone who says so is misinformed.
- ylesaout 8y agoNothing if you refer to one of the other referenced graph [1]. In this graph it's a derivative of C and C++. IMHO, regarding JS, nobody can affirm from which languages it is a derivative unless Brendan Eich himself. By the way, such a graph does not give much information about the influences that make a language evolves. It's like saying English is a fork of German and since the split neither of these languages have been influenced by others (e.g. Lambdas have been added to Java only because one of the mainteners had a new idea one morning while taking its shower) [1] http://www.digibarn.com/collections/posters/tongues/ComputerLanguagesChart-med.png http://www.digibarn.com/collections/posters/tongues/Computer...
- fatiherikli 8y agoHere's a network of programming languages and their relationships between https://fatiherikli.github.io/programming-language-network/ https://fatiherikli.github.io/programming-language-network/
- jlcx 8y agoPeople have spent some time entering programming languages, their publication/release dates, and their relationships (e.g. "influenced by", "based on") in Wikipedia and Wikidata. I like the latter, because it makes it easier to keep track of specific claims and their references. If people did more work on that, those relationships could be used to generate larger diagrams/histories like this and keep them up to date.
- ncmncm 8y agoHow strange to learn that C++ has entirely stagnated since 1998. I guess C++11 and C++14 were just final gasps of a dying language, nowhere near the importance of Python or Java point releases. But how can we account for ballooning attendance at ISO C++ Standard meetings (lately approaching 200) and industry conferences?
- bsder 8y agoIf you sit in the niche that needs C++, cool for you. For everybody else there IS a better language. There is zero reason to saddle yourself with the baggage of C++ in this day and age if you don't have to. COBOL still is running a ton of stuff and still has conferences. That doesn't mean we should build new applications in it.
- Rotten194 8y agoJavascript should really also be connected to Scheme. Sure, the "JS = Scheme" meme is not true, but Eich was certainly inspired by Scheme.
- ylesaout 8y agoFor sure! Without Scheme influence they probably won't have been closures in JS.
- platz 8y agoSwift is derived from Rust?