https://taoofmac.com/space/blog/2019/06/20/2310
That said, I would probably go with Clojure for other solutions, since the JVM gives it a lot of reach and flexibility for real-world applications.
61–70 of 138 posts
https://taoofmac.com/space/blog/2019/06/20/2310
That said, I would probably go with Clojure for other solutions, since the JVM gives it a lot of reach and flexibility for real-world applications.
I looked at Clojure back in 2010, and from from 2012 I've managed to work with it full time. Love it! The only Java-esque thing you need to decipher are the potential stack traces. But that's becoming easier with each new release, and it's actually quite easy to find the Clojure-namespace (= file) and line number you need to focus on, just by scrolling through the usually not too long stack trace.
Given your background, consider trying out hylang, which transpiles to Python and can use Python libraries. I played around with it a few times a couple years ago, but never developed a serious project due to limited tooling. The situation might have since improved. I've considered putting together an LSP server for it because it'd fun to use for personal projects and scripting.
Yes, another vote for Hy. Just wish they had some more manpower to take it to 1.0. Be aware of "let" in Hy, though, as it's been removed from the core and now lives in contrib. "let" is a major part of any Lisp IMHO.
I wrote my entire blog engine on it - https://github.com/rcarmo/sushy/tree/master/sushy - and then ported it back to Python 3
> building production grade software IMO Clojure is the only viable choice today (that fits your requirements) - Common Lisp (sadly) on the trajectory of becoming "Latin of Lisps". If you seriously into Lisps, at some point you'd probably would have to learn it, but practicality of that knowledge is slowly diminishing. - Racket is still quite "academic", not much of it is used in the enterprise (in comparison). - Erl…
Do you mind expanding on this? I’m moving away from Elm and I’ve been considering Clojurescript, ReasonML, and Purescript.
Look into SBCL (Common Lisp), Racket (Scheme), or Guile (Scheme). All three of these have enough library support to be used for real-world software development and are designed to exist within a modern (usually Unix-based) ecosystem. But don't try to introduce Lisp into your company, unless you are a cofounder of that company. It's a career limiting move. Instead, work on something you're fond of in Lisp during your…
Clojure doesn't mean digging into the Java world Use Graalvm if you want native quick starting binaries or start learning Clojure via ClojureScript
Clojure means running the JVM, and if you are serious about performance and monitoring in production then it definitely means getting into the JVM world. And let's be honest, most of the performance and monitoring tools are written in Java. Writing the code is really the first stage of commitment to a language or platform. You are going to spend way more time running code than you spend writing it. The choice of plat…
Earlier quoted context omitted.
Actually, lein and boot both use maven pom.xml and pom.properties as their declared dependencies format. When you publish or pull a dependency, it resolves it using pom.xml from the Maven repo, and when you push, they generate the pom.xml for publishing to the Maven repo. So this means that Gradle, Boot, Lein, Maven, and tools.deps all can consume packages from each other seamlessly, and they all publish to the same…
Can you go backwards and generate a project/boot.clj from a pom file? And can lein read from your boot file? Because npm and yarn tag the same input, produce nearly the same output, and can run tasks defined in the same location (the project.json). Does clj tooling do that as well?
Earlier quoted context omitted.
Actually, lein and boot both use maven pom.xml and pom.properties as their declared dependencies format. When you publish or pull a dependency, it resolves it using pom.xml from the Maven repo, and when you push, they generate the pom.xml for publishing to the Maven repo. So this means that Gradle, Boot, Lein, Maven, and tools.deps all can consume packages from each other seamlessly, and they all publish to the same…
Can you go backwards and generate a project/boot.clj from a pom file? And can lein read from your boot file? Because npm and yarn tag the same input, produce nearly the same output, and can run tasks defined in the same location (the project.json). Does clj tooling do that as well?
https://clojureverse.org/t/has-anyone-written-a-tool-to-spit...
My personal choice would be Clojure. I learned Racket and Common Lisp but haven't used them build something production-grade yet. I don't even know how to properly build, deploy and monitor a Racket server yet. Racket is good but the toolchain and libraries are far behind Clojure. Especially Cider and Cursive are so great, and for libraries, there are a lot of solid ones like Ring/Compojure, interesting things like D…
Try Clojure. My advise and what wow'ed me the most: install Leinengen the package manager for Clojure and try a hello world web app tutorial that follows Leinengen. Lein will download and install Clojure for you and pull in all the dependencies. Idk any package manager that bootstraps itself like this. All you need is the Lein JAR and obv a JRE installed and you are good to do anything. Also having done both Clojure…
If not, every package manager works like you describe, you need it plus something like the JVM and it just works (Maven, Gradle, npm, pip...).
I love Clojure, but I loathe Java, and I feel you do get exposed to a fair amount of Java stuff when trying to work in Clojure. It's far better than it used to be, but it's still too much for my liking. Since I build stuff for the web (and Electron, a bit), I use ClojureScript, and am generally really happy with it. It's all the goodness of Clojure — the lispiness, the killer persistent data structures, the wonderful…
> you do get exposed to a fair amount of Java stuff Can you please expand on this? I've been using Clojure as my main PL for the past 3 years, and honestly only once I had to actually deal with some Java code (when I needed to figure out some Selenium stuff).
More generally, I _like_ that I have the option of any JVM library. It’s an enormously broad and deep platform and Clojure is a very pragmatic way of exploiting all of that work.