top | item 18638290

The Programming Languages Zoo

178 points| rfreytag | 7 years ago |plzoo.andrej.com | reply

13 comments

order
[+] Jeff_Brown|7 years ago|reply
Two powerful, mind-bending items missing from the list of paradigms:

(1) Dependent types. c.f Idris (or Agda, or others -- but Idris).

(2) Logic programming. (It appears in the list of languages ("miniprolog") but not the list of paradigms.)

I consider both of these much more important than some of the more popular paradigms (object-oriented, procedural, dynamic typing -- if I never use such a language again it'll be too soon).

[+] rumcajz|7 years ago|reply
(3) declarative programming (e.g. SQL)
[+] charlysl|7 years ago|reply
This reminded me of the Programming Paradigms Poster: https://www.info.ucl.ac.be/~pvr/paradigmsDIAGRAMeng108.jpg
[+] platz|7 years ago|reply
ah yes, the chart in which they just put "Oz" and "Alice" under every box
[+] riffraff|7 years ago|reply
The book referred to by this diagram, "Concepts, Techiques, and Models of Computer Programming" is actually quite related to TFA too.

I.e. the book starts with a basic language and extends it in different ways to gain more espressive potential, i.e. HOFs, lazyness, state, different concurrency primitives, logic programming, constraint solving etc.

It's a big book, but it's wonderful.

[+] jesse_m|7 years ago|reply
Is there one of these languages to start with? Or would you choose one that interests you and study that one? There seems like some great content but I don't see a clear place to start
[+] DFXLuna|7 years ago|reply
The best way to choose a language is always to look at what problem you're trying to solve and what kinds of problems the languages you're looking at aimed toward.

If you're not familiar with programming already, python has a very low cost of entry and a massive following.

If you're familiar with programming and looking to get into functional stuff, Haskell will give you a pretty good start.