This page is not created by, affiliated with, or supported by Slack Technologies, Inc.
2023-12-08
Channels
- # adventofcode (15)
- # aleph (2)
- # announcements (1)
- # beginners (5)
- # biff (18)
- # cider (2)
- # clj-commons (13)
- # clj-kondo (7)
- # cljs-dev (7)
- # clojure-europe (23)
- # clojure-ireland (1)
- # clojure-nl (1)
- # clojure-norway (7)
- # clojure-spec (3)
- # clojure-uk (2)
- # cursive (21)
- # emacs (3)
- # honeysql (1)
- # humbleui (7)
- # hyperfiddle (6)
- # introduce-yourself (1)
- # london-clojurians (1)
- # nbb (8)
- # overtone (3)
- # re-frame (15)
- # shadow-cljs (12)
- # squint (12)
- # tools-deps (1)
- # xtdb (1)
@borkdude curiosity question Now that squint and nbb have been given much effort and performing well, can you share a shortcomings list of Node.js as a host, comparing to JVM?
I think you could generalize the question to: what are the differences between JVM and Node.js? You could post this in the #C03RZGPG3 channel and I'm sure many people will have opinions on this. Most will be in favor of JVM Clojure since that's just what most people use in Clojure-land
JVM is better suited for long running server processes since it has generally better performance, but with short running cloud functions, it doesn't matter that much for that specific use case and Node.js could be as viable for it, even more since it has better startup and memory usage than a full JVM (although GraalVM native-image and babashka solve that to some degree for JVM Clojure). For scripting, the light-weight-ness of Node.js and the big ecosystem is a nice environment, but async/await and the churn of JS library APIs can be discouraging for people who are used to Clojure's stability. I started nbb because sometimes in the bb ecosystem there aren't good libraries for some scripting tasks, and there's always a JS library. squint and cherry aim to give better performance + js-await and in this way, could try to be better than nbb.
Right, Clojure community can find it difficult to adopt the havoc of JavaScript ecosystem with all the backwards incompatibility etc. Thank you for a comprehensive answer.