Live data from Hacker News

Why Ruby is an acceptable Lisp (2005)

randomhacks.net

111–115 of 115 posts

Re: Why Ruby is an acceptable Lisp (2005)

#111

Earlier quoted context omitted.

> You're just paying extra attention to the lisp ones. Because people in this thread are attempting to put-forward lisps' macros (and writing code as an AST) as some big win, without acknowledging that it comes with a massive cost. Lisp-y, inexpressive, paren-soup syntax. I'm saying myself (and presumably many others else lisps would be more popular) don't buy the trade-off. If you like it, and your team like it then…

I never said you haven't acheived enlightenment... But Lisp's syntax is actually pretty expressive and nice, once you get used to it, IMHO. You continually deny this, and while you're free to disagree (many do), you continually argue that the mine and other's opinions are Bad and Wrong. I find this frustrating.

I'm not arguing your opinions are anything other than your opinions.

I don't agree with them however.

Re: Why Ruby is an acceptable Lisp (2005)

#112

Earlier quoted context omitted.

> But that was just an example: there are things python will never have that you can add to lisp yourself. I don't want to. I want a language that has sensible norms. > As for your theory that macros make code harder to understand, you don't have any proof. In fact, you have negative proof, Do I? > as there's plenty of logic, What logic? Show me. I simply don't believe you, as it's not provable. > good programming pr…

Lisp has sensible norms: Unlike you, however, we acknowledge that what may be a sensible norm for one situation isn't for another. As for it not being good programming practice to use macros, it isn't good practice to use them excessively. However, they can be used to make your code much clearer. Here's the reasoning (no, it's not proof , you're right on that front, but it's better than what you've got, which is just…

> Lisp has sensible norms

Again, in your opinion. And sorry to start blunt because I'm trying to round this out as we're getting nowhere :)

To me, writing my code like it's an AST, amid a ton of parens is not sensible. I've happily not done so in many other languages for over a decade, and I'm very happy with that state of affairs (or at least I'm relatively happy with the modern incarnations of C-style langs, e.g. Rust, Crystal, ES6, and I would be very unhappy if I had to chuck that in tomorrow and write lisp).

Generally agree with your train of thought on abstractions, and see how you arrive at macros. But my take is that it's simply not a good idea to go as far as macros, especially when the syntax sacrifice is so great. If the language is truly missing something, take it up with the language authors.

(I've never encountered a situation in > 6 years of writing Python where I encountered something I could not do and needed macros for).

Again, my basic opinion is I see it as a trade-off, and one that I don't agree with. I think many others feel the same way if they get as far as understanding the purported benefits of homoiconicity. But most aren't willing to argue it on Hacker News and get downvoted to high hell (which is why I used a throwaway).

(I should note meanwhile in another thread someone wrote off the entire JS community as 'full of self-righteous assholes' [0] and got upvoted to top post).

Thanks for the discussion, it was an interesting experiment in arguing these thoughts I've had for a long time, as an 'abandoned' Clojure-curious dev. I'm a bit sad I didn't get any new answers, but appreciate the insight all the same.

[0] https://news.ycombinator.com/item?id=12482176

Re: Why Ruby is an acceptable Lisp (2005)

#113

Earlier quoted context omitted.

Lisp has sensible norms: Unlike you, however, we acknowledge that what may be a sensible norm for one situation isn't for another. As for it not being good programming practice to use macros, it isn't good practice to use them excessively. However, they can be used to make your code much clearer. Here's the reasoning (no, it's not proof , you're right on that front, but it's better than what you've got, which is just…

> Lisp has sensible norms Again, in your opinion. And sorry to start blunt because I'm trying to round this out as we're getting nowhere :) To me, writing my code like it's an AST, amid a ton of parens is not sensible. I've happily not done so in many other languages for over a decade, and I'm very happy with that state of affairs (or at least I'm relatively happy with the modern incarnations of C-style langs, e.g. R…

Ugh. I am always annoyed by people who hate on JS.

As for syntactic "sacrifices", they're necessary for the most complex macros, not so much for the simple ones: rust has macros, too!

Re: Why Ruby is an acceptable Lisp (2005)

#114

Earlier quoted context omitted.

This feels like it's fallen back into a more boring criticism: you just don't like Lisp's syntax. Ok, fine, everyone has a criticism about every other programming language's syntax. Maybe I hate Python's mandatory indentation. These kinds of criticisms are not really the most interesting ones though.

I don't think you can put those things on the same scale. I think it's telling that you dismiss Lisp's syntax like it's unimportant rather than acknowledging that it's the several hundred lb elephant in the room whenever it comes to talking about lisps. What I'm arguing is that Lispers say that all the parens and lack of other, more expressive constructs are worth it because you get macros. I'm arguing that's a bad t…

Well, the macros and read macros mean that you can "get back" those constructs.

Re: Why Ruby is an acceptable Lisp (2005)

#115

Earlier quoted context omitted.

I never said you haven't acheived enlightenment... But Lisp's syntax is actually pretty expressive and nice, once you get used to it, IMHO. You continually deny this, and while you're free to disagree (many do), you continually argue that the mine and other's opinions are Bad and Wrong. I find this frustrating.

I'm not arguing your opinions are anything other than your opinions. I don't agree with them however.

Thank you for respecting my opinions, then.
Post reply on HN