Hacker Read top | best | new | newcomments | leaders | about | bookmarklet login

>there isnt really anything beginner friendly for clojure

How about Brave Clojure?

https://www.braveclojure.com/



sort by: page size:

> How does someone who has never built a SPA before, let alone ever build a web application in Clojure/S suppose to get started?

I think that Clojure for the Brave and True[0] is a good place to start for Clojure in general, while Web Development with Clojure: Build Large, Maintainable Web Applications Interactively[1] covers the web app side of things.

[0] https://www.braveclojure.com/

[1] https://pragprog.com/titles/dswdcloj3/web-development-with-c...


> I made a website with Clojure (a Lisp)

Seems like you’d be in good company ‘round here then.

https://en.m.wikipedia.org/wiki/Viaweb


>> I want to write less code now.

Try Clojure: https://clojure.org/guides/learn/syntax

It runs on the JVM, but is far more concise, easy-to-use, and even beautiful.


> First, let me try the language and let me have fun with it, then I will try to become an expert in it.

http://www.try-clojure.org/


> partly because I miss writing Clojure

You tried Racket, but have you tried Racket+Rackjure? https://github.com/greghendershott/rackjure It's a Clojure-like language in Racket, so you can use the http library of Racket from it. I'm not sure how compatible it is with Clojure.


> But wouldn't it make more sense to first rewrite Clojure itself in some small/minimal scheme-y subset of Clojure

How about Scheme?: https://github.com/takeoutweight/clojure-scheme

Note that this project is unmaintained and the last updates are ~10 years old.


> "experienced dev trying clojure for the first time"

You're looking for Seven Languages in Seven Weeks http://www.amazon.com/Seven-Languages-Weeks-Programming-Prog...


> If it was so effective as people seem to claim, I am sure everybody would use clojure

Blasphemy.

http://www.paulgraham.com/avg.html


> Is it really 100 percent compatible with Clojure or is that just aspirational.

Aspirational. The project is really early still, and in the middle of a grand rewrite so basically it doesn't build at the moment, see https://github.com/jeaye/jank/issues/7

Current progress seems to be outlined here: https://jank-lang.org/progress/


>There have been a number of attempts to build Clojure on top of Go (I worked on one)

Do you have a link? The only one I'm aware of is https://github.com/candid82/joker.

Believe it or not, this is relevant to an ongoing sabbatical project of my own. I'm grossly unfamiliar with Java, so it's often hard to read through the Clojure implementation :/


> I am interested in learning clojure. Unfortunately the learning material online is very scanty.

You might give 4Clojure a try[1]. It's a series of programming problems that in the process of challenging you attempt to teach you the syntax and usage. It starts off very basic so even if you know no programming at all it may still be useful.

[1] https://www.4clojure.com/


> I am looking for useful projects that do something useful for users who can't give a damn what language the project is written in.

the note taking app I use is a fairly popular clojurescript project, first thing that came to mind. https://github.com/logseq/logseq

In general Clojure is pretty popular in particular on the backend. Nubank is I think primarily using Clojure, but Walmart, Atlassian and a bunch of other big companies do to.


> actually think it is the quickest and easiest way to get started learning Clojure, to a point.

That's great, I was just checking out Clojure a few hours ago and now have it installed. Any other cool blogs and resources the fine folks on here could recommend.


> There was a HN submission yesterday about another project of his (also in Clojure) and many of the comments were "Why is this made in Clojure?".

https://news.ycombinator.com/item?id=38525968


> the language tries to drive me to the cleanest solution

This is really appealing to me. I've hacked a bit with Ruby (One Month Rails and some other tutorials), but I'm not sophisticated enough to know instinctively how to refactor towards "clean" or "elegant." Most of my code is pretty ugly, and gets uglier the longer I work on it, since when I'm hacking on something without guidance I spend a lot of time just trying not to break things. Is there a good resource for a non-programmer to start learning Clojure? The syntax is a bit scary to me, but I just think back to when I first learned about programming and figure diving in will eventually make it read more sensibly to me.

Also, being connected to a live REPL seems pretty valuable for learning.


> We all know Java is slow to start up…

More specifically, Clojure —

https://stuartsierra.com/2019/12/21/clojure-start-time-in-20...



> When revisiting old projects I have seen countless of Clojure dependencies having died in the meantime. I have replaced utility libraries with more recent utility libraries sometimes several times. Very annoying.

Yes, the "best in class" libraries change every few years in Clojure's universe, but they always bring huge improvements that require completely new APIs.

For instance:

https://github.com/plumatic/schema -> https://github.com/metosin/malli

https://github.com/juxt/bidi -> https://github.com/metosin/reitit

https://github.com/bhauman/lein-figwheel -> https://github.com/thheller/shadow-cljs

https://github.com/stuartsierra/component -> https://github.com/weavejester/integrant

https://github.com/technomancy/leiningen -> https://github.com/practicalli/clojure-deps-edn

> So overall Clojure is in a strange situation. For picking it up on-the-job its not the responsible choice probably for most situations I work in. For my private tinkering the JVM dependency feels just a little too heavyweight. I don't see that Clojure will hit an inflection point of adoption in any way in the future that would make it a viable candidate for me to use at work.

I think about programming languages as tools for different bottlenecks.

– Computational: Rust

– Networking: Go

– Business logic: Clojure / Python

And for many people Python has everything that Clojure is missing: a very low barrier to enter, and a very stable and well-documented ecosystem of frameworks and libraries.


> I'm inclined to think the clojure repl is more conducive to experimenting.

I'm inclined to think the Clojure REPL is more conducive to flailing around. Now, this might sound like derision, but it isn't intended that way: Flailing around can be a very time-efficient way to familiarize oneself with an unknown domain, especially if the cost of making wrong design decisions is small.

But at some point one has to consolidate what one already has, and, in my experience, Clojure makes this very difficult.

> I guess one programmer's sandbox is another programmer's hellish nightmare of mutability.

If you absolutely want mutable definitions, you can have them in Haskell (with some noise) and ML (with no noise) too: http://pastebin.com/00ScnFxC . So a Haskell or ML programmer always has at their disposal whatever they think is the best tool for the job.

Can I have it the other way around in Clojure?

next

Legal | privacy