Earlier quoted context omitted.
The JVM is much more sophisticated than the CLR. Its GCs and JIT are many, many years ahead of the CLR's.
It's not that simple. The CLR has a different feature set to the JVM; or rather, it has a feature superset. If you run Java-like code on the CLR, I would expect it to not be as fast or have as high GC throughput as Hotspot, especially if the Java code has been tuned to Hotspot - there are particular fast paths for certain operations that kick in, where if your code is a little bit too far from the optimized idiom, yo…
Microsoft Launches Its .NET Distribution for Linux and Mac
171–180 of 249 posts
Re: Microsoft Launches Its .NET Distribution for Linux and Mac
#172Earlier quoted context omitted.
Or easier to install .NET on linux that it is on Windows for that matter...
How? Recent version of Windows come with recent versions of .Net out of the box. How would you 'win' here? The core clr is supposed to be bundled as far as I understand, so it'll be just another dependency of your application: You don't even NEED to install .Net (on the system/system-wide) anymore.
You need the wrappers of defined state or sccm just to survive. Winrm can't even touch it. (except through ugly as sin scheduled commands)
Re: Microsoft Launches Its .NET Distribution for Linux and Mac
#173This is interesting but is there any commitment to support it long term? I remember when Silverlight was supposed to be the savior that brought .NET to Mac and Linux, but that didn't last more than 5 years. Would be nice for MS to say they guarantee support for 10, 15, etc. years.
This is the thing with Microsoft is this is never in doubt. It is Google who ends of life's things and stops support. Microsoft still has supports things in Windows 8.1 that were BUGS in MS-DOS in order to allow programs from that era to run. Microsoft will support .NetCore for at least 20 years. Without doubt.
Re: Microsoft Launches Its .NET Distribution for Linux and Mac
#174So, what exactly is .NET? As a non-corporate Mac user, I'd like to know.
Think of it as like the Java runtime environment, but not terrible. You have two main pieces: the Common Language Runtime, which is the virtual machine (like the JVM) that executes the code. Then you have the library it comes with, which is fairly large compared to most languages. edit: Added more context
What's terrible about the JVM/JRE?
Many people complain about the language Java (conservative language, programmer culture of complexity...), or the web browser plugin for the JVM (security vulnerabilities, bad startup performance...), but I've generally heard good things about the JVM itself.
Re: Microsoft Launches Its .NET Distribution for Linux and Mac
#175Earlier quoted context omitted.
The JVM is much more sophisticated than the CLR. Its GCs and JIT are many, many years ahead of the CLR's.
I'll just direct you to the first reply on Stackoverflow here: https://stackoverflow.com/questions/453610/javas-virtual-mac...
- The biggest relevant difference -- which he mentions -- is indeed value types, which are coming to Java,
- The CLR doesn't have coroutines. Yield/await are what's known as "stackless coroutines" and are, AFAIK, implemented at the language level (and besides, stackless coroutines are a far cry from coroutines, as the most powerful concept of coroutines is the stack). The JVM, OTOH, offers such sophisticated bytecode manipulation capabilities that full coroutines can be implemented as a library (e.g. Quasar).
- What he says of bytecode/package design bears absolutely no relevance to the quality -- or power -- of the VM. Those are just simple design tradeoffs with little effect on results.
Also, see my reply to math.
Re: Microsoft Launches Its .NET Distribution for Linux and Mac
#176Earlier quoted context omitted.
The GPL doesn't protect against that either. They still own the code, either way, and can make new development closed whenever they want.
If you have permission of all the copyright holders to release the code under another license. You can't accept patches and then re-license without explicit permission.
Re: Microsoft Launches Its .NET Distribution for Linux and Mac
#177Earlier quoted context omitted.
The JVM is much more sophisticated than the CLR. Its GCs and JIT are many, many years ahead of the CLR's.
The CLR offers a lot of functionality that the JVM doesn't (see Someone123's comment) - which in my opinion makes is it a lot more compelling - so in that way it is more sophisticated than the JVM. A reference to back your statement up would be great... (i couldn't find a good one quickly). Are you aware of the capabilities of the CLR's next generation RyuJIT? What you say is at odds with what I thought, but I'd love…
Yes, some, but those differences are being quickly erased. The most important one is value types, which are being added to Java. See my reply to someone123.
RyuJIT's capabilities are nowhere near HotSpot's (I'd say they're about 7 years behind), and HotSpot's next-gen JIT (Graal) is another huge leap forward. The CLR's GC is also far behind HotSpot's selection, let alone offerings by other JVMs (there are many JVMs to choose from).
Re: Microsoft Launches Its .NET Distribution for Linux and Mac
#178Can I build a cross platform GUI application? Is there a servlet container? How about an IDE?
Re: Microsoft Launches Its .NET Distribution for Linux and Mac
#179F# is a real breath of fresh air in comparison to something like Scala. It's direct ML heritage really shows, also just diving in with an IDE (like Xamarin, or I suppose Visual Studio) is super easy. I see it as the future of pop-functional programming. For example look at the way it handles type inference w/ JSON parsing. Compare that to what you have to do to parse JSON in Scala. It's subtle, but a major usability…
Re: Microsoft Launches Its .NET Distribution for Linux and Mac
#180F# is a real breath of fresh air in comparison to something like Scala. It's direct ML heritage really shows, also just diving in with an IDE (like Xamarin, or I suppose Visual Studio) is super easy. I see it as the future of pop-functional programming. For example look at the way it handles type inference w/ JSON parsing. Compare that to what you have to do to parse JSON in Scala. It's subtle, but a major usability…
Scala is getting really interesting lately though with projects like Spark and SparkSQL. Spark takes a Scala AST tree and computes a plan on it in order to distribute it to a cluster of possibly thousands of nodes and then uses transformations on that plan, similar to how an SQL query optimizer works, to make the plan more efficient. The cluster compute benchmarks on it are crazy good. The only problem I have with Sc…