You knoe, my first insights into computer programming came out of spite. I thought windows to be garbage and wanted to blame someone other than myself for my machine constantly crashing. Thus I discovered programming and down the rabbit hole. But my interest in computer science came from videogames. Portal in particular. I found the idea of GlaDOS fascinating and thought that artificial intelligence would be something interesting to research. The web then gave me Lisp, and boy was the language different from all the other languages I went through. I remember feeling super excited when Racket, Common Lisp and eventually Clojure would help me discover many different ideas. Every time I work with reduce or maps or stuff like that in other languages I always thank languages such as Clojure for having me descipher different ways of manipulating data to get a result. To this day I feel sad whenever I find that my languages do not have the same constructs that Clojure has. I mention Clojure because it is my favorite flavor of Lisp. But one thing that always remains grest to me is firing up Emacs and plugin my code to Slime or Cider and see the repl pop up waiting for something to happen. This feeling is beautiful.

Please guys, if you have not tried it, do so! You might hate it at first or push it aside. But trust me, once you get it it will really change the way you think about programming in general. Try the great Clojure for the Brave and true, and go through the third chapter succesfully. If you do not like Lisp by them then no harm done! You would at least know that there are other options.

Now, here are some cool things:
For the standard implementation, try Common Lisp

For a more modern Scheme, try Racket or Guile

For targetting the JVM try Clojure (more akin to Common Lisp) or Kawa (scheme like)

For the python AST get Hy (pun totally intended)

For JS try Clojurescript

For emacs scripting try Emacs Lisp (has way too many disasdvantages but still relatively close to common lisp)

Honorific mention to more pure functional programming languages for Haskell, F#, Ocaml.

Also worth mentioning that Js , Ruby and Python have great functional constructs.

(println "you will not regret it!")

Add Comment