Hacker News new | ask | show | jobs
by sylens 1304 days ago
I've spent the last year exploring different languages and ecosystems than the one I'm most comfortable in (Python) and what you said absolutely rings true. When you're picking up C#/.NET, there's this almost overwhelming amount of terminology you see getting tossed around that takes you a while to see how it all fits together.

Now that I'm exploring Go, I'm surprised at how many books/learning materials are basically surveys of the features of the language, and then it's basically - "Start building!" "Introducing Go" is just 100 pages for example.

1 comments

The number of times that the asp.net "startup" has changed is completely ridiculous. It all started from a very bad place with a startup class that is stupidly called by reflection, forcing the developer to use trial and error to discover what methods should be used.

Thankfully, they have finally done away with this but it is sad that they ever allowed these horrible patterns in the first place. Another abysmal area is SignalR (clearly developed by children).

Everyone makes mistakes, even framework/compiler teams. I mean look at how long it took Go to get generics. Huge mistake IMO.

I still dislike what ASP.NET did with their startup, and I don't think it's improved much. The minimal startup is just a bunch of magic (where did the var 'args' come from? Just magic.)

Framework folks are people, they try new things, it doesn't always stick.

I don’t enjoy being critical, but sometimes it is justified. When you have something used by millions of people, it should be more carefully vetted.
That feels a lot of ‘old man telling skies’.

What is main(), where did it come from? Who calls it? What is argc and argv? Who puts that stuff there.

main() is a well established entry point in computer science. It’s the first thing one learns when learning to program. Nowhere else in C# are there “ambient” variables.

https://en.m.wikipedia.org/wiki/Entry_point