5 ms·
Closure was written in 2008. This rationale document is interesting because it promotes VMs as the way of the future. It is interesting to note that since 2008
by djha-skin 4y ago
Closure was written in 2008. This rationale document is interesting because it promotes VMs as the way of the future. It is interesting to note that since 2008 the industry has gravitated much more back toward compiled systems.
- beders 4y agoNowadays, we have both. Use GraalVM if you care about smaller memory footprint and faster startup time. For the immediate, REPL-based development flow, a VM is a great host platform.
- lispm 4y agoits a host platform, but a great one? Given that the platform lacks a lot of native features long used by Lisp systems. For example one can work interactively, dump a memory image, copy and restart it later, just continuing the the work. The JVM does not support that. The native object system is not tailored towards incremental change, class loaders are a pain, ...
- nesarkvechnep 4y agoHas it though? Erlang is still strong and Elixir is on the rise for some time.
- frou_dh 4y agoThe typical industry dev has never heard of them, never mind used them.
- draven 4y agoBut then the typical industry dev works with Java or C# (both VM-based) or maybe Python or PHP (interpreters.)
- nesarkvechnep 4y agoThe typical industry dev usually asks “What’s wrong with Java”
- owyn 4y agoBig fan of Clojure for sure. But looking at all the cool projects built on WASM, I'm not sure about the bare metal vs VM direction. There are compilers, interpreters, embedded support, interesting sandboxes (RLbox), webGPU. There are use cases from browsers to embedded, and it's a portable assembly language so you can still write with most higher level languages if you like the syntax and take advantage of all these environments to run in. The "browser as OS" idea has been around for a couple of decades now and it keeps moving closer to the bare metal.
- bayesian_horse 4y agoThere is already clojurescript, not much use for clojure to WASM in the browser. I guess there are or will be JVMs for WASM at the very least. And Clojurescript running on Nodejs or Deno won't be that much of a difference.
- grumpyprole 4y agoVMs still probably a better fit for dynamic languages. But modern Java doesn't really need a VM.
- nlitened 4y agoWhat gives you the impression of the industry gravitating more towards compiled systems? I see JS/TS going stronger than ever, Java and .NET still very strong and growing, Python again stronger than ever, WASM on the rise. What's on the "compiled" side, apart from probably Rust making headlines on HN? What are the major products or services written in Rust? What are the unicorns with Rust secret sauce? C/C++ is still strong, but is it expanding? Is Go even in the "compiled" camp?
- bayesian_horse 4y agoThe only thing that comes to mind is JITs everywhere and maybe that dotnet is trying to do more stand-alone compiling stuff. Other than that, completely agree.
- lispm 4y agoWhat about GraalVM, which sports native AOT compilation?
- gpderetta 4y agoIn what way is go not in the compiled camp.
- nlitened 4y agoI personally put it in the "compiled" camp, but I've seen understandable arguments that Go has such a thick runtime (GC, IO/fiber scheduling, CSP, reflection), it's almost Java
- djha-skin 4y agoThese are all growing and strong. My point was that new languages that we see coming out are compiled. Nim and Zig are examples. There's even languages that are a direct answer to "compiled Clojure" such as Carp and Janet, and most directly, Jank. When was the last time you saw an interpreted language as a new language come out in the last few years?
- thom 4y agoThe industry has gravitated to giving up and putting everything in containers because most languages’ version and package management was so terrible.
- jwr 4y agoHow do you define the difference? It seems it's difficult to draw a line with modern systems.
- knallfrosch 4y agoWith the cloud, Kubernetes, Docker and all the other stuff, I don't think the OS/language-specific VM dichotomy still makes sense. "Memory and other resource management" Can people really claim they manage memory and resources with a low-level language when their 30-line YML configured cluster reallocates whole machines at a time?
- RandomWorker 4y agoClojure compiles to jar files, that run on JVM. So, it’s both compiling and JIT in the REPL. In a weird way.
- pjmlp 4y agoYou mean the industry that is now hyping WebAssembly as if it was the very first of its kind, and re-inventing Java/.NET application servers?