3 ms·
I agree, .NET Core has improved by gigantic leaps and bounds. Which makes it all the more frustrating to me that .NET and Java both had "lost decades" of little
by Analemma_ 2y ago
I agree, .NET Core has improved by gigantic leaps and bounds. Which makes it all the more frustrating to me that .NET and Java both had "lost decades" of little to no improvement. Java mostly only on the language side, where 3rd-party JVMs still saw decent changes, but .NET both on the language and runtime side. I think this freeze made (and continues to make) people think the ceiling of both performance and developer ergonomics of these languages is much lower than it actually is.
- paavohtl 2y agoI certainly agree that Java / JVM had a lost decade (or even more), but not really with C# / .NET. When do you consider that lost decade to have been? C# has had a major release with new language features every 1-3 years, consistently for the past 20+ years.
- CharlieDigital 2y agoLost decade in another sense in the case of C#. It's sooooo good now. Fast, great DX, LINQ, Entity Framework, and more! But I still come across a lot of folks that think it's still in the .NET Framework days and bound to Windows or requires paid tooling like Visual Studio.
- MortyWaves 2y agoThose people are all wilfully ignorant at this point.
- CharlieDigital 2y agoI know! I'm working on a large TypeScript codebase right now (Nest.js + Prisma) and it's actually really, really bad. Primarily because Prisma generates a ton of intermediate models as output from the schema. On the other hand, in EF you simply work with the domain model and anonymous types that you transform at the boundary. Nest.js + Prisma ends up being far more complex than .NET web APIs + EF because of this lack or runtime types. Everything feels like a slog.
- torginus 2y ago.NET was always fast. I remember in the .NET framework 2.0 days, .NET's JIT for derived from the Microsoft C++ compiler, with some of the more expensive optimizations (like loop hoisting) removed and general optimization effort pared back. But If you knew what you were doing, for certain kinds of math heavy code, and aggressive use of low level features (like raw pointers) you could get within 10% of C++ code, with the general case being that garden variety non super optimized code being half as fast as equivalent C++ code. I think this ratio has remained pretty consistent over the years.