3 ms·
Is Lisp a good choice (for a functional language)? If you want to program in stricly functional and only functional style, being totally forbidden of incorpora
by flavio81 9y ago
Is Lisp a good choice (for a functional language)?
If you want to program in stricly functional and only functional style, being totally forbidden of incorporating side effects into your functions (except via Monads), and want to feel a sensation of "types are checked and enforced everywhere, thus I can sleep happy", then go try Haskell.
If you want to be free to do whatever you need to do, to apply the paradigm you need at every moment -- be it procedural, imperative, logic, aspect-oriented, object-oriented, functional... then Common Lisp is for you. If you need the full power because you know what you are doing, then Common Lisp is for you.
Status of (Common) Lisp in 2017
- You can have a fully configured, ready to use, CL environment in under 5 minutes by downloading and executing Portacle. No configuration needed, it just runs and gives you Emacs, SLIME, Paredit, SBCL, Quicklisp and other nice tools.
- Free books and resources are available, for example "Practical Common Lisp"
- Package ("system") installation is damn easy with Quicklisp. Download package from the web, compile it and load it... with only one command: (quicklisp:quickload <package name>)
- There are libraries out there for anything you need: REST services, web frameworks (many), JSON, machine learning, math, anything really.
- There are many ANSI-compliant CL implementations out there, most of them free: SBCL, CLISP, Clozure CL, SICL, ABCL, LispWorks (commercial), Allegro CL (commercial)
- Interoperability with C is easy with CFFI (there are other ways as well)
etc etc. Lisp in 2017 is better than ever!
- Interoperability with Java is easy with the ABCL implementation.