3 ms·
Thanks, enjoyed the article! Though on this point: > As you may know, in .NET CoreCLR (and Mono), the JIT has been entirely written in C/C++. That’s sometimes
by GenericsMotors 8y ago
Thanks, enjoyed the article!
Though on this point:
> As you may know, in .NET CoreCLR (and Mono), the JIT has been entirely written in C/C++. That’s sometimes even a joke used by C++ developers to remind the enthusiastic C# developer crowd that their ecosystem is being actually ran by C++.
The CLR has never been only about C#. While C# may be the most popular language to target the VM, it will run anything that has been compiled to valid MSIL (or even emitted at runtime).
- kyberias 8y agoNo-one claimed it's only about C#.
- GenericsMotors 8y agoCorrect, but the rest of the paragraph sort of gives that impression (at least to me) by mentioning how language compilers are usually written in a more primitive language, like the Go compiler being written in C then later rewritten in Go. IMHO that sort of blurred the line between the platform and language in the article...rewriting the Go compiler in Go sort of makes sense, but I don't see why this was a good comparison to the .NET ecosystem. Rewriting the CLR JIT in C# isn't making it "self-hosting" as its not language specific. Does that make sense?
- xoofx 8y agoThat's true that I put an explicit emphasis on C# But let's face it, the whole CoreFX library is in C#, Roslyn Compiler is in C#... the line is already blurred So while the CLR is not language specific (like the JVM is not Java specific), rewriting the runtime with the most prominent language used for the underlying platform sounds an acceptable implicit emphasis ;)
- GenericsMotors 8y agoFair enough :)
- Scarbutt 8y agoI hear is pretty bad performance wise compared to the JVM for dynamic languages.
- pavelbr 8y agoWhat dynamic languages run on the jvm? To my knowledge it doesn't support dynamic types at all.
- mythz 8y agoClojure, Groovy, JRuby, Jython are popular dynamic languages on the JVM, there are others: https://en.wikipedia.org/wiki/List_of_JVM_languages https://en.wikipedia.org/wiki/List_of_JVM_languages > To my knowledge it doesn't support dynamic types at all. Not sure where you've got that from or what that's supposed to mean.
- pjmlp 8y agoYou missed the most relevant one that even comes bundled with the JDK, JavaScript.
- vorg 8y ago> Clojure, Groovy, JRuby, Jython are popular dynamic languages on the JVM, there are others Perhaps he meant no dynamic languages have become popular enough on the JVM that it becomes common knowledge that the JVM can support popular types. None of those 4 languages you mentioned (Clojure, Apache Groovy, JRuby, Jython) are popular, whereas alternative JVM languages built from the ground up as static languages (i.e. Kotlin and Scala) are the ones people are adopting.
- omaranto 8y agoMy impression was that Clojure's popularity was comparable to Kotlin and Scala's. Is that not the case?
- 8y ago