2 ms·
Some of the other languages have capabilities that Lisp doesn't, and while some argue that one can theoretically graft anything onto Lisp via macros, there's so
by silentbicycle 17y ago
Some of the other languages have capabilities that Lisp doesn't, and while some argue that one can theoretically graft anything onto Lisp via macros, there's something to be said for having them planned as part of the language. Really diving into another functional language (I'd suggest OCaml or Erlang) will influence your programming just as much as learning Scheme has, whichever you use more in the long run. OCaml will get you thinking about when static typing is a useful tool, and Erlang has a refreshingly sensible take on concurrency.
The people who designed those languages weren't ignorant of Lisp, by the way. For example, ML (i.e., SML and OCaml) was originally designed because Lisp's dynamic typing kept leading to subtle errors in an automated theorem prover, IIRC. The influence of Lisp on Haskell and Erlang is also pretty obvious, particularly in the terminology. Lisp is not the end of programming language evolution -- Scheme is just one of the most concise designs so far.