17 ms·
There's no real reason to use java for new development in 2021.
by shartacct 5y ago
There's no real reason to use java for new development in 2021.
- ptx 5y agoHere is one real reason to prefer it over .NET Core: https://github.com/dotnet/sdk/issues/6145 https://github.com/dotnet/sdk/issues/6145
- tester756 5y agowhy actually? what does it send?
- ptx 5y agoIn the past it has sent command line arguments and the path of the current working directory, among other things, according to comments on that issue. Even if Microsoft doesn't intend to deliberately collect sensitive data, they don't seem to think it's worth putting much effort into preventing accidental data leaks from broken anonymization, unreliable opt-out mechanism, etc.
- shmel 5y agoErr... Not defending Java, but does .NET support Linux at all?
- shartacct 5y agoYes. It's ported to every mainstream CPU architecture and OS.
- seedie 5y agoYes, https://github.com/dotnet/core/blob/main/release-notes/6.0/supported-os.md https://github.com/dotnet/core/blob/main/release-notes/6.0/s...
- rsj_hn 5y agoYes, via mono: https://www.mono-project.com https://www.mono-project.com
- shade 5y agoYes - .NET 5 and 6 both have runtimes and SDKs available for Mac and Linux. At least in my opinion, Linux is the preferred deployment platform for it now unless you have a specific (usually older) library that only works on Windows.
- erik_seaberg 5y ago.NET 5 finally delivered Linux support but only eleven months ago, so I would test it some before betting the farm.
- irperez 5y ago.NET has been on Linux for years now. And my company is using it in production on Kubernetes (Linux/Debian). Its crazy how dependable and fast it is. Startup times are amazing and its only getting better each year. We're looking to upgrade to .NET 6 in production by January. Have you even seen the benchmarks compared to Java and other languages? https://www.techempower.com/benchmarks/#section=data-r20&hw=ph&test=plaintext https://www.techempower.com/benchmarks/#section=data-r20&hw=... If you're not paying attention to .NET its time to get your head out of the sand, seriously.
- dustinmoris 5y agoI can also confirm that I’ve been using .NET on non Windows OSes for years and it works really well. However the Benchmarks are rigged. The code they wrote for that one benchmark for in the top is a complete cheat. Check out the source and compare it with the other ones from the top 10. .NET is fast but Java is truthfully still faster.
- SideburnsOfDoom 5y ago> .NET 5 finally delivered Linux support but only eleven months ago The previous versions in this stream (.NET Core 2.1, .NET Core 3.0 and 3.1) also run fine on Linux. For web server / API server workloads, it's been stable for a lot longer than 11 months, and people do indeed "bet the farm" or "run the business" on it, quite happily. Technically, this starts with .NET core 2.1 on 2018-05-30. The prior version, 2.0, released on 2017-08-14, wasn't _quite_ there yet although some people were happy with it for production use.
- dmsch 5y agoYes, since 5 years (.NET Core 1.0)
- matsemann 5y agoThen use Kotlin, and take advantage of the jvm and the ecosystem, and avoid basically all the stuff you listed about the java language. "no real reason" is a stupid take. I could list multiple, but a big one is that there are hundred java developers for each dotnet developer in my city. The java env is well tested and well understood, if anything one should argue why not use it instead of a hip and trendy alternative.
- Zababa 5y agoTheir point about using .NET were not really valid since one of the big and best reason to use Java is that you already have a Java codebase, but things like value types and generics without type erasure aren't solved in Kotlin, so Kotlin isn't really a good answer to his not really valid point.
- ptx 5y ago> things like value types and generics without type erasure aren't solved in Kotlin Perhaps not solved, but at least partially addressed with value classes[1] and reified type parameters[2]. [1] https://kotlinlang.org/docs/inline-classes.html https://kotlinlang.org/docs/inline-classes.html [2] https://kotlinlang.org/docs/inline-functions.html#reified-type-parameters https://kotlinlang.org/docs/inline-functions.html#reified-ty...
- shartacct 5y ago> take advantage of the jvm In what way? It's slower and has less features than the .NET runtime. > "no real reason" is a stupid take. I could list multiple, but a big one is that there are hundred java developers for each dotnet developer in my city. The java env is well tested and well understood, if anything one should argue why not use it instead of a hip and trendy alternative. So, your only credible excuse for using java is inertia from boomers and middle managers refusing to adapt from the standard of the early and mid 2000s?
- Zababa 5y ago> So, your only credible excuse for using java is inertia from boomers and middle managers refusing to adapt from the standard of the early and mid 2000s? If you come in and freely migrate all of the Java codebases to .NET while maintaining code quality and functionalities, I'm sure many people would let you do it. If you don't understand why people stick to one language, that means that you've never worked on a big codebase, or completly ignore the business side of the developer job. In both cases, that's a lack of wisdom on your part.
- sneeeeeed 5y agoJava is way better than .net, which nobody at all uses outside MS. Certainly not in enterprise.
- Zababa 5y ago> Certainly not in enterprise. Lots of people use .NET in enterprise, I don't know where you got that impression.
- ahtihn 5y agoThere's tons of .net usage in enterprise, what are you talking about?
- tester756 5y ago>Certainly not in enterprise. pretty odd take, in which country?
- Case81 5y agoyeah, you got it. My city has very little job listings requiring .NET for actual back-ends. Whereas, there are like a thousand Java jobs and almost half mentioning Spring
- chrisseaton 5y agoJava has a better technology stack. The JVM is light-years ahead of the .NET runtime.
- azth 5y agoAre you referring to its GCs, compilation tiers, or observability? ;)