It depends a bit on what tools you use, but if you've jumped the ship from VS to VSC and mainly use the dotnet cli for things then there isn't much of a difference between platforms. If you're using VS, as in really use it and all it's feature, there is going to be a massive difference.
That being said, I've used .Net and C# for over a decade and it's frankly just a clunky language and toolset. It's gotten better with Core (now just.Net), but it's still just not there. It's not a secret that we've been doing more and more TypeScript where I work, but I recently did a little bit of Go and Gorm made EntityFramework feel like something from the stoneage.
So I'm not sure I'd really recommend it unless you already do a lot of .Net. It's not that it's bad, it's just that it's a dated way to build things in a world where the Java way of doing things makes less and less sense.
Interesting. Does Gorm have anything like Linq? autocompletion of queries? Compile-time validation between code and schema?
Once I disable Entity Framework object cache globaly (AsNoTracking), it becomes close to the ideal db toolkit for me.
I see a lot of strings in Gorm docs. Those are probably not checked during compilation. This alone differentiates Gorm and EF quite a bit. https://gorm.io/docs/create.html
Everything in the feature-list for Gorm is bog-standard for C# and Java ORMs. Do they support any special query languages comparable to OData, LINQ, or JPA?
Not wanting to get in a debate on whether you should use an ORM, but I just don't see anything really special about Gorm that makes the other frameworks "ancient".
I feel like the "Java" way of doing things in C# is simply a byproduct of inertia and outdated habits. You can model domain with records in C# in a very concise manner (F# style), you can pass around raw memory slices with Span<T>. Writing simple CLI tools is incredibly easy with top-level statements and implicit usings, or even using bFlat [0] or ProcessX/Chell [1, 2].
Yeah, I was specifically curious about VS (not VSC).
I am not a vs/c#/.net dev but I tried it once on a windows machine and thought it integrated well and seemed to be a really nice DX. Probably the nicest DX for an "enterprise" stack.
I went from VS Enterprise to VS Professional to VSC over a decade. We still use Azure DevOps, and, a lot of Azure things in general, so it's not like I'm anti Microsoft or anything, but I frankly don't miss VS the slightest.
I haven't used Go, and Gorm is new to me. I've just looked at it (with 15 years of AR experience, and a couple of EF), and it looks quite a bit like EF to me. In your mind, what makes it significantly better than EF?
On Linux you can use Rider or VS Code both of which are able to satisfy most of your professional needs, especially when it comes to back-end and/or web dev. I'm not sure what is the situation when it comes to visualizer for XAML used in cross-plat UI frameworks like Avalonia or Uno Platform but honestly I've never relied on those because even on Windows they can never compete with something like Xcode visualizer for Swift UI.
Other than that, it is smooth and in many advanced scenarios Linux has better support than macOS, unfortunately (still decent, just has quirks).
Also, check out Native AOT in the upcoming .NET 7 because it is really nice for building small and lightweight CLI utilities in .NET and just shipping them to users like you would if they were written in C++ or Rust.
Not exactly Linux but switched to Mac earlier this year and pretty happy with Visual Studio 2022 there. Not nearly as feature rich as the Windows version but very comfortable and performant.
Pretty cool and interesting that a big linux vendor is on board with .net.