We just got code complete on porting a 30 year old Delphi app to C#, because of all of this.
Even now, our pure Delphi components are performant and wonderful, but hiring people who want to learn or know Delphi is hard, so off to C# we trundle forward.
Didn't the same people who wrote Delphi write also C# and .NET? When I first saw .NET it felt very much like VCL/CLX. And then came TypeScript from the same guy.
But then the C# people make writing code in it.. a horrible experience. They really like to over engineer and architect.
Had to look at some c# backend code. To write any kind of endpoint that talked to a database they had to write at least... 7? different files, lots of empty interfaces that has to be created and implemented, command, mediator patterns everywhere, etc. Looked like insanity compared to Spring Boot
But if you want it to be mockable, concerns-separated and what have you, you’ll end up with at least 3-5 files. But it ain’t got nothing to do with either C# or .NET in general.
> Had to look at some c# backend code. To write any kind of endpoint that talked to a database they had to write at least... 7? different files, lots of empty interfaces that has to be created and implemented, command, mediator patterns everywhere, etc. Looked like insanity compared to Spring Boot
Programming against interfaces. That's what you are seeing. Makes unit testing easier.
Somehow it is not required in other languages. It hurt our eyes at the office when looking at all these empty meaningless interface files. It just looks like bad language design from the outside, but when you are in there then you are used to all the weird things
We just got code complete on porting a 30 year old Delphi app to C#, because of all of this.
Even now, our pure Delphi components are performant and wonderful, but hiring people who want to learn or know Delphi is hard, so off to C# we trundle forward.