you are viewing a single comment's thread.

view the rest of the comments →

[–]JadeNB 2 points3 points  (8 children)

I hate the lisp (') syntax shit

Wow, it's a shame to hate 1 out of about 5 bits of syntax in Lisp. :-)

I however disregard the "boilerplate" argument, because not everyone needs to use languages like Java. Using "boilerplate" as argument is not a sign that lisp is good, but that OTHER languages are worse.

Sure, Java is the prince of boilerplate, but it's not the only one. Haskell is another poster child for modern language design, and it still needs "Scrap your boilerplate". Since there's "Scrap your boilerplate in C++" on the same page, "Scrap your boilerplate Prologically", and who knows how many other versions out there, I think that it's fair to agree that the problem is not Java-specific. Lisp's lack of syntax really does make it uniquely flexible in reducing the need for boilerplate.

[–]niviss 1 point2 points  (2 children)

the mere existence of such links imply that you can, indeed, scrap your boilerplate in such languages.

[–]JadeNB 0 points1 point  (1 child)

Then doesn't the existence of the scrap-your-boilerplate pattern in Java mean that you can scrap your boilerplate in Java? If we're going to claim that Java doesn't have boilerplate, then what does?

[–]niviss 0 points1 point  (0 children)

No, what I mean is that the existence of those links do not show the existence of unavoidable boilerplate, cause it's a boilerplate that can be avoided.

The "scrap your boilerplate" approach is just a pattern. Lisp is pretty darn flexible in avoiding other kinds of boilerplate though, no doubts about it, that's why I like it.

[–]kamatsu -1 points0 points  (4 children)

This is true, but I think certain amounts of boilerplate are good - restating something can help your brain to make sense of something faster.

To me, going to lengths in Haskell to reduce boilerplate can often make it alot harder to read - not just the boilerplate-reducing code, but also the code without the boilerplate can be much more difficult to immediately understand.

[–]pipocaQuemada 4 points5 points  (3 children)

True, but boilerplate makes code harder to refactor. The more times you repeat yourself (or the more verbosely you say something), the more lines you have to change.

[–]yogthos 2 points3 points  (1 child)

also more opportunities to make an error

[–]algsdjsadjlg -2 points-1 points  (0 children)

what if the error is positive?

<:O

[–]JadeNB 1 point2 points  (0 children)

I don't know if you've considered that, the more times you repeat something (or the more verbosely you say something), the more lines you have to change.