Lisp is worth learning for … the profound enlightenment experience you will have when you finally get it. That experience will make you a better programmer for the rest of your days, even if you never actually use Lisp itself a lot.
Software design and implementation has been a large part of my job and my recreations for all of my adult years. I have never taken a course of study in the subject.
Do you believe software engineering has taught you to be clear?
It has certainly greatly influenced me in that regard. For example, I was familiar with the fallacy of suggestively named tokens long before reading Eliezer wrote of it on LessWrong, the fallacy of taking the subjective feeling that a task is simple for its actual simplicity, and probably various other things that are now just a part of my mental furniture.
While the lessons are there to be learned, that does not mean that everyone will learn them. I have rolled my eyes many times over what I would call junk XML languages, where the creators have done no more than write down English names for every concept they can think of in some domain of discourse, sprinkle pointy brackets over them, write a DTD, and believe they’ve achieved something. They have not. In the field of procedural humanoid animation, in which I have worked, there have been many attempts to generate animation from a human-written script specifying the movements, but, well, it would take too long to say what I think is wrong with most of them that my own efforts get right. I once heard a distinguished researcher in the field even say “I am not interested in stupid implementation”, as if she could just think up a structure and leave it to a few graduate students to implement.
Well, I have not. Which philosophers would you particularly recommend?
These two, for example, from opposite ends of the academic/professional spectrum:
E.W. Dijkstra, “The Humble Programmer”
E.S. Raymond, “How To Become A Hacker”
Software design and implementation has been a large part of my job and my recreations for all of my adult years. I have never taken a course of study in the subject.
It has certainly greatly influenced me in that regard. For example, I was familiar with the fallacy of suggestively named tokens long before reading Eliezer wrote of it on LessWrong, the fallacy of taking the subjective feeling that a task is simple for its actual simplicity, and probably various other things that are now just a part of my mental furniture.
While the lessons are there to be learned, that does not mean that everyone will learn them. I have rolled my eyes many times over what I would call junk XML languages, where the creators have done no more than write down English names for every concept they can think of in some domain of discourse, sprinkle pointy brackets over them, write a DTD, and believe they’ve achieved something. They have not. In the field of procedural humanoid animation, in which I have worked, there have been many attempts to generate animation from a human-written script specifying the movements, but, well, it would take too long to say what I think is wrong with most of them that my own efforts get right. I once heard a distinguished researcher in the field even say “I am not interested in stupid implementation”, as if she could just think up a structure and leave it to a few graduate students to implement.