6 ms·
I've worked on the Microsoft stack for most of my career, and I'm curious what Java has/does that the .NET stack doesn't. Or is that more about the .NET core st
by ufmace 10y ago
I've worked on the Microsoft stack for most of my career, and I'm curious what Java has/does that the .NET stack doesn't. Or is that more about the .NET core stuff for running on Linux-based systems?
- sigzero 10y agoThe JVM runs on just about everything. The .NET stack doesn't.
- flamedoge 10y agoDiversity through age. Only a matter of time before .NET spreads. Anything written in "first-class" language can be compiled and run with mods on turing complete systems.
- woogy 10y agoThe latest .NET version is fully cross platform.
- soundoflight 10y agoAnd runs on more platforms than Java.
- kitd 10y agoCitation needed.
- jinst8gmi 10y agoCare to name some of these platforms which Java doesn't run on which .NET supports? I'm having a hard time coming up with even a very short list.
- rafaelvasco 10y agoWell , not .NET but almost: PS4 (MonoGame/Mono) XBox One (.NET Core on the future and MonoGame/Mono) At least you can run c# code on those platforms. Java though is unlikely to ever happen.
- coldtea 10y agoSo the "platforms" are 2 game consoles?
- soundoflight 10y agoAlso, Xamarin makes .NET runnable on Android with their runtime and compile it down for iOS. .NET Microframework makes it runnable on IoT.
- jinst8gmi 10y agoI don't think Android is a good example of a platform which .NET supports which Java doesn't since Java is the primary development language for Android apps... I'm also pretty sure that embedded Java is widely deployed in IoT applications.
- broodbucket 10y agoIt's far from mature, though, even if it's deemed stable. If I was making decisions for some huge enterprise I'd prefer Java since it's been battletested on Linux for decades.
- spriggan3 10y ago.Net Core =/= .Net
- TheCoelacanth 10y agoThat's .NET Core, which is incompatible with .NET, so it's a completely new ecosystem so it has no where close to the maturity of Java or normal .NET.
- hinkley 10y agoMicrosoft doesn't know the meaning of the word cross platform, and never has. The conditionals on their latest cross platform offering do little to repair that image. They only go far enough to bait and switch you and then after they get you they cut funding for maintenance and the cross platform bits rot away.
- jboles 10y agoThis is a downside of any open-source project and is not specific to Microsoft.
- hitr 10y agoI also work in .NET stack but until now(before .net core), the entire CLR was a blackbox and could only run on Windows.Obviously we had Rotor released but license was restrictive and there was Mono but in my experience mono was far from production ready when it came to asp.net. In terms of the IDEs like VS or IntelliJ or a supported production ready server (kestrel like) there was not much option. I think the place where java still shines is JVM.There are myriads of JVM implementations out there which is suited for all kinds of purposes.And with the same flexibility ,there are functional languages like Scala or Clojure which targets JVM where all existing java libraries can be used for your new shiny language of choice.Of course .NET has F# or DLR (which I feel is another layer added on top of CLR and I couldn't like it). What I see is .net has ports for most of the java frameworks or libraries e.g spring,hibernate,lucene,akka you name it. With .NET core being open and F# and C# being super awesome on it's territories (yes am biased :) ) ,we may have good contender to java in some more time.
- nickpeterson 10y agoA lot of it is that the JVM is used by devs to build large systems more commonly than .NET, and often work from that gets open sourced. So the JVM just has a larger presence in the developer community. Another reason is that historically many developers disliked Microsoft and SUN did a lot to foster goodwill among developers. Oddly, SUN got purchased by one of the few companies everyone hates more than Microsoft. That paired with MS's recent shift to open source and opening the dotNet platform has led to softer view of Microsoft overall.
- bitL 10y agoJava was the original .NET. Read history of Sun vs Microsoft. C# was a result of a merger of Java + Delphi, visual .NET components are based on Borland's VCL design. Many Java developers were extremely allergic to MS and the vibe at that time was "freedom", especially from nasty companies. Java also got its foothold in finance institutions due to easier design of distributed and transactional systems than the prevailing super difficult CORBA which propelled its rise everywhere. If you look at distributed systems, Java is still the king there.
- hinkley 10y agoThere were also several large business sectors that ran almost exclusively Sun hardware. Like the wireless industry 10 years ago. The first project I worked on at scale had to run on Solaris or they wouldn't talk to you. And our log files had to be localized, which while Java is not perfect, few if any string interpolation libraries match it for being able to deal with written languages that have a different sentence structure than English. It was hard work and one of my coworkers had to invent a new linter to detect unlocalized text in our code, but I couldn't imagine fulfilling those requirements in another language.
- lucio 10y agoMS saw the rise of java in the enterprise business as a real threat to their core revenue stream, so they copied the entire idea. .NET runtime is akin to the JVM, the architecture is the same. What MS did for differentiation is to decouple the lang from the VM from the start, the you have C#, VB.NET, F# In the java world there's something similar, but it is no designed from the start for several high-level language flavors. OpenJDK still was a threat, so they're (MS) more inclined now to open source NET Core. Today you can choose Java & NetBeans over .NET and V.Studio and will see only minor differences. I mean in tooling and architecture. Today Java seems closer to Open Source than MS, even if MS is "trying". Java & Netbeans are the same on Windows or Linux, of course NET is not.
- tremon 10y agoSane documentation. It's been ten years since I've used Java, but Sun's Java API documentation was lightyears ahead of what MS was offering. Both in terms of layout/navigation and in actual content.
- krylon 10y agoI am not a big fan of Java and have not touched it in many years, but I agree the documentation was really, really good. Java' documentation as I remember it is still better than Microsoft's.
- djsumdog 10y agoI really prefer Scala as my current JVM language. The language is way ahead of Java, but the documentation is a little mind-stabbing .. as is the syntax .. and implicits.
- nickbauman 10y agoFor far too long Microsoft claimed "runs on all platforms" which to them meant "runs on all versions of Windows". They have recently changed their tune on this somewhat, but it was too little, too late for most of us. I don't think I will ever run windows again in my lifetime.