Hacker News new | past | comments | ask | show | jobs | submit | blain_the_train's comments login

So clojure has three main build tools: Lein, deps, and boot.

Meanwhile in the java world you have: Gradle, Maven, Ant, etc...

> And Clojure CLI tools also seem like a total shitshow compared to go or rust’s tooling.

Wat

> Spec seems kind of weird and not well thought out either.

WAT?


Maybe your comment makes sense to you with all the context and experiences inside your head, but I have no clue what points it is trying to make. Can you maybe use more words to say what you're trying to say here?


Java has more build tools then Clojure, so thus is more “more fragmented” apparently. I replied “wat” as a slang version of “what” and a short version of “what do you mean” because that’s the only reasonable reply to “spec seems kind of weird and not well thought out either”. I’m asking OP to qualify there statement with something that could even start to be a conversation about various tradeoffs.

But really, i wish i hadn’t hit enter and i wish i could delete my comment because OP’s comment isn’t a good entry point to discussion anything.


Ok that's fair. But from my perspective as an outsider, the parent comment gave me a lot more info than yours did.

I don't see why you're focused on the comparison to Java's also-crappy-and-fragmented ecosystem.

When your parent comment said "it isn't as good as rust, etc.", that gave me a comparison point, because I'm familiar with how those other ones work. When you said "wat" to that, that told me nothing. Are you also familiar with those other ecosystems and find the Clojure one better? Or similar or equivalent? I have no clue whatsoever what you think.

You're right, the parent's comment on spec (which I have no idea what that is) and your rebuttal are equally bereft of content.


> Java has more build tools then Clojure

First of all, than*, not then.

Second... no, it doesn't. Gradle and Maven are the standards, and they both use the very well documented, incredibly successful, Maven Central repository. They are just two different implementations using the same, reliable, battle proven approach to dependencies. You need a library? Add it to your build file, with its version, and you're done.

And yes, whether you spell it "wat" or "what", both these words are a dumb way of participating into a discussion that do nothing but expose your ignorance of the topic you are trying to debate. Voice your concern, question, challenge, in plain English, or you'll just come out as childish, combative, and not educated enough to take part in the discussion.


Well with that logic it's the same for clojure, Lein and deps.edn they both use the very well documented, incredibly successful, Maven Central repository. They are just two different implementations using the same, reliable, battle proven approach to dependencies. You need a library? Add it to your build file, with its version, and you're done.


It's the general's purpose to tell solider to fix it for the rest of the army.


Even in the most naive models your "market value" is based off Demand (how many jobs) AND supply (how many people can do the job), you need to be concerned about the ratio, not one side or the other.

If Pytyon has 100 jobs and 100 people then the ratio is 1 If Clojure has 10 jobs and 5 people then the ration is 2 and Clojure has a healthier market for you then python.


CSS suffers from the lack of composability and organizational features found in modern high level programming languages. If your excited about modern css features like "is" or "has", then you agree it needs more functions to keep up with customer demand.

I wrote a bit about this problem from the perspective of a clojure and clojurescript developer on my blog. https://drewverlee.github.io/posts-output/2021-8-26-css-opti...

The reason, clojure and clojurescript is relevant is those programming languages can easily compile to css, allowing users to easily add pl features that don't exist in css and not force devs to learn the same concepts twice. It can do this becuase as a lisp, turning clojure native hashmaps into classes (or attributes if you prefer) is like pouring water into a container. We numerous libs to do this in the clojure ecosystem, here is a reddit discussion around the newest one: https://www.reddit.com/r/Clojure/comments/w56tg8/shadowcss_c...

Though i would personally opt for the slower page perf and faster dev performance of just using cljs compiled to inline-styles solution, as i suggest in my blog.

Of course there might be performance benefits to coding at the lower css level directly, but on average that's not a good tradeoff for most teams i have worked on. s


correct. the way i see it, lisp operates at the abstraction level of lists. which most people call "user applications".

if you need to build things that build the building blocks of lists it's not a good fit.


This is just about as accurate as saying "the building blocks of C++ are characters, so if you're not dealing with characters, C++ is not a good fit".


I'm saying that it's hard to build a basic lego block with another lego block. You have to use plastic, heat and a mold.

That's why we have a wide range of programming languages at different levels, and why it's common for people to say "high level" or "low level" languages.

It's unclear to me what your suggesting, or what question your asking really.


i think similarly, this db will tx arbitrary json and let you query it.

https://github.com/quoll/asami


do you write about your findings and ideas? i would be interested to read more.


I regularly regret not writing a blog...

But if you want to talk about some ideas feel free to drop by at discord.gg/tribles


it's not clear to me, and from the studies i have seen, that Haskell leads to less unintended exceptions than Clojure.

haskell might certainly lead to less nil pointer expections, but that doesn't even mean the faulty logic is easier to resolve right?

what I'm saying is, no one pays to avoid nil pointer expections. if they did, i would simply right no code and call it a day.

the question is, does a language let you express your intent accurately. imo, this is what clojure gets right, because it helps me talk to the machine in the machines terms: datastructures.

clojure makes using well understood types easy by putting them into the snytax. it wires it into your brain.

my worry is, and hear this on every level, haskell is too open ended, people will choose to reinvent lists and sets and hashmaps making it harder and harder to understand how anything can compose together.


What do you mean by 'open ended', are you talking about literals for data structures or something deeper?


I'm asking a question about human psychology really. Maybe in a too cheeky way, because I feel some language enthusiasts, unintentionally, do the same by implying there programs are "safer" by being more constrained, without really justifying the claim.

I'm asking how haskell encourages people to use composable well understood abstractions and data structures?

Clojure does this by putting them into the syntax itself as primates E.g ([] () #{} {}) see? the list () contains a list of things, one of which itself is a list. This cuts away the translation barrier, i don't have to label the ocean as wet if your in it.

In this way all clojure developers are lead to think and talk to the machine the same way, this unifies how all Clojure programmers often choose to express intent.

It's at the heart of what Rich wanted for the language, making simple easy. Or as i see it know, making simple useful structures so easy to reach for, your discouraged, before you know better, to do something else. That's why i view clojure as more constrained then haskell, because I'm not sure haskell has that level of built in encouragement in it's design. I think the authors were interested in what could be, as where rich has taken a much narrow stance on how to deliver high level programs.


edit primates should be primitives. that's what i get for trying swiping on my phone and not triple checking. ;)


yes, which is why i just but Sennheiser, because it's clear they really care about the music.


HiFiMAN is where it's at.


clojure can turn a data api into a first class clojure library with relatively less effort.

e.g https://github.com/cognitect-labs/aws-api


Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: