>>7
I laughed. Only someone ignorant enough to not learn the languages would say that (this is from someone who knows C#, Java, CL, Scheme, ML, C, x86 asm, and bunch of other languages).
leaking memory
There are precise GCs, some even realtime, most generational. Some GCs are better than the others and some of them may be leaky, but most are good. You have full freedom in picking the implementations you use, and there are many to choose from.
There are also nice features like weak pointers (for example, in hashtables) to make it even easier for you to avoid keeping unneeded objects live.
Speed
SBCL, CMUCL, ACL, LW, CCL are pretty fast. They can generate optimized code which performs as well as C-written code or better, if you take the time to tune them (some better than others).
Features
Language features are far ahead Java/C#. Libraries are not part of the language, so Java/C# are ahead in that chapter, IF you don't count user-made libraries and de-facto standards. If you do, you have pretty much the same things.
Flexibility
I learned Lisp because I was angry at things C# wouldn't let me do. I never felt more liberated as a programmer once I've read my SICP and after that learned CL from PCL, ANSI CL, and a few other books. I can eliminate any kind of repetition, the abstractions are limitless and are limited only by my mind, the code is very easy to edit with a good structured editor, and I can shuffle code around as I want, perform transformations on it and much more. Using the REPL allows me to write and test code at the same time, I get instant gratification for knowing that my code works properly and I can debug it with much ease. Features like macros, keyword arguments, dynamic and lexical scoping, reader macros, CLOS and MOP allow me to make my code as general and as "ENTERPRISE"/extensible as I want without having to write much code at all, I can write code which writes code for me to reduce repetition.
It has been almost everything I ever wanted from a programming language. I'm not saying that the language is perfect, or that it offers everything, but just about any gripe I had with it was so easily fixed by writing a few lines of code that it just hasn't been worth getting upset about it. If I want a feature in Java and C#, no luck just getting it without a lengthy standardization process and major compiler hacking which could end up taking many months - some features might be rejected because of difficulty of implementation or them being against the views of the language designers (for example, I want a typecase and various forms of pattern matching in C#, to do that, I either have to do some ugly hacks or use some limited forms of pattern matching, or maybe just make my own compiler for my own modified language. In Lisp, typecase is provided by the language, and it it wasn't, it wouldn't be terribly hard to write your own, as for pattern matching that is not
destructuring-bind, I can just write a macro or load a portable library which offers me everything I want, with no effort.
If you still claim Java and C# as having more flexibility, you just don't know Lisp well enough, or can't admit that your language is less flexible.