Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

This so much.

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.

 help



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


You can have it as short as you want. For example check this minimal API

https://learn.microsoft.com/en-us/aspnet/core/tutorials/min-...

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

You know things are bad when someone compares something to Spring and says: "this is thing is more complicated!".



Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: