3 ms·
But no language, no matter however opinionated, does get most things right, does it? People complain about C, C++, Java, Go, you name it. I know many people ar
by foo101 7y ago
But no language, no matter however opinionated, does get most things right, does it? People complain about C, C++, Java, Go, you name it.
I know many people are averse to the idea of macros that makes Lisp so malleable (you can add syntactic abstractions like in-fix expressions etc.) but the same people are not averse to adding new types with classes or new "operators" with functions. I find it curious that many are comfortable at stopping the level of abstraction at just that (types and operations). For some reason, the idea of abstracting away syntax itself or dynamic function definitions (macros) is unpalatable. Why should the comfort for abstraction stop just there? Just like one can make a mess with types and functions, one can make a mess with macros. Just like one can write beautiful and elegant types and functions, one can write beautiful and elegant macros. Does the aversion to macros come due to the traumatic experience people relate to when they think of C/C++ macros?