4 ms·
Having worked with both for several years, I would rate C# as a much better language than Java. The language by itself is noticeably better, but the difference
by peripitea 11y ago
Having worked with both for several years, I would rate C# as a much better language than Java. The language by itself is noticeably better, but the difference is even more pronounced if you include the ecosystem -- Visual Studio vs. Java IDEs, the class libraries, ASP.NET MVC vs. Struts and its ilk. I would check it out if you have the need to do any Windows-related programming. (Not sure how great the support is outside Windows.)
- meddlepal 11y agoUh, when was the last time you worked with Java? Struts isn't a popular framework anymore and hasn't been for awhile. IntelliJ absolutely trounces VSS and some combination of Spring Boot, DropWizard or Vert.x blows ASP.NET MVC away. Not to mention the whole ecosystem is a hell of a lot more open. There is a library for just about anything under the sun.
- mhd 11y agoEnterprise environments tend to be very conservative when it comes to stuff they let you install or even use. Often you can't just drop JARs in there, never mind use your own JRE. So you're often stuck with technology that sites like these consider quite ancient… It gets even worse on desktops, as sysadmins might be able to isolate a server enough to allow some "new" tech, but vetting a new Java version or library for a few thousand office desktops is a task nobody really wants to do. So I wouldn't be surprised to still see some Java 1.4 Swing apps in use at big insurance or pharma companies. (And if I'd had to pick between that or do a web app that supports their IE8 browsers…)
- Recurecur 11y ago"Enterprise environments" also have to be very conservative about security issues - which often means they're forced to update to currently supported versions of software. Java 8 is the only version currently receiving security updates. The same thing applies to many other software packages, including browsers, Linux and Spring. Sane IA folks don't like to deploy known security holes. It sounds like you're dealing with some backwards-thinking folk. ;-)
- mhd 11y agoWe are talking about enterprise here, so backwards-thinking is part of the package. And if you're big enough, you can get by with outdated standard software, either by hiring special consultants or by costly vendor support. I'm pretty sure you can "convince" Oracle to accept your money. The alternative is auditing all your installed software packages with Java dependencies. Re-hire the agency that did that small Swing client 8 years ago. Hire someone completely new to reverse engineer another client because the original company went belly up. Ad infinitum, ad nauseam. No wonder they'll do software cryonics. This is getting better slightly in recent years, when you no longer have that many desktop clients and utilities, as upgrading servers is way easier than building new default images for all your desktop clients.
- narrator 11y agoYou are really dating yourself with Struts. That's early 2000s Java tech. Intellij, Java 1.8 and Spring Boot are really nice tools that you're missing out on.
- peripitea 11y agoAh that could definitely be. Back when I switched from Java to C# there was a big difference, even just from having access to lambdas, LINQ, sane generics, etc. But it sounds like Java has gotten better on all fronts, which is great. The main thing I wanted to get across is that while C# has its roots in cloning Java, it ended up being far more than just a clone.