...Please don't assume Lisp is only useful for Animation and Graphics, AI, Bioinformatics, B2B and E-Commerce, Data Mining, EDA/Semiconductor applications, Expert Systems, Finance, Intelligent Agents, Knowledge Management, Mechanical CAD, Modeling and Simulation, Natural Language, Optimization, Research, Risk Analysis, Scheduling, Telecom, and Web Authoring just because these are the only things they happened to list. (http://www.foldr.org/~michaelw/log/programming/lisp/reverse-complement-benchmark) (Kent M. Pitman) A language that doesn’t affect the way you think about programming, is not worth knowing. (Alan Perlis) aestheticles: n. The little-known source of aesthetic reactions. If your whole body feels like going into a fetal position or otherwise double over from the pain of experiencing something exceptionally ugly and inelegant, such as C++, it's because your aestheticles got creamed. (http://groups.google.no/group/comp.lang.lisp/msg/4356934aa0d7c2fe) (Erik Naggum) Also, except for popularity, Python didn't go anywhere as a language. (http://axisofeval.blogspot.com/2010/05/next-lisps.html) (Manuel J. Simoni) And as a result we find that object-oriented languages have succumbed to static thinkers who worship perfect planning over runtime adaptability, early decisions over late ones, and the wisdom of compilers over the cleverness of failure detection and repair. (http://dreamsongs.com/ObjectsHaveFailedNarrative.html) (Richard P. Gabriel) And you're right: we were not out to win over the Lisp programmers; we were after the C++ programmers. We managed to drag a lot of them about halfway to Lisp. (http://people.csail.mit.edu/gregs/ll1-discuss-archive-html/msg04045.html) (Guy Steele) Any comparison of hot JVM languages is likely to note that "Clojure is not object-oriented." This is true, but it may lead you to the wrong conclusions. It’s a little like saying that a rifle is not arrow-oriented. (http://blog.thinkrelevance.com/2009/8/12/rifle-oriented-programming-with-clojure-2) (Stuart Halloway) Any sufficiently large C or Fortran program contains an ad-hoc, informally- specified, bug-ridden, slow implimentation of half of Common Lisp. (Philip Greenspun) Anyone could learn Lisp in one day, except that if they already knew Fortran, it would take three days. (http://bc.tech.coop/blog/071226.html) (Marvin Minsky) Art, engineering, and science are—in that order—part of a continuum of finding truth in the world and about ourselves. (http://www.dreamsongs.com/ArtOfLisp.html) (Richard P. Gabriel) As much as I love a debugger, it is disheartening to need to use it to understand my code. (http://blogs.msdn.com/wesdyer/archive/2007/01/18/why-functional-programming-is-important-in-a-mixed-environment.aspx) (wesdyer) Before Rails came along, for all practical purposes, Ruby didn't exist. (http://blogs.law.harvard.edu/ivan/2005/12/20#a42) Bigger is just something you have to live with in Java. Growth is a fact of life. Java is like a variant of the game of Tetris in which none of the pieces can fill gaps created by the other pieces, so all you can do is pile them up endlessly. (http://steve-yegge.blogspot.com/2007/12/codes-worst-enemy.html) (Steve Yegge) C combines the power of assembler language with the convenience of assembler language. C++ is dumb, and you can't write smart systems in a dumb language. Languages shape the world. Dumb languages make for dumb worlds. (http://www.cabochon.com/~stevey/blog-rants/tour-de-babel.html) C++ is history repeated as tragedy. Java is history repeated as farce. (http://bc.tech.coop/blog/071226.html) (Scott McKay) C++ is history repeated as tragedy. Java is history repeated as farce. (http://lambda-the-ultimate.org/node/4112#comment-62529 ) (Scott McKay) C++ is the dumbest language on earth, in the very real sense of being the least sentient. It doesn't know about itself. It is not introspective. Neither is C, but C isn't "Object-Oriented", and object orientation is in no small measure about making your programs know about themselves. Objects are actors. So OO languages need to have runtime reflection and typing. C++ doesn't, not really, not that you'd ever use. (http://steve.yegge.googlepages.com/tour-de-babel) (Steve Yegge) Dynamic types are stronger than static types, as they don't flee the field at runtime. (http://seanmcgrath.blogspot.com/archives/2005_10_23_seanmcgrath_archive.html#113022917318108225) (Brian Foote) For optimisation, more is known about a program written in a dynamically typed language at runtime than is known about programs in statically typed languages at compile time (http://www.voidspace.org.uk/python/weblog/arch_d7_2008_09_06.shtml#e1010id5) (Gilad Bracha) Functional programming is like describing your problem to a mathematician. Imperative programming is like giving instructions to an idiot. (http://bc.tech.coop/blog/071226.html) I am reminded of Gregor Kiczales at ILC 2003 [the International Lisp Conference] displaying some AspectJ to a silent crowd, pausing, then plaintively adding, "When I show that to Java programmers they stand up and cheer." (http://bc.tech.coop/blog/071226.html) (Kenny Tilton) I did say something along the lines of "C makes it easy to shoot yourself in the foot; C++ makes it harder, but when you do, it blows your whole leg off." (Bjarne Stroustrup) I do my Java editing in Eclipse now. It doesn't work as well as EMACSonce did, but it works better than EMACS does now. (http://dobbscodetalk.com/index.php?option=com_myblog&show=I-Love-EMACS%21-or-at-least-I-did...-.html&Itemid=29) (Bil Lewis) I invented the term Object-Oriented, and I can tell you I did not have C++ in mind. (http://bc.tech.coop/blog/060224.html) (Alan Kay) I may be biased, but I tend to find a much lower tendency among female programmers to be dishonest about their skills, and thus do not say they know C++ when they are smart enough to realize that that would be a lie for all but perhaps 5 people on this planet. (http://groups.google.no/group/comp.lang.lisp/msg/f0f59b2b18124881) (Erik Naggum) I should not choose long, hard words just to make other persons think that I know a lot. I should try to make my thoughts clear; if they are clear and right, then other persons can judge my work as it ought to be judged. (http://www.brics.dk/~hosc/local/HOSC-12-3-pp221-236.pdf) (Guy Steele) I think programmers have become inured to incidental complexity... when they encounter complexity, they consider it a challenge to overcome, rather than an obstacle to remove.Overcoming complexity isn't work, it's waste. (Rich Hickey) I would compare the Smalltalk stuff that we did in the '70s with something like a Gothic cathedral. We had two ideas, really. One of them we got from Lisp: late binding. The other one was the idea of objects. Those gave us something a little bit like the arch, so we were able to make complex, seemingly large structures out of very little material, but I wouldn't put us much past the engineering of 1,000 years ago. (http://bc.tech.coop/blog/060224.html) (Alan Kay) I'd just like to take this moment to point out that C has all the expressive power of two dixie cups and a string. (http://mail.python.org/pipermail/python-list/2002-August/158831.html) (Jamie Zawinski) I'm assuming, based on long observation, that Microsoft with high likelihood fucked up the pragmatics completely, and that programming in C#, as opposed to reading about it, is deeply depressing. (http://axisofeval.blogspot.com/2010/07/c-40-industrial-response-to-lisp.html) (Manuel J. Simoni) I'm not against types, but I don't know of any type systems that aren't a complete pain, so I still like dynamic typing. (Alan Kay) If I were chained to a bench and 'perl' was the only thing that could open the lock, I'd probably cut my hand off. (http://wiki.gungfu.de/Main/LanguageFights) (Gerald Penn) If someone was to drop a bomb on this building, it would wipe out 50 percent of the Lisp community. That would probably be a good thing. It would allow Lisp to start over. (http://www.findinglisp.com/blog/2005/06/ilc-2005-wednesday-report-late.html) (John McCarthy) If you give someone Fortran, he has Fortran. If you give someone Lisp, he has any language he pleases. (http://bc.tech.coop/blog/071226.html) (Guy Steele) It is better to have 100 functions operate on one data structure than 10 functions on 10 data structures. (http://bc.tech.coop/blog/071226.html) (Alan Perlis) Java and C# are both such stifling languages that you need to be able to use code generators to make them effective. (http://simonwillison.net/2004/Feb/11/codeGeneration/) Java and C++ make you think that the new ideas are like the old ones. Java is the most distressing thing to hit computing since MS-DOS. (http://bc.tech.coop/blog/060224.html) (Alan Kay) Java is, in many ways, C++--. (http://bc.tech.coop/blog/071226.html) (Michael Feldman) Just a gentle reminder that I took some pains at the last OOPSLA to try to remind everyone that Smalltalk is not only NOT its syntax or the class library, it is not even about classes. I'm sorry that I long ago coined the term "objects" for this topic because it gets many people to focus on the lesser idea.The big idea is "messaging" -- that is what the kernal of Smalltalk/Squeak is all about (and it's source: something that was never quite completed in our Xerox PARC phase). (http://wiki.gungfu.de/Main/ObjectOrientedProgramming) (Alan Kay) Languages shape the way we think, or don't. (http://groups.google.no/group/comp.lang.lisp/msg/baafc407b4bd66f5) (Erik Naggum) Lisp - the notion of writing your code directly in tree form - is an idea that’s discovered time and again. People have tried all sorts of crazy alternatives, writing code in XML or in opaque binary formats or using cumbersome code generators. But their artificial Byzantine empires always fall into disrepair or crush themselves into collapse while Lisp, the road that wanders through time, remains simple, elegant, and pure. (http://corfield.org/blog/post.cfm/the-joy-of-clojure) (Steve Yegge) Lisp indeed leaves you with your own ideas and your own limitations. It doesn't pose any artificial restrictions on your programs that you have to work against, and it doesn't provide any "color by numbers" examples that make you feel like you have achieved something. Lisp requires you to be creative. (http://steve-yegge.blogspot.com/2006/04/lisp-is-not-acceptable-lisp.html?showComment=1145470320000#c114547037402357120) (Pascal Costanza) Lisp is a language for doing what you've been told is impossible. (http://bc.tech.coop/blog/071226.html) (Kent M. Pitman) Lisp is the language of loveliness. With it a great programmer can make a beautiful, operating thing, a thing organically created and formed through the interaction of a programmer/artist and a medium of expression that happens to execute on a computer. (http://www.dreamsongs.com/ArtOfLisp.html) (Richard P. Gabriel) Lisp is ugly. Will always be. If you care, you're just not ready yet. (http://axisofeval.blogspot.com/2010/04/that-ragged-old-lisp.html) (Manuel J. Simoni) Lisp's uglyness is like a stealth-coat, keeping it hidden from the clueless. (http://axisofeval.blogspot.com/2010/04/that-ragged-old-lisp.html) (Manuel J. Simoni) Meta means that you step back from your own place. What you used to do is now what you see. What you were is now what you act on. Verbs turn to nouns. What you used to think of as a pattern is now treated as a thing to put in the slot of an other pattern. A meta foo is a foo in whose slots you can put foos. (http://wiki.gungfu.de/Main/Meta) (Guy Steele) Most people who graduate with CS degrees don't understand the significance of Lisp. Lisp is the most important idea in computer science. Alan's breakthrough in object oriented programming, wasn't objects, it was the realizing that the Lisp metasystem was what we needed. (http://bc.tech.coop/blog/060224.html) (Alan Kay) Most undergraduate degrees in computer science these days are basically Java vocational training. (http://bc.tech.coop/blog/060224.html) (Alan Kay) object-oriented design is the roman numerals of computing. (http://en.wikipedia.org/wiki/Rob_Pike) (Rob Pike) Only a subset of all possible programs can be written with statically typed languages. For some people that is enough. (http://www.voidspace.org.uk/python/weblog/arch_d7_2008_09_06.shtml#e1010id5) (Gilad Bracha) OO makes code understandable by encapsulating moving parts.FP makes code understandable by minimizing moving parts. (http://www.johndcook.com/blog/2010/11/03/object-oriented-vs-functional-programming/) (Michael Feathers) OOP to me means only messaging, local retention and protection and hiding of state-process, and extreme late-binding of all things. It can be done in Smalltalk and in LISP. There are possibly other systems in which this is possible, but I'm not aware of them. (http://wiki.gungfu.de/Main/ObjectOrientedProgramming) (Alan Kay) Parentheses? What parentheses? I haven't noticed any parentheses since my first month of Lisp programming. I like to ask people who complain about parentheses in Lisp if they are bothered by all the spaces between words in a newspaper... (http://bc.tech.coop/blog/071226.html) (Kenny Tilton) Perl is another example of filling a tiny, short-term need, and then being a real problem in the longer term. (http://acmqueue.com/modules.php?name=Content&pa=showpage&pid=273&page=3) Programming in Basic causes brain damage. (Edsger Wybe Dijkstra) Programming in C++ is premature optimization. (http://www.cs.caltech.edu/~mvanier/hacking/rants/scalable_computer_programming_languages.html) Question: "Why are languages like C , C#, and Java so prevalent?"Dave Ungar: "Why do people smoke tobacco? (http://bc.tech.coop/blog/071226.html) Rekursion ist für funktionale Sprachen wie das Fernsehen für die amerikanische Popkultur - sie sind einfach unzertrennlich. (Effektiv C++ programmieren, Scott Meyers - Tipp 48) Rewarding incompetence and ignorance increases the number of incompetent programmers. Designing programming languages and tools so incompetent programmers can feel better about themselves is not the way to go. (http://groups.google.no/group/comp.lang.functional/msg/b69c767370ee7c43) (Erik Naggum) Smalltalk, it's like Ruby with tools. (http://wilkes.blogspot.com/2008/01/amen-brother.html) So the problem is-I've said this about both Smalltalk and Lisp-they tend to eat their young. What I mean is that both Lisp and Smalltalk are really fabulous vehicles, because they have a meta-system. They have so many ways of dealing with problems that the early-binding languages don't have, that it's very, very difficult for people who like Lisp or Smalltalk to imagine anything else. (http://bc.tech.coop/blog/060224.html) (Alan Kay) SQL, Lisp, and Haskell are the only programming languages that I've seen where one spends more time thinking than typing. (http://www.paulgraham.com/quotes.html) (Philip Greenspun) Static types give me the same feeling of safety as the announcement that my seat cushion can be used as a floatation device. (http://seanmcgrath.blogspot.com/archives/2005_10_23_seanmcgrath_archive.html#113022917318108225) (Don Roberts) Structure is nothing if it is all you got. Skeletons spook people if they try to walk around on their own. I really wonder why XML does not. (http://groups.google.no/group/comp.lang.lisp/msg/7d410e0ae791d1cb) (Erik Naggum) The great problem with Lisp is that it is just good enough to keep us from developing something really good. (http://bc.tech.coop/blog/060224.html) (Alan Kay) The last good thing written in C was Franz Schubert's Symphony number 9. (http://bc.tech.coop/blog/071226.html) (Erwin Dieterich) The one thing it [Lisp] has going against it is that it is not a crystallization of style. The people who use it must have a great deal of personal style themselves. But I think if you can have one language on your system, of the ones that have been around for a while, it should be Lisp. (http://bc.tech.coop/blog/060224.html) (Alan Kay) There are two types of programming languages; the ones that people bitch about and the ones that no one uses. (Bjarne Stroustrup) These languages will never be mainstream, because the mainstream would never see the benefits they provide. The mainstream would kill themselves with such power. There's a reason the mainstream likes manifest typing, procedural programming, and cut and paste methodologies, quite simply, it's all they can handle. (http://onsmalltalk.com/languages-of-the-gods) Things that are different should look different. (http://www.wall.org/~larry/pm.html) (Larry Wall) Think of C++ as an object-oriented assembly language. (http://www.cs.caltech.edu/~mvanier/hacking/rants/scalable_computer_programming_languages.html) To iterate is human, to recurse divine. (L. Peter Deutsch) Unless I'm writing a kernel, a device driver, a virtual machine, or an interface to a C or C++ library, writing in C is a probably premature optimization. (http://www.onlamp.com/pub/a/onlamp/2003/05/12/languagephilosophy.html) Until real software engineering is developed, the next best practice is to develop with a dynamic system that has extreme late binding in all aspects. (http://bc.tech.coop/blog/060224.html) (Alan Kay) We've always known that dynamic languages are a great way to create "little languages" for specific tasks. But we don't yet fully appreciate that all programming is a continuous process of language invention. And we don't (yet) evaluate programming-language productivity on those terms. .... We are linguistic animals endowed with a protean ability to generate language. Naturally we'll want that same generative power in our programming languages. (http://simonwillison.net/2004/Feb/11/codeGeneration/) (Dave Thomas) When someone says, "I want a programming language in which I need only say what I want done," give him a lollipop. (Alan Perlis) Where's the domain specific language for the domain of software programming? (http://www.dehora.net/journal/2005/12/lisp.html) XML—which amounts to some fundamental Lisp data structures reinterpreted by people with bad taste brainwashed by inflexibility. (http://www.dreamsongs.com/ArtOfLisp.html) (Richard P. Gabriel) You can drag any rat out of the sewer and teach it to get some work done in Perl, but you cannot teach it serious programming. (http://bc.tech.coop/blog/071226.html) (Erik Naggum) You're posting to a Scheme group. Around here, arguing that Java is better than C++ is like arguing that grasshoppers taste better than tree bark. (http://bc.tech.coop/blog/071226.html) [Lisp is] "the greatest single programming language ever designed" (http://bc.tech.coop/blog/060224.html) (Alan Kay)