why common lisp became my favorite
I came from a background of python/golang programming, my first contact with programming was with python, then I studied C to get to know systems programming and understand better about memory with pointers... golang was kind of my favorite language during a lot of time, because it has a simple and direct syntax with some built in niceties like map or slices (which in C must be done manually).
However after some time I got kinda bored, the tools were amazing but I didn't feel the ecstasy of exploring new features or syntax, I had heard about lisp before, although I disregarded it because I thought it was esoteric (which was synonym of uselessly complex and hard) to do things.
Some hours with it proved me how wrong I was...
Why it is so good?
As previously menitoned, I like simple and direct languages, but I also love to explore new syntaxes and ways of working. Lisp is a definition, which means a lot of 'dialects' of it exist, each with its functions, modules and uses.
However that is one of its best features and how it shiny: the previsibility and stability. Its syntax is the same, no matter the dialect you will always have the basic:
(function arg1 arg2 ... argN)
What will change is the underlying implementation, like being case sensitive or separating the namespace of functions and arguments.
Another aspect that made me think it is magical is it pragmaticality, its debug is powerful, we can change variables and functions while it is still executing!!!
Related to this interactive debug comes the fact lisp is interpreted, but forget your concept about slow languages like python/ruby or memory eater like javascript, Lisp is fast, lightweight and offers compilation, sometimes native compilation binary depending on the lisp implementation you are using.
Famous versions of lisp are: emacs lisp, lisp flavored erlang, clojure, common lisp, scheme, guile, etc.
And I didn't even mentioned the powerful system of macros that can literally implement new paradigms to the language.