Earlier quoted context omitted.
I don't understand why Java is "hashtable-oriented"... What design flaws of Lisp are seen as features?
Really what are classes other than sugary hashtables?
Why Lisp Is Unpopular
91–100 of 159 posts
Re: Why Lisp Is Unpopular
#92Earlier quoted context omitted.
Noise != usage. Don't confuse attention with popularity. I think about the language and post comments about it on forums and read great Lisp code (e.g. Arc), but I'd never actually use it for anything non-trivial. Why? Because I write web apps and existing Lisps don't make that easier or more fun. The only (!) thing Lisp has to do is efficiently and absolutely abstract away XML, CSS, and JavaScript. No Lisp is going…
I'm interested in why you think that Lisp systems haven't yet efficiently abstracted away from HTML/CSS/JS. I work on such a system every day and the abstractions seem pretty efficient to me.
Re: Why Lisp Is Unpopular
#93How to make Lisp popular (or as popular as Lisp will ever get): 1) SBCL working very well on the big three PC platforms. 2) Bindings + easy installation for popular libraries. 3) Education (pg's articles, everything on planet.lisp.org) 4) Solid debugging, perhaps with things like breakpoints. There is much activity on all 4 problem items that I identified above, so Lisp IS getting more popular. I don't know if progra…
I was actually complaining here about this a few days ago. What activity on this item are you referring to?
Breakpoints as such are probably superfluous, since it's so easy to insert "(break)". But I wish I could single-step through s-expressions and have them highlighted in the editor, and I wish there were an easier way to inspect state. Actually it doesn't seem that sldb is so far away from what I want (with the exception of single-stepping and highlighting), yet I always find myself reverting to the equivalent of printf debugging.
Re: Why Lisp Is Unpopular
#94Re: Why Lisp Is Unpopular
#95Earlier quoted context omitted.
"The weedout process has worked its magic again ;P" Please don't call me a weed. You point out that the more effort you expend, the better you get. The problem is the rate of reward. Getting a productive lisp environment is hard work. Competing implementations, sometimes-compatible libraries, very little documentation -- these are things that make lisp, holistically, hard to adopt. Every other production language mak…
"Please don't call me a weed." Sorry :( "You point out that the more effort you expend, the better you get. The problem is the rate of reward. Getting a productive lisp environment is hard work. Competing implementations, sometimes-compatible libraries, very little documentation -- these are things that make lisp, holistically, hard to adopt. Every other production language makes it easier to get to the programming.…
Nah, that's ok. ;) CL isn't really for me, now. As I said, common lisp, right now, is too much work. Who knows what Arc 2020 will be like? ;)
Re: Why Lisp Is Unpopular
#96Earlier quoted context omitted.
The point I was trying to make is that whitespace and parens are not equally good as delimiters. Specifically, reading a newspaper that has parens instead of whitespace would be harder. (Specifically,(reading(a(newspaper(that(has(parens(instead(of(whitespace (would(be(harder.))))))))))))) In terms of actually being a problem, I'd say it depends on the code, for sure. I could create that same example in C, but end it…
But you can format and indent your lisp code so the reader (people) doesn't have to rely on counting parentheses. Example from taken from http://www.gigamonkeys.com/book/ (defun test-+ () (let ((*test-name* 'test-+) (another-var 'foo)) (check (= (+ 1 2) 3) (= (+ 1 2 3) 5) (= (+ -1 -3) -4)))) You should be able to read what this code does (check basically runs the statements and reports if they return true or false) w…
OTOH lisp encourages deep nesting, which makes it harder to be readable. Here's a rougly equivalent program, if I read the lisp correctly.
void test-+()
{
*test-name* = test-+;
another-var = foo;
assert( 1+2 == 3 );
assert( 1+2+3 == 5 );
assert( -1 + -3 == -4 );
}
I'm not saying that this is any better than the lisp equivalent - the lisp function is certainly more elegant. But because C is procedural/stateful, it's more natural to have flatter programs.And flat programs are easier to make legible, because you're less tempted to put multiple things on a single line to avoid going another level deeper in your indenation.
Re: Why Lisp Is Unpopular
#97How to make Lisp popular (or as popular as Lisp will ever get): 1) SBCL working very well on the big three PC platforms. 2) Bindings + easy installation for popular libraries. 3) Education (pg's articles, everything on planet.lisp.org) 4) Solid debugging, perhaps with things like breakpoints. There is much activity on all 4 problem items that I identified above, so Lisp IS getting more popular. I don't know if progra…
Noise != usage. Don't confuse attention with popularity. I think about the language and post comments about it on forums and read great Lisp code (e.g. Arc), but I'd never actually use it for anything non-trivial. Why? Because I write web apps and existing Lisps don't make that easier or more fun. The only (!) thing Lisp has to do is efficiently and absolutely abstract away XML, CSS, and JavaScript. No Lisp is going…
Re: Why Lisp Is Unpopular
#98Earlier quoted context omitted.
I'm interested in why you think that Lisp systems haven't yet efficiently abstracted away from HTML/CSS/JS. I work on such a system every day and the abstractions seem pretty efficient to me.
Maybe they have. What system are you using?
One thing it took me a while to realize about the Lisp world is why there tends not to be standard frameworks or libraries for some of this stuff. The answer is that, for certain kinds of problems (basically, anything involving metaprogramming), it's actually easier to solve your problem yourself than to learn someone else's framework and then use it to solve your problem. A good example would be unit testing... there are probably a dozen unit testing frameworks, none standard, none much used. The reason is that the frameworks don't add much value over what a programmer can easily do for himself, with all the advantages that implies. I think this may also be why web app frameworks are less prominent in the Lisp world.
This is not the case with all libraries, of course. CL-PPCRE adds huge value, to pick an obvious example, but not in the class of problem I'm talking about.
Re: Why Lisp Is Unpopular
#99Earlier quoted context omitted.
I really don't find that lisp, at least common lisp, is particularly concise. Consider lambda functions, one of those things that lisp is particularly praised for; common lisp: (lambda (x) (+ x 1)) C#3 : x=> x + 1 ruby : { |x| x + 1 } python : lambda x: x + 1 Haskell : \x -> x + 1 Just in terms of character count, CL is the longest of the lot. No, the problem with trying to get a lisp under your belt has alredy been…
You can shorten (+ x 1) to (1+ x), and if you get annoyed typing "lambda", it's not that hard to change it to something shorter like "fn". Also, CL has a lot of built-ins so I don't find I need to write lambdas nearly as often as in other languages. In this example, just say "1+". Another thing you'll find is that for trivial problems, Lisp might take a few extra characters, but it scales much better. Try making your…
I think what's happening currently in programming is that lisp-isms are filtering through to other languages. What used to be unique lisp-juice is available more generally, so the switch to lisp isn't perhaps as compelling.
Anyway. I'm off to write that metacircular evaluator in c# ;)
Re: Why Lisp Is Unpopular
#100Earlier quoted context omitted.
I think most people prefer languages that let them think about the problem they are trying to solve, rather than think about what the macros expand to, or what happens when they call that continuation.
Sure. Nobody would ever write a macro to solve a problem . No wait: on second thought, I surrender to how completely dumbfounded I am by this comment. I'm calling Kenny...