âYou have to be quite heavily invested in someone to do them the honour of telling them youâre annoyed with them.â â Alain de Botton
Every language has warts. This is not the first wart piece written on Clojure, but itâs my unique take on it. There are some workarounds, but these will bite newbies. Despite these minor annoyances, I still find Clojure to be the best environment to work in for many years to come.
Programming in Lisp is a different kind of programming. Some things seem similar to your daily imperative treadmill, but mostly itâs different. Thereâs a different lexicon of terms, REPL-driven (or rather, -dominated) programming, thereâs immutability, a really different type of (par)editing, a higher level of conciseness, a naturalness to using HoFs, a leaning on a small set of primitives, recursion as the norm, and so on.
Itâs worth gaining some proficiency with a Lisp, if anything, to change the way you think about programming. In this post I explore the Lisp landscape, and try to convince you to get in on the Racket, for edification, fun, and even profit.
Lisp is embedded in a lot of places.
BTW, I donât discredit Vim for not having an embedded Lisp. I see most of Vim (even VimL) as a very special DSL. Even with Lisp, you just canât get as concise as Vim commands.
Iâve been hooked on CentOS for servers for a couple years now. We used to use Ubuntu, but I see several advantages to choosing CentOS over Ubuntu and others. Hereâs why:
Smooth updates. Since starting all our servers out on CentOS 7.0, theyâve all been cleanly upgraded to 7.3 without any fuss or ceremony. Looked like any other daily update.
It has been a difficult decision to consider moving to Emacs. Besides discovering that it had some superpowers that Vim lacked, I had a niggling feeling that most of my programming heroes were already using Emacs. So I did some digging around to see who were the luminaries.
The digging turned up that the following all use Emacs. (Sorry for not recording many references.)
Rich Hickey (Clojure creator)
Joe Armstrong (Erlang creator)
Xavier Leroy (OCaml creator)
Matz (Ruby creator)
Guido van Rossum (GvR, Python creator)
Donald Knuth (TeX, Algo books)
Michael Widenius (MySQL creator)
Guy Steele (creator of many languages)
James Gosling (Java creator)
âA captain of a ship, no matter his rank, must follow the book.â âCaptain James T. Kirk
Iâve been keeping an "Outages Log" for the last few years to track downtime and causes of failures (sometimes theyâre only theories). This has turned out to be an invaluable record, so Iâll share the idea here and encourage you to keep one, too.