quote:
Original post by trzy
None of the Lisp code I've seen seems appreciably smaller than C code trying to do the same thing.
It wouldn't be if you've only seen toy examples. The benefits of languages become more apparent on a larger-scale.
quote:
No, because it's compiled into syntax trees, thus freeing the programmer from burden of having to think in terms of that sort of structure.
Ah, but it doesn't free the programmer of that burden. There are many occasions when we want access to the internal representation of a C++ program, and we end up having to build complicated simulations of Lisp's facilities. For example, when you serialise, you are reconstructing an equivalent of the internal representation. When you perform template metaprogramming, you are pretending to manipulate the internal representation. Every time you make a remote procedure call, you need to hook into the internal representation. The list goes on. What you really mean is that, in C++, we try to free ourselves from the burden of having to think in terms of the internal representation, because it's so damn painful to do so. In Lisp, it is trivial to deal with the AST, so it happens all the time.
quote:
C is suitable for a lot more than driver code. It's been used for a lot things, you know, with spectacular results.
We shouldn't conclude too much about that other than certain people are willing to concentrate effort on getting results by whatever means. It certainly doesn't tell us that C was the better solution.
quote:
I'm not arguing it's the be-all end-all of languages, because it certainly isn't and it is slowly fading away, but it's functionality is nothing to be scoffed at.
Maybe not, but it's expressivity is. We could scoff at the functionality of C if you consider that, without the Standard Libraries, it is not Turing-complete.
quote:
Then why isn't Lisp more popular in compiler development?
Please go back and read the Naggum quote about Lisp's lack of popularity. Now, repeat after me "popular does not imply good".
quote:
I can't imagine something like GCC or ORC done in Lisp. Neither are pretty as it is, but I don't think Lisp would cut down the code complexity and size significantly. The code would probably be a lot harder to follow and maintain.
Woah! And you don't know Lisp? What hubris leads you to decide you know exactly how Lisp would be on such a task?
[edited by - SabreMan on March 8, 2003 5:02:38 AM]