Live data from Hacker News

My Increasing Frustration with Clojure

ashtonkemerling.com

171–180 of 240 posts

Re: My Increasing Frustration with Clojure

#171
post #163
post #154

Earlier quoted context omitted.

This is the sort of generic programming language flamewar comment we can do without. If you want to discuss questions like this on HN, please pose them without snark. We detached this subthread from https://news.ycombinator.com/item?id=11883875 and marked it off-topic.

As an aside, I don't think this thread turned into a flamewar, there's some good discussion. Also, s/he started it ;)

I take both points but the combination of snark and genericness is still an explosives-handling violation.

Thanks for the friendly responses.

Re: My Increasing Frustration with Clojure

#172
post #8

Earlier quoted context omitted.

In what way is "garbage in garbage out" better than consistent handling and explicit failure, especially for something so well-defined mathematically? That's sort of a lazy argument, imo. I shouldn't need to pull in more libs for baseline language expectations, either. Core libraries are what languages really are, much more important than just syntax.

Because checks to avoid some kinds of garbage can incure significant performance penalty. There is always a tradeoff in that sense, and I think Clojure is pretty well balanced in that way. So, read the docs, try the functions out to see how they work, write tests, and sanitize the data at the appropriate place.

Matters so rarely that it's far better to rewrite in those cases when necessary.

Re: My Increasing Frustration with Clojure

#173

Respect and treatment of people is a real concern. I made a decision not to pick a certain library after seeing people being shut down in the issue tracker in the most unnecessarily abrasive way possible. Clojure does have a lot of amazing people though, and I've been very welcome reaching out to people for help as a whole.

This is my exact sentiment in many areas of life, being an adult who've seen many different ways of treatment of both myself and many others.

This exact HN discussion (and the original article) actually made me stay away from Clojure for good. I was curious, I wanted to learn the LISP way of doing things but I'm not gonna pretend that I am OK with people dismissing the possible irrelevance of their language by a death of 1000 paper cuts -- of which several were outlined the by the original article's author.

Same thing like the game Mortal Kombat X. Bought it for both myself and my girlfriend and we love it but it turns out Warner Brothers & Nether Realm Studios figured they'll support it only on the console almost immediately after it was released on PC.

I have enough money to buy 5 PS4 machines if I want to, and to buy one MKX copy for each. But I won't. I won't support people who treat their users/customers like that.

Same goes to Clojure. Same goes for Rails in the recent months when DHH actually has to write articles defending his strong opinions.

Re: My Increasing Frustration with Clojure

#174
post #151

Earlier quoted context omitted.

You're right and make a very good point. But that doesn't change the fact that there are bugs from 2009 which barely have comments or even a reasonable explanation. Me being a pretty average typer (~95 WPM) I could type 2-3 paragraphs detailing why I am against fixing anything, in no more than 6-8 minutes. So for 7 years such bugs to never even get a proper explanation is showing the maintainers as douchebags, not vi…

> showing the maintainers as douchebags That's over the line. Please edit out name-calling from your comments here. https://news.ycombinator.com/newsguidelines.html

I've seen a lot more foul language here go unnoticed, but I won't suffer from the building with the broken windows syndrome.

I apologize. I'll definitely remember the guidelines for the future. Thanks for pointing them out for me.

(BTW, I already can't edit the post. Ouch.)

Re: My Increasing Frustration with Clojure

#175

Earlier quoted context omitted.

You're right and make a very good point. But that doesn't change the fact that there are bugs from 2009 which barely have comments or even a reasonable explanation. Me being a pretty average typer (~95 WPM) I could type 2-3 paragraphs detailing why I am against fixing anything, in no more than 6-8 minutes. So for 7 years such bugs to never even get a proper explanation is showing the maintainers as douchebags, not vi…

Hi, I am a Clojure committer and I just closed http://dev.clojure.org/jira/browse/CLJ-1013 . Even though this issue is not a bug, explaining why is not entirely trivial. I have already spent 15 minutes on it, and have not yet found the best place to update the docs so that developers wanting to consume Clojure from Java find the information they need. If you have a chance, could you please take care of updating the d…

Hey, I don't actually know Clojure beyond basics and several intros showing the overall framework of the language, its paradigms and generic philosophy (I don't count that as knowing a language).

I'd love to help but as it is, the original article convinced me that I shouldn't. As a commercial project maintainer myself I am all too well familiar with how many things one can miss if he doesn't write everything down and constantly manage information -- that's why I have a huge private Trello board.

I am not gonna scorn fellow extremely busy devs. But I will point out that as language maintainers your responsibility is bigger than mine. You should do your best.

If I ever decide to become an active Clojure user I definitely won't be only criticizing. I'll do my best to help!

Re: My Increasing Frustration with Clojure

#176

Earlier quoted context omitted.

You're right and make a very good point. But that doesn't change the fact that there are bugs from 2009 which barely have comments or even a reasonable explanation. Me being a pretty average typer (~95 WPM) I could type 2-3 paragraphs detailing why I am against fixing anything, in no more than 6-8 minutes. So for 7 years such bugs to never even get a proper explanation is showing the maintainers as douchebags, not vi…

You'd be maybe be right, if that was the only thing that the maintainers were doing. Speaking as a maintainer of several projects myself, it's all too easy for some issues to slip through the cracks.

I agree. I am a maintainer myself of a closed-source & commercial project. It's indeed extremely easy to miss out on a crucial piece of info.

I am not gonna teach anyone how to organize information. For the time being I am writing absolutely everything that comes to my mind (or is raised by customers and teammates) in a private Trello board. Even if I close everything in it 3 years from now, I would have some peace of mind knowing that I tried my damnest to never miss anything. And that's it's written down somewhere and that I am aware that it's waiting my input or work.

I was somewhat offensive simply because bugs 7 years old marked as "wontfix" without a tangible explanation is absolutely not OK for language maintaners. The jobs of the senior devs are usually very hairy because we're good in fixing messes and repairing things. I stand behind my opinion that you have to go back and fix your past mistakes every once in a while. You can't pretend you're 18-20 years old and only sprint ahead and be blinded by the glamour of the new and shiny features. Stuff periodically needs repairing, it's how it is.

Re: My Increasing Frustration with Clojure

#177

Earlier quoted context omitted.

You're right and make a very good point. But that doesn't change the fact that there are bugs from 2009 which barely have comments or even a reasonable explanation. Me being a pretty average typer (~95 WPM) I could type 2-3 paragraphs detailing why I am against fixing anything, in no more than 6-8 minutes. So for 7 years such bugs to never even get a proper explanation is showing the maintainers as douchebags, not vi…

I heard on the Cognicast about them working on clojure.spec over the weekend. Elsewhere, Alex Miller offhandedly mentioned his sleep deprivation: answering questions and writing accessible documentation. In any prolific, underfunded work, there's always things to pick at. Please edit out the "douchebags" comment. If not for ethical reasons, then for the fact that some of them post on HN, read such words, and probably…

It's sadly too late now. I admit of being perplexed and somewhat angry after reading the original article and then making my own quick research on it. And I was temporarily a part of the problem I'd call "others use worse language so why should I care". That was obviously a mistake.

My apologies. It definitely won't ever happen again.

Re: My Increasing Frustration with Clojure

#178
post #147

Earlier quoted context omitted.

I'm a bit confused by your example. Python has different design goals than Clojure. Clojure competes with rather high performance languages, Java and Scala, on the JVM and it appears from the OP that its implementors have decided that it can't afford to spend too much time at run-time checking. Python on the other hand at least attempts to adhere to a principle of least surprise and enforces strong type requirements…

I'm not questioning that python api isn't clear. Neither is clojure one. Both require the user to read them in order to properly apply them. I think pythons resolutes only seem less surprising because someone would be used to them? Maybe that coercion is easier to reason about. Im honestly not sure. Like this example: In [19]: s = set([1, 2, 3]) In [20]: s.union({"x", "y"}) Out[20]: {1, 2, 3, 'y', 'x'} Is that more c…

Oh, I think I understand your question. This is a set literal, not a map literal:

    {"a", "b", "c"}
This is a map:

    {"name": "Fido", "age": 8}
Note the colons.

The point I was making is that Python doesn't make performance trade offs with these set APIs. Set union is in no way surprising. It either gives the correct intuitive result or raises an exception because of incorrect argument types.

Re: My Increasing Frustration with Clojure

#179

Earlier quoted context omitted.

So you're saying because I've run into these bugs in my own code, I clearly don't know what I'm doing and I should be using a language for someone of my intelligence?

No, I'm saying you should stop and think about what you're doing.

I always found such way of thinking very offensive to your users (programmers in this case).

Have we all forgotten the principle "make the minimum amount of WTFs per minute" already?

Why is everybody so content with their technology and so quick to look down upon people who aren't familiar with the traps in it? Is it really so wrong for your technology to be easy and painless not only at the entry level, but all the way to middle-high level of professionalism?

Re: My Increasing Frustration with Clojure

#180
"Basically I want Clojure to be a simple to use language backed by a friendly and active community. What I see now is drifting in the wrong direction, and I’d like to see that corrected."

Opportunity here to create a company, fix the bugs, improve the broken bits, build an editor and release a better clojure and charge accordingly.

Post reply on HN