3 ms·
"I think the benefit of the Lisp preprocessor is pretty small too" Lisp doesn't have a preprocessor, Lisp is a preprocessor. You can program with it, but think
by ohyes 16y ago
"I think the benefit of the Lisp preprocessor is pretty small too"
Lisp doesn't have a preprocessor, Lisp is a preprocessor.
You can program with it, but thinking about it as a programming language (ASCII or Unicode Strings to be Interpreted) is at least partially wrong.
"In a decade or less, the Lispers will see this light too."
It hasn't happened in the last half century, so how much do you want to bet on it?
- kenjackson 16y agoLisp doesn't have a preprocessor, Lisp is a preprocessor. You can program with it, but thinking about it as a programming language (ASCII or Unicode Strings to be Interpreted) is at least partially wrong. This would be news to McCarthy. McCarthy on several occassions, including the History of Lisp, refers to Lisp as a programming language. I've never heard him say Lisp is a preprocesser. I certainly am no expert compared to McCarthy. Maybe you are? It hasn't happened in the last half century, so how much do you want to bet on it? It's importance has ebbed and flowed over time. This is natural of language features. It was a decade ago where all the rage was template metapgrogramming in C++. Now, outside of a few library writers, most people don't touch it. This isn't to say it won't be popular again some time in the future. I should probably ammend my statement in that light and say that we'll likely see a major ebb in the coming years.
- nocman 16y ago"It's importance has ebbed and flowed over time." Are you talking about the importance of Lisp macros here? That's what you appear to be doing. I don't see a decline in enthusiasm for use of Lisp macros among Lisp programmers. "It's importance has ebbed and flowed over time. This is natural of language features. It was a decade ago where all the rage was template metapgrogramming in C++. Now, outside of a few library writers, most people don't touch it." The reason that few touch template metaprogramming in C++ is because it is a painful, limited, and in pretty much every way sucky experience. Many of the simplest tasks you wish to perform are either nearly impossible, or often drastically increase the amount of code you have to write. Many of us tried (present company included) and moved on because we figured out what a waste of time it was. Lisp macros, on the other hand, are a very powerful tool that can reduce the amount of code you have to write (and provide new abstractions to do useful things with, and probably at least a dozen other things I haven't mentioned). They are not perfect, and they can be abused, but they shouldn't even be mentioned with C++ templates in the same breath (unless you are talking about how much better Lisp macros are :-D ). I see your ammended statement/prediction and raise you with this one: I predict that Lisp macros will continue to be at least as important as they have ever been (at least to Lisp programmers) in the next ten years.
- kenjackson 16y agoThey are not perfect, and they can be abused, but they shouldn't even be mentioned with C++ templates in the same breath (unless you are talking about how much better Lisp macros are I do agree Lisp macros are better, if not simply because used less often, but they're both abominations in my mind. Of course C++ users can point to great things that are made possible with template metaprogramming, and Lisp programmers do the same with macros. I see both to largely be exercise of mental masturbation... "oh you can do a Nintendo64 emulator with templates... cool??" To answer your very first question, the importance of Lisp macros to programming in general. Circa 1988 they were extremely popular it seemed too. Maybe because the C standard was getting wrapped up, and so discussion of macros in general was popular. It seems that in the 90s Lisp macro discussion died down. And then circa 2005 it started back up. It is possible that its popularity has been relatively flat since 1990, and I just thought it died as I lost interest in the discussion, but it does really seem broader to me.