Oct 28, 2021
I have been reading about lisp, and felt very confused as to why it’s never a mainstream language, if it provides an answer to so many things. This article actually answered almost all my question but it also answered another question I have been having: why is it so complicated to code a solution to a problem that can be answered so easily verbally?
It’s been half a year since I started my career as a professional software engineer, and this question is probably the most pressing of all. A very key point the article has made is that in LISP, you can almost create a new language (a DSL) to solve the problem, but with the ALGOL family (python, javascript, the C like language), you do the reverse. The language itself impose constraints on what you can express, and you are forced to break down your business problem into what the language can solve. This is ultimately the reason why C like language caught on trend but not lisp, because C code is ultimately readable, and can be more easily shared by people, regardless of the esoteric problem they solve. Lisp is the opposite, each program is specifically designed for a business problem, and it is challenging to understand another programmer’s lisp code, without understanding their business requirement.
As I learn and grow at my job, I started to ponder more on the business side of things, because having such an understanding has proven to help me write better code. Essentially, I have gotten a lot better at translating those business requirement into code, an ability that was praised, but ultimately seems to stem from the language design itself. Maybe it never had to be this way? Of course, this alone wouldn’t be a good reason to adopt lisp and convince others to use it, but maybe learning about lisp would make me better at doing such a translation.