I Lisp Again (2021)

Logo available in the public domain

As a longtime user (and active supporter) of Scheme/Common Lisp/Racket, I am sometimes asked why I stick with them. Luckily, I've always run my own engineering organizations, so I never had to justify it to management. But there is an even larger constituency - my own engineering colleagues - who have never had the pleasure of using these languages. While they never ask for a rationale, they do so out of intellectual curiosity, and sometimes to wonder why I'm not going gaga over the next cool feature to be added to Python or Scala, or whatever flavor of the month they are.

While the real the flavor of Lisp used has varied for me (Scheme, Common Lisp, Racket, Lisp-for-Erlang), the core has always remained the same: an s-based, dynamically typed, mostly functional, call-by-value λ expression - computational language.

I started serious programming in my teens in BASIC on a ZX Spectrum+, although I had already tried writing (by hand) Fortran programs. It was a defining period for me because it really defined my career path. Very quickly, I pushed the language to its limits and tried to write programs that greatly exceeded the limited capabilities of the language and its implementation. I switched to Pascal for a short time (Turbo Pascal on a DOS machine), which pleased me for a while, until I discovered C on Unix (Santa Cruz Operation Xenix!). It allowed me to get a bachelor's degree in computer science, but it always made me want to have more expressiveness in my programs.

It was when I learned about functional programming (Thanks IISc!) at Miranda (Ugly Haskell's beautiful mom) and it opened my eyes to wanting beauty< /em> in my programs. My notion of expressiveness in a programming language started to take very big leaps. My concept of what the programs should look like has now started to come together...

I Lisp Again (2021)
Logo available in the public domain

As a longtime user (and active supporter) of Scheme/Common Lisp/Racket, I am sometimes asked why I stick with them. Luckily, I've always run my own engineering organizations, so I never had to justify it to management. But there is an even larger constituency - my own engineering colleagues - who have never had the pleasure of using these languages. While they never ask for a rationale, they do so out of intellectual curiosity, and sometimes to wonder why I'm not going gaga over the next cool feature to be added to Python or Scala, or whatever flavor of the month they are.

While the real the flavor of Lisp used has varied for me (Scheme, Common Lisp, Racket, Lisp-for-Erlang), the core has always remained the same: an s-based, dynamically typed, mostly functional, call-by-value λ expression - computational language.

I started serious programming in my teens in BASIC on a ZX Spectrum+, although I had already tried writing (by hand) Fortran programs. It was a defining period for me because it really defined my career path. Very quickly, I pushed the language to its limits and tried to write programs that greatly exceeded the limited capabilities of the language and its implementation. I switched to Pascal for a short time (Turbo Pascal on a DOS machine), which pleased me for a while, until I discovered C on Unix (Santa Cruz Operation Xenix!). It allowed me to get a bachelor's degree in computer science, but it always made me want to have more expressiveness in my programs.

It was when I learned about functional programming (Thanks IISc!) at Miranda (Ugly Haskell's beautiful mom) and it opened my eyes to wanting beauty< /em> in my programs. My notion of expressiveness in a programming language started to take very big leaps. My concept of what the programs should look like has now started to come together...

What's Your Reaction?

like

dislike

love

funny

angry

sad

wow