3 ms·
I wish I had taken the time to understand LISP earlier.
by arnoooooo 9y ago
I wish I had taken the time to understand LISP earlier.
- johnfn 9y agoWhy?
- weavie 9y agoI was going to say the same thing. Why? For me at least, Lisp is by far the most enjoyable language to program in. Decades of my life spent fighting with class heirarchies and long compile times were all just in vain!
- randcraw 9y agoI'm no expert in Lisp, but I'll hazard an answer. Compared to modern languages, Lisp is uncomplicated and follows a small coherent set of principles that allow the writing of code to flow. In contrast, coding with objects is inherently constipated -- so much of the language's state and organization is hidden you don't tend to remember where it's all been tucked away. I find myself unable to employ natural idioms as readily as I can in a non-OOPL, and that interrupts my train of thought. And IMHO, design patterns make the constipation worse.
- kazinator 9y agoI'm not sure what you're talking about. ANSI Lisp has a great object system based on a small, coherent set of principles that allow OOP code to flow ...
- flavio81 9y agoLisp is by far the most powerful programming language out there. In fact, Lisp is not a language, it is more a philosophy: - If a language's syntax is written using an structure that the language itself can easily manipulate, - in such a way that the source code can generate new source code, using the full power of the language (no restrictions), - in a easy-to-program, straightforward way, ... then you practically have a Lisp language. As somebody important said: "Lisp is the programmable programming language". This is the key difference among the rest of the languages. I have spent about 26 years programming and only this year I set myself to grok Common Lisp. The power of Common Lisp, and in particular its object system (CLOS) makes languages like Java seem like ugly toys for miserable people.
- johnfn 9y agoI understand that lisp has power but I remain unconvinced that power in any way correlates to writing better programs. A lot of the utility that e.g. static typing provides is a sort of convention of how to write code such that we can then use tools to do the mundane work of verifying that our code is accurate or refactoring it. In other words, lack of power makes code note maintainable. I don't doubt lisp is fun and easy to write, but power doesn't have much say when it comes to refactoring. That's where convention wins out. How is refactoring 10k lines of lisp?
- kazinator 9y agoRefactoring 10K Lisp is very good. Lisp compilers provide diagnostics about code; it's just those diagnostics aren't the arbiter of whether or not something gets to execute.