DEV Community

Cover image for Darwinism in Programming Language Proliferation
Andrew (he/him)
Andrew (he/him)

Posted on

Darwinism in Programming Language Proliferation

A really interesting article was just published in Computing and Software Science titled "The Next 7000 Programming Languages" (a play on Peter J. Landin's classic "The Next 700 Programming Languages", published in 1966).

The paper draws an analogy between popular programming languages and various species of plants trying to survive on a given patch of land. The article:

  • likens climate change -- an external driving force which affects the diversity and suitability of certain species of plants -- to multi-core processors, which have recently filled a similar role for programming languages, encouraging multi-threaded programs and map-reduce pipelines

  • views supported libraries, packages, and frameworks as symbiotes -- other plants and animals which help a given species to survive

  • discusses how programming languages, like plants, fill particular niches, and although there may be languages that perform well in multiple environments (Scala is given as an example), as a general rule, there are no "universal" programming languages which work well in all niches

If you're interested at all in the history and development of programming languages, or where they're headed in the future, I definitely recommend this article. If you do read it, come back here and let's get a discussion going!

Cover image by @stereobooster

Top comments (1)

Collapse
 
awwsmm profile image
Andrew (he/him)

The tl;dr of the article is that:

  • C is still going strong in 2019 even though no sane person would have guessed so in about 1990
  • nobody knows how to do multithreaded / parallel programming
  • a "general purpose" language which performs well across all domains seems very unlikely, if not impossible