As a consequence, in Clojure, nil's neutrality extends to other datastructures, for instance (hash)maps. (assoc nil :some :value) => {:some :value}.
As a consequence, in Clojure, nil's neutrality extends to other datastructures, for instance (hash)maps. (assoc nil :some :value) => {:some :value}.
I can see reasons for not wanting to use the JVM in specific cases. For example, it may not have the performance you want for the application you're developing.
I'm just confounded by general statements such as "JVM = no go", "I want to use C# but I'm more of a JVM guy than dotnet" (or vice versa).
Is this some bizarre nu-console war that's going on in the programming community that I have missed?
I spent a day writing Clojure after watching a bunch of talks about it. Very keen on persistent data structures.
Every time I put a foot wrong it printed a Java stack trace for me, which was very large but told me nothing. I then went looking for the optimiser and discovered there wasn't one, it just falls through into the JVM JIT and hopes for the best. And finally it turned out a bunch of Clojure libraries were reskinned Java, and therefore likely to have the stereotypical properties of Java code. So that all seems directly attributable to the runtime.
Clojure the language is totally my sort of thing but that was such a horrendous experience that I haven't picked it up again in... what turns out to be seven years (found my stack overflow question about it).
Unsure what's so wierd about it, everyone (most) knows about slow cold startup times, and inability to control memory layout in JVM. Also, horrible C bindings
Unsure what's so wierd about it, everyone (most) knows about slow cold startup times, and inability to control memory layout in JVM. Also, horrible C bindings
Just was curious if it was one of the commonly encountered things (which you listed) or if there were some other limitations I wasn't aware of.