4 ms·
I've spent the two halves of my career thus far working on each stack, and I really can't see where those sorts of claims come from, honestly. C# as a language
by marcusarmstrong 10y ago
I've spent the two halves of my career thus far working on each stack, and I really can't see where those sorts of claims come from, honestly. C# as a language is a win over Java, but from an operational perspective, it's a disaster--IIS is an absolute nightmare. Beyond that, I tend to think that because of the niceties that C# has over Java, that has somewhat held back .NET community adoption of some better practices (specifically immutability).
All that said, .NET Core is a huge win on the operational side of things, so it's definitely moving in the right direction.
- damiencarol 10y agoSee from Java perspective, it's just 20 years too late.
- topbanana 10y ago.Net isn't IIS. It's just one web server that can host it. And I'd take IIS over WebSphere any day!
- pjmlp 10y agoMe too. Websphere is such a pain to use, yet it still is everywhere on enterprise projects.
- blinkingled 10y agoCurious to know why you think WebSphere is a pain - I find it about as good as any complicated piece of software can get - it's reasonably documented, works most of the time and performance is good.
- pjmlp 10y agoI used to know Websphere quite well (all the 5 - 6.x versions) and am happy to have managed to avoid it in the last three years. It is the typical enterprise software suitable to sell consulting experience in what concerns configuration and management. Endless list of configuration options, some of them only available via scripting and best of all IBM J9 specific features. One of the issues we once had around 2006 was that our entity beans stubs would only work properly if compiled via J9.
- blinkingled 10y agoAh older versions. I started extensively working on WebSphere 7.5 onwards - in a course reversal with 8.5 one of our deployment which works fine with Oracle JVM spins the CPU 100% when ws uses J9 and that one ships with broken jconsole and missing jstack that does not want to connect to the spinning process! Joys of enterprise software..
- slap_shot 10y agoI've also spent two halves of my career on each and I recently had to do a project that involved building a data pipeline on Azure. All of the C# pieces (HTTP endpoint, event consumer) were written in C# and deployed at Azure App Service/Cloud Services. I could have easily deployed the code in Docker containers running Linux, but the App/Cloud service deployment is very nice and abstracts the entire web server (Kestrel) away. Anyway, I agree that operationally .NET has struggled, and of course the community was much different than other open source solutions, but it both have gotten much, much better in just the last few years.
- GFischer 10y agoIIS was really bad (has gotten better), but I don't see most Java EE stacks being much better. At my last job we had two teams, one had a .NET stack, and the other had a Java EE stack, it was almost like someone had set up a lab to test which one was better (both were required to deliver very similar style LOB applications, one for one department and the other for another). The .NET team consistently delivered a lot more value faster, and the Java deliverables always had reliability problems which they attributed to the JBoss setup. To be fair, the Java side was hampered by an "old-school" architect who refused to use the right tools for the job (even on the Java side, there are pretty decent frameworks and IDEs).
- knocte 10y agoIIS != .NET
- cptskippy 10y agoCan you elaborate on what makes IIS a nightmare? What version(s) are you referring to? What other HTTP servers are you using as your basis for comparison?
- hallojje 10y agoJava don't have async/await, but .NET already has it for years. Lambda expressions for Java were also released many years after C#. I prefer properties in .NET comparing to getter/setter functions in Java. There are other advantages of C#, just check tread about this on stackoverflow.