Readit News logoReadit News
blain_the_train commented on Clojure Turns 15 panel discussion video   youtube.com/watch?v=exSRG... · Posted by u/fogus
sanderjd · 3 years ago
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?
blain_the_train · 3 years ago
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.

blain_the_train commented on Clojure Turns 15 panel discussion video   youtube.com/watch?v=exSRG... · Posted by u/fogus
BaculumMeumEst · 3 years ago
I love Clojure the language but I’ve never seen a more fragmented ecosystem.

There seems to be a pattern in the language of “a problem emerges > a community solution gains traction > Cognitect develops their own solution but its weird and undocumented”, like deps.edn over leiningen, spec over malli, pedestal over ring, etc.

Many prominent clojurists recommend deps.edn over leiningen and socket repl over nrepl, but I’ve seen very little guidance on how either actually work or how to use them.

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

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

As a result working with Clojure feels puzzling and unpleasant, and I feel hesitant to use any community library or project in the language.

blain_the_train · 3 years ago
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?

blain_the_train commented on One common behavior seen in “mature” software engineers   luu.io/posts/mature-engin... · Posted by u/luuio
blain_the_train · 3 years ago
It's the general's purpose to tell solider to fix it for the rest of the army.
blain_the_train commented on Ask HN: Is Clojure Dead?    · Posted by u/thisiswrongggg
blain_the_train · 3 years ago
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.

blain_the_train commented on An Intuition for Lisp Syntax (2020)   stopa.io/post/265... · Posted by u/cercatrova
reikonomusha · 3 years ago
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".
blain_the_train · 3 years ago
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.

blain_the_train commented on CSS Classes Considered Harmful   keithcirkel.co.uk/css-cla... · Posted by u/Keithamus
blain_the_train · 3 years ago
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

blain_the_train commented on An Intuition for Lisp Syntax (2020)   stopa.io/post/265... · Posted by u/cercatrova
cjohansson · 3 years ago
Lisp is inspiring at first glance, but when you need to solve complex problems like references, pointers, macros, byte-compilation and native compilation it just is not expressive enough like C, C++, or Rust. Neither is Javascript. Lisp could not replace all other languages
blain_the_train · 3 years ago
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.

blain_the_train commented on JSON Crack – Visualize JSON data into graphs   jsoncrack.com... · Posted by u/iCutMoon
blain_the_train · 3 years ago
i think similarly, this db will tx arbitrary json and let you query it.

https://github.com/quoll/asami

blain_the_train commented on A Graph-Based Firebase   stopa.io/post/296... · Posted by u/stopachka
j-pb · 3 years ago
The basic intuitions they have are correct, but if feels like there is a serious lack of or disregard for the theoretical background needed to talk about this stuff properly.

> (pull db '[* {:team/task [* {:task/owner [*]}]}] team-id)

That's not Datalog. It's kind of a mix between a conjunctive query and a regular path query.

Datalog isn't even really a query language. It's a class of query languages with a specific expressive power.

Whereas SQL is essentially conjunctive queries with non-stratified Negation, Datalog is recursive conjunctive queries with no or only stratified negation.

Datalog also has nothing to do with triples, they are two completely orthogonal concepts.

I've been slaving away in this very space for years and this post heavily reminds my of my initial hubris. Building something truly foundational that can be universally implemented and perform in all potential target languages from Javascript, to WASM via e.g. Zig and Rust, while at the same time being both conceptually simple, and easy to implement, is really really really difficult with a lot of pain lurking in the details.

blain_the_train · 3 years ago
do you write about your findings and ideas? i would be interested to read more.
blain_the_train commented on Monad Confusion and the Blurry Line Between Data and Computation   micahcantor.com/blog/mona... · Posted by u/susam
blain_the_train · 3 years ago
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.

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

u/blain_the_train

KarmaCake day79June 28, 2015View Original