4 ms·
LISP is worth learning for a different reason – the profound enlightenment experience you will have when you finally get it. That experience will make you a bet
by teddyh 4y ago
LISP is worth learning for a different reason – the profound enlightenment experience you will have when you finally get it. That experience will make you a better programmer for the rest of your days, even if you never actually use LISP itself a lot. (You can get some beginning experience with LISP fairly easily by writing and modifying editing modes for the Emacs text editor, or Script-Fu plugins for the GIMP.)
It’s best, actually, to learn all five of Python, C/C++, Perl, and LISP. Besides being the most important hacking languages, they represent very different approaches to programming, and each will educate you in valuable ways.
http://www.catb.org/~esr/faqs/hacker-howto.html#skills1 http://www.catb.org/~esr/faqs/hacker-howto.html#skills1
- jacquesm 4y agoMay I suggest adding PROLOG to that list? Or Erlang, for yet another different take on programming.
- proper_elb 4y agoThis would be my 2023 list: Python, C, LISP, Fortran, Haskell, Prolog, SmallTalk. Also likely Rust, it might replace C in my list and is quite similar to Haskell in some ways, particularly when it comes to turning runtime errors to compile time error.
- macintux 4y ago+ Erlang (or Elixir if you must)
- bmitc 4y ago> LISP is worth learning for a different reason – the profound enlightenment experience you will have when you finally get it. I like Lisp (or rather Scheme and Racket), but I have never understood this perspective. The only thing I can think of that Common Lisp does truly uniquely is its condition system. I feel like something like Prolog is much more profound in the way that it reshapes how to think about programming.
- teddyh 4y agoWhat LISP has, uniquely, is its macro system which, unlike text-based macro system like C, operate on the abstract syntax tree level.
- jacobmartin 4y agoFor sure. Additionally, the syntax of lisp also makes these AST macros ergonomic and, in many cases, beautiful. Rust has AST-transforming macros, but they're harder to use because the syntax is more complex. They're also quite ugly.
- deleted 4y ago[deleted]
- bmitc 4y agoIs that enlightening though? For example, Common Lisp, Scheme, Racket, Clojure, Elixir, and Prolog all have abstract syntax tree macro systems that all differ from one another. And I would argue that macros should, in general, be avoided. They can be very enabling though to extend the given language when used with constraint and moderation.
- agumonkey 4y agoprolog is another step that's for sure but lisp is the gateway drug the emphasis on thin syntax, homoiconicity is really no joke to me. I'm finishing queinnec's l.i.s.p but writing some of it in python and using OO requires so many layers and layers to reacreate what is mostly various sexp trees it puts away a lot of sequential imperative, replaced by functional/function oriented, it may look trivial today but it's been like this since the 70s and about CL/CLOS, one could mention the MOP, the multimethod+combinations too
- jvanderbot 4y agoThough I'm not a Rust fanatic, I will say that spending time programming in Rust has made me a better C++ programmer.