Learning Lisp - Why?
stackoverflow.com
stackoverflow.com
http://stackoverflow.com/questions/4724/learning-lisp-why/27...
http://webcache.googleusercontent.com/search?q=cache:QfU7Ls3...
- Eric S. Raymond, "How to Become a Hacker"
IBM's watson, the best thing we got going for artificial intelligence, is it written in lisp? NO, it's written in java. The link from lisp to artificial intelligence is a lie. Lisp is just a very poor language, it's designed to get eager novices working on things that are irrelevant so they will learn (the hard way) that being a good programmer means laughing at the people who promote lisp as "an epic language". Lisp had its day, somewhere back in the 1950's/1960's. That day is gone.
If I'm working on any sort of problem needing a programming solution, and someone suggests we use lisp, I buy that person a copy of "The pragmatic Programmer", and tell them to read it closely.
And autocad uses its own version of lisp (autolisp) as a scripting language.
Edit:
There are also the Lisp Machines from the 80's (a bit old, yes, I know) [1].
And the Jak and Daxter series of games[2]
[1] - http://en.wikipedia.org/wiki/Lisp_machines
[2] - https://secure.wikimedia.org/wikipedia/en/wiki/Game_Oriented...
With startups like BackType and FlightCaster getting acquired, it's a positive sign.
Yes.
The program you used to post that question is written in Lisp. HN probably counts as more than a novelty by this point.
I'm not sure this really even qualifies as 'software' ;)
It could have been written in php/asp/python/perl etc and would have functioned exactly the same, be about the same lines of code, as maintainable, as prone to bugs and so on.
In fact, I seem to remember Reddit rewrote from lisp to python in a weekend?...
Is it shorter? Less error-prone? Simpler?
A more accurate term would be "Required programming effort".
Would you agree that it would take a similar amount of effort for a proficient PHP programmer to write HN, as a proficient Lisp programmer etc?
FWIW, I have just looked at the source and IMHO I'd expect it to be extremely similar in PHP/other languages.
Obviously, literally any software could be identically implemented in any language. Lines of code don't really matter, but I strongly expect that the Arc code of HN is much more concise than an implementation in php/asp/python/perl would be, even if you used a web framework. PG prides himself in the conciseness of the HN code, and Arc seems to lend itself to concise implementations of web apps.
As for maintainability and bug proneness, both depend more on the programmer(s) than the language.
My point was that it doesn't do heavy algorithm lifting, processing etc. It's not a phong shading ray tracer or anything.
It's moving data around, storing it and displaying it. It's mostly plumbing work - getting data from one place to another.
Also, at a certain level of skill, you can rewrite just anything in a weekend — but that doesn't mean the code is as clean, as lean, as maintainable or as correct. It just means you've approximated the most obvious functionality in the software.
(trtd ,@body)
(trtd (vspace 10)
(color-stripe (main-color ,gu))
(br)
(center
(hook 'longfoot)Then I'd recommend you go back and read it closely yourself, because there's an entire chapter on domain-specific programming which includes tips on implementing mini-languages to write code close to the problem space, which is a very Lispy suggestion.
Also see here: http://www.franz.com/success/