Note that there are some explanatory texts on larger screens.

plurals
  1. PO
    text
    copied!<p>I recommend <a href="http://haskell.org" rel="nofollow noreferrer">Haskell</a>. Please check out this other SO question: <a href="https://stackoverflow.com/questions/1012573/getting-started-with-haskell">Getting Started with Haskell</a>.</p> <p>Reasons in favor of Haskell:</p> <ul> <li>From a personal perspective first: I spent a considerable amount of my early programming years thinking about designing my own programming language. (For example, I highly recommend the textbook <a href="http://rads.stackoverflow.com/amzn/click/0126339511" rel="nofollow noreferrer" title="2nd edition on Amazon">Programming Language Pragmatics</a>.) When I first encountered Haskell, I realized that it incorporated many of the ideas I had, plus many more, and all in ways far better than I could have done myself.</li> <li>It's a very pure implementation of functional ideals: lazy (non-strict) and (polymorphically) statically typed. No side effects!</li> <li>Its type system might change your view of type systems. (Hindley-Milner type inference is amazing.)</li> <li>Its alternative view of object-oriented programming and polymorphism is great.</li> </ul> <p>Lisp is also a good choice. Reasons in favor of a Lisp variant:</p> <ul> <li>Historically the first functional programming language (or the first huge one).</li> <li>The worldview "everything is a list" is very minimalist, simple, and beautiful.</li> </ul> <p>If you do choose a Lisp variant, I recommend <a href="http://www.schemers.org/" rel="nofollow noreferrer">Scheme</a>.</p> <p>I have not used OCaml or Ruby, but some of my friends swear by them, though one could argue how functional they are. On the other hand, their "multi-paradigm" nature makes them very convenient in practice.</p> <p>To conclude, I suggest you choose a language following Alan Perlis's advice: "A language that doesn't affect the way you think about programming, is not worth knowing." Lisp and Haskell both changed my world. I hope that no matter what language you choose, it changes your world.</p>
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload