7 ms·
I notice you keep replying about Parenscript, but the difference here is important. The reason this is a bigger deal than you make it out to be is because Cloju
by gfodor 15y ago
I notice you keep replying about Parenscript, but the difference here is important. The reason this is a bigger deal than you make it out to be is because Clojure is hosted on the JVM. That means it's generally had a chance to enter the enterprise, and beyond that, has access to the entire JVM library and interop.
What this means now is, for the first time, you can write Clojure code on the server, interop with legacy Java code or well-tested libraries, and then write Clojure code on the client, full stack. This, as far as I know, is a pretty big game changer since it allows you to write a full-stack web application that is part of the Java ecosystem in a single language that happens to not suck either.
Edit: To clarify, I'm sure there are other JVM lisps, and other Javascript lisps. But this is the first one that is both, I'd wager. This is important.
- felideon 15y agoSo the only reason it's a big deal is because it's Clojure? It was only a matter of time this library was written by somebody. Edit: I guess this somebody also happens to be Rich Hickey. Indeed it would be a big deal if John McCarthy had written Parenscript. :D
- Tiomaidh 15y agoTo play devil's advocate, wouldn't the exact same thing be possible with the above alternatives and Armed Bear Common Lisp? You can write full-stack in Common Lisp, it's just that different parts need to go through different compilers/interpreters/transformers/what-have-you. Just as it is with Clojure. No, I think the thing to note here is that Clojure--for reasons I can only guess at--has a lot more sex appeal than CL.
- icey 15y agoI think if Parenscript were just announced today it would get a big reaction as well. Just like there's a big reaction any time a language comes out and says it can compile down to Javascript. There was a big reaction when a guy did it for C# / XNA, for example. Just because people are excited about developments in the Clojure ecosystem doesn't mean they aren't excited you can do this elsewhere. It's interesting right now because it's new, and it opens up some new ways of development for people who enjoy writing software in Clojure.
- felideon 15y ago"Just because people are excited about developments in the Clojure ecosystem..." Good point. My comment was more of a response to the "thought provoking" part rather than being excited about ClojureScript itself.
- gfodor 15y agoI could be wrong, but I think this is different. Are there any other languages that are both hosted on the JVM and also in Javascript VMs? Beyond that, there almost certainly isn't a lisp that is.
- spullara 15y agoJava via GWT runs on the JVM and in JavaScript.
- deleted 15y ago[deleted]
- gfodor 15y agoAh, how could I forget! I guess the "non suck" criteria made me forget about GWT :)
- nl 15y agoTheoretically almost any language that can run on x86 will now run in Javascript thanks to Fabrice Bellard: http://bellard.org/jslinux/ http://bellard.org/jslinux/ I don't think anyone has managed to get a JVM to run on his Linux port yet though. More practically, Javascript itself runs fine on the JVM (via Rhino). There are Ruby-on-JS[1] and Python-on-JS[2] efforts as well (both Ruby & Python run on the JVM) [1] http://ejohn.org/blog/ruby-vm-in-javascript/ http://ejohn.org/blog/ruby-vm-in-javascript/ [2] http://pyjs.org/ http://pyjs.org/
- sedachv 15y agox86 emulation is the wrong solution to this problem because of the difficulty of interop. Compiling to bytecode at least lets you treat JS functions as FFI calls. The first project to do this was Clue in 2008 (http://cluecc.sourceforge.net/ http://cluecc.sourceforge.net/), now all the hype is about emscripten (https://github.com/kripken/emscripten https://github.com/kripken/emscripten) LLVM bytecode to JS compiler. Doing compilation GWT/Clojurescript style is going to reduce integration overhead. So far I haven't seen anything that integrates as well as Parenscript.
- fogus 15y agopossible with the above alternatives and Armed Bear Common Lisp? Yes it is. I wish being possible was all that it took for it to be done. In the absence of ClojureScript I would love to write my web client code in Common Lisp. I love Common Lisp.