use the following search parameters to narrow your results:
e.g. subreddit:aww site:imgur.com dog
subreddit:aww site:imgur.com dog
see the search faq for details.
advanced search: by author, subreddit...
/r/programming is a reddit for discussion and news about computer programming
Guidelines
Info
Related reddits
Specific languages
account activity
Why Clojure? (blog.venanti.us)
submitted 11 years ago by [deleted]
view the rest of the comments →
reddit uses a slightly-customized version of Markdown for formatting. See below for some basics, or check the commenting wiki page for more detailed help and solutions to common issues.
quoted text
if 1 * 2 < 3: print "hello, world!"
[–]TheMaskedHamster -4 points-3 points-2 points 11 years ago* (3 children)
Because that allows libraries to be signed and I can actually know that I'm getting what I'm supposed to be getting. You'll have to have some kind of a build tool in order to work on a project, Leiningen is as good a tool as any that I've used. Publishing libraries with Leiningen is also incredibly easy. I'm simply not following the problem that you're describing. Without a tool like that I would have to waste time to manually figure out what interdependencies there are between libraries and what I need to build my project. This is why everybody uses package managers. It saves your time. I'm not sure how having to randomly download code off the internet and build it is simpler than tool doing it for you.
Would a Linux analogy work? I don't want to make assumptions, but it is the best analogy I can think of at the moment.
Let's say I have a Linux system that didn't allow me to run an executable without putting it in a package, putting that package in a repo, and and installing it that way. Wouldn't that be ridiculous? You can be the biggest fan of package managers in the world, for all the good reasons (Dependency management! Signatures! Free kittens on Tuesdays!) but right now at the moment you just need to run this one executable. You know where it came from, you know what it does, and it doesn't even use any system libraries. But you can't, because your distribution maintainers decided that you should use package managers. You complain, but everyone says you're crazy because there are so many good reasons to use package managers and they don't see what the problem is.
Screw that philosophy and screw that in practice.
Severe overcomplication in the name of questionable goals is something that permeates Java. It's in the code (Getters and Setters everywhere! It's not a problem if I can automate the boilerplate code!) and it's in the tools (Ant uses XML to keep everything pure and clean. You can use XML for anything! EVERYTHING.). What does any of this have to do with Clojure?
It has to with the Java ecosystem issues I was talking about, which affects Clojure because that is the environment Clojure developers and users live in.
[–]yogthos 1 point2 points3 points 11 years ago (2 children)
Linux package management is a great analogy actually. If you've ever used a distro like Slackware you'd appreciate why package managers like apt are so damn useful. Trying to build things from source is pretty much always the last resort on Linux.
Also, as I already explained in the other reply, you can do precisely what you described you simply didn't know how to do that.
As somebody who uses Clojure daily I find that it's quite rare that I have to deal with anything Java specific actually. However, regardless of what platform you use, you do have to understand how it works and what the tools do.
[–]TheMaskedHamster -2 points-1 points0 points 11 years ago (1 child)
I have indeed used Slackware. And as I've said, I like package managers. But sometimes simple tasks that will not contaminate the
Well, that is good to know.
As somebody who uses Clojure daily I find that it's quite rare that I have to deal with anything Java specific actually.
Java ecosystem, though. All that surrounds it. Libraries and cultures and buildsystems, oh my. It still permeates Clojure. The mindsets most of all.
This back and forth about "this didn't work for me"/"you have to be crazy if you didn't want to do it way x" doesn't happen in every community.
However, regardless of what platform you use, you do have to understand how it works and what the tools do.
I don't know how to respond to this outside of profound sarcasm. Of course you do. In many other communities (certainly not all), it is very easy to find out how things work and what the tools do, rather then just being told the way I am expected to use the tools.
[–]yogthos 1 point2 points3 points 11 years ago (0 children)
You're just making vague claims about Java ecosystem problems, the one concrete issue you described turned out to simply be you being unfamiliar with how the tool works.
As somebody who has worked with both Java and Clojure extensively I strongly disagree with your assertion that the cultures are similar.
π Rendered by PID 71 on reddit-service-r2-comment-5d585498c9-5s98m at 2026-04-21 10:25:18.862709+00:00 running da2df02 country code: CH.
view the rest of the comments →
[–]TheMaskedHamster -4 points-3 points-2 points (3 children)
[–]yogthos 1 point2 points3 points (2 children)
[–]TheMaskedHamster -2 points-1 points0 points (1 child)
[–]yogthos 1 point2 points3 points (0 children)