Need help with programming-languages-genealogical-tree?
Click the “chat” button below for chat support from the developer who created it, or find similar developers for support.

About the developer

stereobooster
181 Stars 11 Forks Creative Commons Zero v1.0 Universal 23 Commits 3 Opened issues

Description

Programming languages genealogical tree

Services available

!
?

Need anything else?

Contributors list

# 11,088
React
Webpack
prerend...
Vue.js
23 commits

Programming languages genealogical tree

diagram

Source: rigaux.org

Basic idea behind project reconstruct diagram above in D3:

  • to be able to edit data easily. Simply send PR to this repo and everyting, else will be updated
  • to use html5 instead of plain image, for better perfomance, for vector graphics, to enable text search via
    Ctrl + F
    and copy/paste
  • add interactivity to diagram, for example: select one node and it will show all "ancestors" and "children"

There are a lot of similar efforts and all of them have one big flow from my point of view. It is not very clear what influence-links mean. There are different relationship possible between languages. For example:

Superset or subset.

  • sass (sccs) is superset of css
  • SIMULA is superset of ALGOL 60. Source: link

Inspiration or ideas

  • JavaScript took it's idea of prototypal inheritance from Self
  • Ruby took it's OOP concepts from SmallTalk: objects communicate via messages, everything is an object (even classes)
  • C++ took it's OOP concepts from Simula [citation required]

Similar syntax

  • C, C++, Java, JavaScript
  • LISP, Scheme

Many links between languages in simillar projects not provide information on what kind of relation it is and lacks credibility. So they tends to be more confusing rather than helpfull. I want to add this type of information.

Other side of this project is to show in what language concept (idea, paradigm, technique) first appeared. See link. So if similar concept appears in other language it is can be considered as inspired by original source. But this not alway true: Simula considered to be first object-oriented language (even though there was idea of object before [citation required]), but idea of object-oriented language presented in SmallTalk is completley different and both languages appeared with small time difference, so I do not consider that one was inspired by another. Yes, both languages talk about object, but OOP-ideas behind them are completley different.

Similar projects

  • http://www.roundcrisis.com/2016/02/13/Database-programming/, http://www.roundcrisis.com/2016/02/14/Database-programming-ii/
  • http://archive.oreilly.com/pub/a/oreilly/news/languageposter_0504.html Most beautiful timeline with reasonable number of languages (pdf). SmallTalk have Simula as influencer which is misleading, but also have LISP which is fair enough.
  • http://rigaux.org/language-study/diagram.html Timeline with big number of languages
  • https://www.levenez.com/lang/ Timeline with very big number of languages (pdf).
  • http://www.digibarn.com/collections/posters/tongues/ Have some serious misleading links between languages (example: Fortran -> LISP), but like its idea on marking status of language: Active, Protected, Endangered, Extinct.
  • https://blog.ouseful.info/2012/07/03/mapping-how-programming-languages-influenced-each-other-according-to-wikipedia/ Big graph based on semantic data, but not very useful
  • https://exploringdata.github.io/info/programming-languages-influence-network/ Big beautiful graph, but not very useful

More ideas

Add info about authors to programming languages.

Add concpets and their connection to languages.

Add links to scientific papers behind language concepts. - http://bibliography.selflanguage.org/ - https://github.com/rust-lang/rust-wiki-backup/blob/master/Note-research.md

It is possible to add mathematical theories which were preceding programing languages, like lambda calculus can be considered as parent of s-expressions (LISP) [citation required]. Haskell has roots in category theory [citation required].

Other links

History of computation

  • https://github.com/JoannaSharrad/presentations/blob/master/The%20Six%20Degrees%20of%20_%20Computability.pdf
  • https://www.youtube.com/watch?v=2oNmR0q1uA0
  • https://pron.github.io/computation-logic-algebra

Good papers

  • https://www.cs.cmu.edu/~crary/819-f09/
  • http://blog.fogus.me/2011/09/08/10-technical-papers-every-programmer-should-read-at-least-twice/
  • https://github.com/nuprl/10PL

D3 examples of timelines and similar graphs

We use cookies. If you continue to browse the site, you agree to the use of cookies. For more information on our use of cookies please see our Privacy Policy.