Hacker News new | ask | show | jobs
by nxh 3591 days ago
What are the biggest benefits of using NET Core in comparison with Go, Ruby, Python?
3 comments

Getting to use C# on a fast runtime, none of those things you mention allow me C#.
F# with all the .NET libraries.
Speed of course, and a huge standard library that works with multiple languages, Ruby and Python are dog slow compared to C#; can't speak to Go, haven't used it.
Core doesn't actually have a huge standard library. That's kinda the big problem with it. It's basically, at the moment, a really shit version of .Net 4.61.

For example in the 1.0 release the ORM is a complete joke at the moment. It can't do fairly basic stuff, like worse than ORMs from 10 years ago.

EntityFramework? In my 5 or 6 years with .NET I've had more problems with EntityFramework than not. Most of the time it's overkill or just not optimized for the queries I could write myself. I'm a huge fan of Dapper.Net. Looks like there's initial support for core as well.
No offence, but you're probably using it wrong.

These days, it's really very, very good. And it's been amazing since EF4, for about 5 years now. Trying to push it too far is a mistake and can cause performance problems, but, as with all ORMs, sometimes you need to drop down to raw queries.

Missed this comment but I don't take offense to it.

In all honesty, if you have a well designed system it's pretty good at what it does. I've used it without any issues on small personal projects and it was great at what it did. Although getting it to work with Postgres is needlessly "complicated". Not complicated per-say but not as easy as it just working with SQL Server.

What happens when you take a legacy system and move over to .Net and try to use EF on a poorly architectured data model? Chaos.

"Oh you want to search for orders that have these attributes that are stored in a bit-encoded string field that is only joined from 3 different tables?"

I neither expect or would use an ORM that was considered part of the standard library, it's going to be far too crappy trying to please everyone. ORM's are something you get aftermarket, from core I just want raw database drivers, from those the much better open source libs can build real ORM's that are tailored to difference audiences. The core should be libraries for dealing with the OS and network, frameworks are things I'll look for open source or build to suite me, not something I want from core.