Live data from Hacker News

What's Special About Lisp?

kresimirbojcic.com

31–40 of 69 posts

Re: What's Special About Lisp?

#31
post #22

A ton of responses and no one mentions the one-word answer? "homoiconicity": the property of a language whereby code written in said language is stored, in a natural and immediate fashion, as a data structure of the same language What this means for Lisp is that if you want to manipulate Lisp code, you aren't dealing with some crazy complex AST: you can actually /see/ how the code is parsed by looking at the code its…

Please excuse my ignorance here -- > instead are able to write code that modifies code and generates code as easily as if you were writing the original code in the first place Is this often done? I know it is conceptually possible with the advantage being that the same functions used to manipulate lists and data are available for this task, but I got the impression that not many people actually do this? For instance.…

AFAIK this is actually incredibly common. The example that springs to my mind is people writing matrix libraries that manipulate the code to "compile" it to use more efficient algorithms. People do this kind of thing in C++, such as in Blitz++, but you end up having to pull heroics with the type system (and end up with some pretty abused syntax at times) to accomplish what is much easier in a homoiconic language like Lisp.

Re: What's Special About Lisp?

#32
I know and enjoy Lisp, but I don't use it anymore. I do, however, use Ruby, which is an acceptable Lisp. http://www.randomhacks.net/articles/2005/12/03/why-ruby-is-a...

In general, Lisp doesn't seem special anymore because (1) language implementers have taken Lisp's most important lessons and applied them to their own languages and (2) said languages have become relatively popular.

A lot's happened since "Beating the Averages". http://www.paulgraham.com/avg.html

Re: What's Special About Lisp?

#33
post #22

A ton of responses and no one mentions the one-word answer? "homoiconicity": the property of a language whereby code written in said language is stored, in a natural and immediate fashion, as a data structure of the same language What this means for Lisp is that if you want to manipulate Lisp code, you aren't dealing with some crazy complex AST: you can actually /see/ how the code is parsed by looking at the code its…

Please excuse my ignorance here -- > instead are able to write code that modifies code and generates code as easily as if you were writing the original code in the first place Is this often done? I know it is conceptually possible with the advantage being that the same functions used to manipulate lists and data are available for this task, but I got the impression that not many people actually do this? For instance.…

I've been using Common Lisp for quite a few years now yet I have written very few macros (although I have used a great many written by others!), however there's times when you need their power when nothing else will do.

Also because you can modify the syntax with them they can really clean and clear up your code.

Re: What's Special About Lisp?

#34
Lisp works with me to get the job done. Other languages typically impose a Way to get the job done.

I don't think like other language designers often. So I like a flexible language.

Re: What's Special About Lisp?

#35
post #27

I feel for the author and have recently come to a similar (read: not same ) conclusion: Lisp is pretty crappy for maybe 90% of the work being done out there. The more easily-accessible and popular a domain is, the worse Lisp will be for it. This isn't because Lisp magically gets worse; it's because other languages get better , through libraries. Even if nine of ten libraries are crappy, there are enough people in the…

Other languages certainly get better, and many can rely on extensive libraries. That said, why not try Clojure? Best of both worlds, and then some.

I absolutely adore clojure, and whenever I do a non-sysadmin project on my own, I like to use it.

But I'm still at the point in my career where people hire me rather than the other way around, and all the hand-waving I can do about "superiority of lambda calculus over the state machine" (okay, I'm more clear and practical than that) doesn't convince many.

Re: What's Special About Lisp?

#36

I feel for the author and have recently come to a similar (read: not same ) conclusion: Lisp is pretty crappy for maybe 90% of the work being done out there. The more easily-accessible and popular a domain is, the worse Lisp will be for it. This isn't because Lisp magically gets worse; it's because other languages get better , through libraries. Even if nine of ten libraries are crappy, there are enough people in the…

[deleted]

Re: What's Special About Lisp?

#37
post #2

Really like this counterpoint after all the LISP elitists so often snub other langs. The Ruby version is much more elegant and readable, in this little example. Would love to see more comparisons, specifically hacking around the lack of macros in other langs.

It's hardly much of a counterpoint considering Ruby took a great many ideas from Lisp. If anything, it's a rant about syntax. Overall though, it shows that Lisp did get it right. People love Lisp so long as it's dressed up to look like a non-Lisp.

Re: What's Special About Lisp?

#38
post #7

Earlier quoted context omitted.

I'm learning clojure, and find it has a certain elegance, but I don't fully "get it" yet.

Both lisp(s) and smalltalk took me about 18 months of decently serious use before I had a 'I get it moment'. Stick with it and it will come. I'm hoping that if I keep at it with Haskell, that eventually I'll have my 'I get it' moment with it as I think I can learn a ton from when I get it, much like I did with Lisp and Smalltalk. I've learned things from many different languages but the two I've learned the most from…

It took me about a year to have a "I really get it" moment in Clojure.

Re: What's Special About Lisp?

#39
post #18

I feel for the author and have recently come to a similar (read: not same ) conclusion: Lisp is pretty crappy for maybe 90% of the work being done out there. The more easily-accessible and popular a domain is, the worse Lisp will be for it. This isn't because Lisp magically gets worse; it's because other languages get better , through libraries. Even if nine of ten libraries are crappy, there are enough people in the…

well, if it's a language for writing libraries - why there are no libraries? :)

popularity, culture and ease of sharing libraries(ex. cpan) for one.

But also its not that its great for writing libraries but that its great for writing libraries that extend the language.

Re: What's Special About Lisp?

#40
post #30

> You can fake it anywhere else with more or less work That doesn't make sense, because there's no way to twist it. It's more work and duplication. I want macros all the time in JavaScript and that is a pretty flexible and dynamic language. Most of Lisp's other features are common now. Macros are still a big one but you don't need them every day. Lisp has powerful exception handling but I'd rather have Erlang style e…

> Most of Lisp's other features are common now.

Special variables, restarts and flexible reader are some of the basic features, that are not only uncommon, but, actually, unseen in any other language. Just to name a few.

Post reply on HN