This discussion has only gotten worse since my last post.
What C programmers don't seem to understand is that the purpose of the machine is to automate work. How does the Linux kernel solve the issue of macros without even the possibility of generating unique symbols, as with GENSYM, but to have a convention put in place, and violating this will lead to havoc. Here's something I've written:
The Linux kernel, due to C, is a monument to convention.
As a Lisp programmer, I don't want to deal with software millions of lines long. It's too much. Notice one of the only things a fanatical C programmer will defend C with is popularity. AIDS is also popular, often by being forced upon others who don't want it.
>>17
This is another form of that popularity defense which I detest. If I implemented a C in Lisp, no one would claim that C is really Lisp, but implement Lisp in C and suddenly it's evidence everything is C. Meanwhile, C isn't the underlying machine code, no, that's just silly. The buck stops at C, for no particular reason other than it does.
When a language has a standardized semantics, the implementation is irrelevant. Learn this.
C standards are backward compatible so future compatibility is a non-issue. You're more likely to find breaking changes in Lisp standards than C standards.
The Common Lisp standard is fairly comprehensive, and hasn't changed at all since its release. The C standards may not change much, but they're littered with undefined behaviour which still bites programmers today.
Anyway, here's a basic Lisp program; I want to read in a number, increment it, and print it; I'll assume nothing will go wrong, and so can you:
Now implement this in C, and take note that the Lisp program works for any integer, no matter how large; I'm assuming it fits in memory and that a non-integer won't be entered. There were machines that could handle arbitrarily-large numbers in hardware, but C couldn't take advantage of this, and __the market__ decided it was better to eat glue forever. Have fun implementing this, C programmers, and while you're not doing that, I'll continue to use Lisp to save myself effort and not care if anyone else uses it. This thread sucks.