News for hackers. Stuff that matters.
Re:Datomic Is Now Free by hombre_fatal on Thursday April 27, 2023 @09:56AM (#35728170)
Aside, I remember HN in 2009 or so where Clojure was a daily homepage staple and Rich Hickey was putting out his talks about Clojure and code design.

I watched a lot of that and used Clojure fulltime for five years. Wonder what he's up to these days.

Re:Datomic Is Now Free by vaylian on Thursday April 27, 2023 @10:01AM (#35728230)
Probably spending a lot of time in hammocks[1]

[1] https://www.youtube.com/watch?v=f84n5oFoZBc

Re:Datomic Is Now Free by xmlblog on Thursday April 27, 2023 @09:59AM (#35728206)
Re:Datomic Is Now Free by kgwxd on Thursday April 27, 2023 @10:26AM (#35728623)
Oh, that's today and tomorrow. I had been waiting for that, I could have sworn earlier this year they said there was going to be a live stream available. Maybe it didn't pan out.

Edit: Oh, there are streaming tickets for $20.

Re:Datomic Is Now Free by lib-dev on Thursday April 27, 2023 @10:11AM (#35728347)
Those talks inspired far more than Clojure itself. It sort of started this movement toward simplicity as a value.
Re:Datomic Is Now Free by frou_dh on Thursday April 27, 2023 @10:23AM (#35728564)
If that's the case then all the people running around praising the ""simplicity"" of golang got the wrong end of the stick completely from Rich's classic presentations.
Re:Datomic Is Now Free by moomin on Thursday April 27, 2023 @11:23AM (#35729507)
The thing is, Hickey was entirely right to reject this idea of “Simplicity” being the same thing as “Easy”. But he then decided to conflate in “comprehensible” which it turns out is very much a matter of aesthetics.

Turns out if you really focus on composability above other concerns you get Haskell.

Re:Datomic Is Now Free by frou_dh on Thursday April 27, 2023 @11:36AM (#35729692)
> But he then decided to conflate in “comprehensible” which it turns out is very much a matter of aesthetics.

Did he? I seem to remember a quip in one of the presentations about German not being comprehensible to him being his own problem, because he never learned German.

Re:Datomic Is Now Free by sooheon on Thursday April 27, 2023 @12:04PM (#35730157)
In Hickey's world comprehensible is a subset of easy.
Re:Datomic Is Now Free by tikhonj on Thursday April 27, 2023 @12:50PM (#35730943)
"Easy" vs "comprehensible" is exactly the trade-off Haskell makes: it might be difficult to learn, but it's easy to reason about once you learn it. (Of course, both sides of that equation come with their own caveats...)
Re:Datomic Is Now Free by KingMob on Friday April 28, 2023 @02:54AM (#35738303)
The problem is his disdain for "easy". It's one thing to create composable building blocks, but frequently, 99% of users will use them in the exact same way, so you might as well produce the easy thing on top of the simple thing, too.

The Clojure tools.build process has this exact problem. It's too low-level, so everyone got to write their own build scripts on top of that to do the same thing as everyone else. Now there's a situation of a 1000s of bespoke build scripts and 3-4 different front-ends, all effectively doing the same thing.

"In my line of work, sister, sometimes a second chance is a chance to mistake the same mistake twice" - State and Main

Re:Datomic Is Now Free by puredanger on Thursday April 27, 2023 @11:08AM (#35729297)
Working on Clojure and Datomic!
Re:Datomic Is Now Free by stonemetal12 on Thursday April 27, 2023 @11:22AM (#35729502)
>used Clojure fulltime for five years.

How did that work out for you? Usually following a hype cycle, there is a negative hype cycle i.e. Mongo is webscale, then Mongo is a buggy mess.

Clojure seemed to just fade away. Did it turn out well or are there interesting pitfalls that make it not as great as advertised?

Re:Datomic Is Now Free by hombre_fatal on Thursday April 27, 2023 @12:51PM (#35730954)
Clojure is just really niche. Even an ecosystem that stays the same size overtime is dwarfed by the continually growing, continually polished competitor ecosystems that will pull people from the small niches.

The best things about Clojure are things you don't really appreciate until you've already done the work to learn them.

For example, I never would have known how amazing it was to evaluate code inside the editor until I did the work of learning Emacs + evil-mode + nrepl/cider + whatever so that I could spin up my http server in-process and then modify code without restarting everything. Even today I'm doing `nodemon index.ts` like a goofball.

I stopped using Clojure simply when I met someone who wanted to build some big projects with me and, despite appreciating that Clojure was probably amazing, they simply couldn't be bothered to learn it. Fair enough. It was when Javascript was just getting `yield` coroutines (before async/await) which finally made Javascript bearable for me enough to switch to it for server work.

Clojure just has increasingly compelling languages and ecosystems to compete with, yet it has a huge ramp up, being a lisp, that make it hard for people to choose it.

Just consider how, to even write Clojure comfortably, you really need something like Paredit. Else, what exactly are you going to do if you want to nest or unnest a (form) deeper in a call structure? Manually rebalance parens? Cut and paste it? Only Paredit lets you move a (form) around the ast. And it's amazing but yet another tool you have to learn just to truly evaluate Clojure.

Re:Datomic Is Now Free by blatant303 on Thursday April 27, 2023 @03:48PM (#35733597)
You don't need paredit. I use Sublime and ctrl+shift+space. Been writing Clojure for 10 years or so.
Re:Datomic Is Now Free by elangoc on Thursday April 27, 2023 @10:12PM (#35736800)
People who use Parinfer rather than Paredit when learning Clojure really like it. The concept is available in the Clojure mode in all the usual suspects of IDEs (IntelliJ Cursive, emacs Cider, etc.)

https://shaunlebron.github.io/parinfer/

The size of the community is not as important as the value of what is available. It's just not widely known, or maybe there's still much potential yet unrealized.

This is an oldie but a goodie on how interactive an experience you can have when using Clojure on the front end and backend of a web app:

https://figwheel.org/

This project is the most recent and most promising iteration of someone making a very visual interactive tool for introspecting on data structures in the REPL environment

https://github.com/djblue/portal

Re:Datomic Is Now Free by gsinclair on Friday April 28, 2023 @06:02AM (#35739386)
Parinfer is also amazing but easier to get started with.
Re:Datomic Is Now Free by askonomm on Thursday April 27, 2023 @05:43PM (#35735007)
As far as the metrics state, Clojure never faded away. It's on an upward trajectory still, albeit slowly. Perhaps it faded away in terms of "HN hype of the day".

That said, I've been (and currently am) a Clojure engineer for the past 5 years and loving it. Quite a lot of jobs out there, more and more each time I look, healthy ecosystem and friendly community. It doesn't hurt that it's the most paid programming language as well.

Re:Datomic Is Now Free by robertfw on Thursday April 27, 2023 @10:04PM (#35736751)
The jobs seem to be pretty available in Europe, but I've been struggling to find Clojure work over here on the west coast of North America. I've had to bite the bullet and am looking for work in other languages now, though I'd really rather stay in the ecosystem.
Re:Datomic Is Now Free by askonomm on Friday April 28, 2023 @10:08AM (#35741428)
Are you active on the Clojurians Slack channel? On #jobs and #remote-jobs channels every now and then a US job pops up there. You can also post on those channels that you are open for work, might help. I'd also check out some EU job offers (unless the salary is way lower compared to your location) because there are companies that do async and wouldn't care for timezones as much.
Re:Datomic Is Now Free by mschaef on Thursday April 27, 2023 @05:50PM (#35735057)
I've used Clojure personally for >10 years and done a bit with it commercially along the way. (I also have a personal affection for Lisp-like languages that goes back to at least the mid-90's.)

> How did that work out for you?

For the personal projects, it's been incredibly useful. The language fits the way I think, and being built on the JVM, it has both a performant runtime and lots of access to a wide ecosystem of libraries.

The Clojure-specific ecosystem library has been accused of being stagnant. I tend to take a more charitable view. The libraries I've used have tended to be smaller in scope and more well defined in terms of feature set. This makes it easier for them to converge on a feature-complete state, and many of them have done just that. If you don't mind assembling multiple smaller libraries into the useful whole you need, this can provide a stable platform on which to build and develop expertise and higher level libraries.

For larger scale commercial work, it's a harder sell. As you've pointed out, Clojure is not hugely popular, so it's fundamentally a minority language. This can make VC's touchy about funding. This is true to the extent I'm aware of at least one organization that started moving away from Clojure for that reason.

There's also the shape of the learning curve. It can be hard to get started with Clojure because of the issues around the syntax and associated tooling. The more piecemeal aspect of the library ecosystem can then make it harder to get to hit the early successes a larger framework-oriented approach can give you out of the box. You can get there, but it at least takes more initial effort. The same is true for all the abstractive power of Clojure (and other Lisps). Abstractions are nice, but they take time to develop and the payoff is on a considerable lag. The useful rule about waiting to abstract until after you see 2 or 3 instances of a pattern means you need to at least have spent enough time to see those 2 or 3 instances (and maybe a few more) before you really start to see the payoff in your own code.

The net of all this is that it's a language that may make it more difficult to get funding, will be initially somewhat confusing to most developers, and the payoff may well be deferred to the point you don't see it before you give up (either out of frustration or due to external factors). All in all, a considerable set of headwinds.

So what does that mean? It's probably better for projects on a longer time horizon that have a team willing and able to put in extended effort to effectively use the language. (And if the team is not self-funded, good to have a funder with some ability to accept the risk of a non-conventional solution). Not saying these projects don't exist, just that they're not common enough to build a 'popular/mass-market' ecosystem on.

Re:Datomic Is Now Free by ilrwbwrkhv on Thursday April 27, 2023 @11:27AM (#35729573)
The whole clojure ecosystem and the wonderful tools around it never really took off due to unclear documentation, poor onboarding and too few evangelists. Datomic and other products are really cool but are now being given away as scrapware due to this lack of effort to make the whole ecosystem more palatable, colorful and easy to get into for new audiences.
Re:Datomic Is Now Free by cellularmitosis on Thursday April 27, 2023 @05:55PM (#35735092)
Even as a Clojure hobbyist I feel like all of these points are off? Between 4clojure, clojuredocs and the slack channel and the surprising number of books available, the onboarding and docs are great. And when I think of my favorite lang evangelists, hickey and nolen are absolutely #1 and #2, and have influenced me heavily, despite my day job not involving Clojure at all.