Live data from Hacker News

.NET for Beginners (2020)

dusted.codes

91–100 of 192 posts

Re: .NET for Beginners (2020)

#91
post #89

.NET definitely has a messy past but someone arriving today probably has the easiest time ever getting started because so much has changed to become a single streamlined product. All these opinions are weighed down by the very history that beginners don't have. The expansive standard library, web/desktop/mobile/gaming output, Visual Studio (Code) IDEs, fantastic in-depth guides and documentation [1], dev evangelists…

Gave it a serious go but it still lives inside the Windows + Visual Studio bubble. Trying to use .NET on Linux with Visual Studio Code is pain: .NET developers expect you to learn APIs through intellisense and don't publish API docs, Windows tutorials assume you're running Visual Studio, and a lot of MS's own API docs are bewildering with .NET jargon that you won't understand.

> Gave it a serious go but it still lives inside the Windows + Visual Studio bubble.

I work in a small shop and most of the developers use Visual Studio with Linux or a Mac. Most of the developers that don't bother with anything outside of Windows won't be open sourcing their libs or documenting their stuff anyways.

This may have been true back in 2016/7 when .NET Core first turned up but it just isn't true anymore.

> Trying to use .NET on Linux with Visual Studio Code is pain: .NET developers expect you to learn APIs through intellisense and don't publish API docs,

I've used VS Code for small projects fine on my Mac. However I can see it being a pain on larger projects and you will need a large IDE. However the same could be said for a large Java project.

> Windows tutorials assume you're running Visual Studio, and a lot of MS's own API docs are bewildering with .NET jargon that you won't understand.

I don't want to sound like a dick, but yes the Windows tutorials will expect you to use Visual Studio as that is the IDE that primary IDE of people using Windows.

As for complaints about jargon. As a C# developer that now transitioning to Python. The Python docs having lot of Python Jargon you won't understand (at first). Every language has its own jargon.

Re: .NET for Beginners (2020)

#92
post #71

.NET definitely has a messy past but someone arriving today probably has the easiest time ever getting started because so much has changed to become a single streamlined product. All these opinions are weighed down by the very history that beginners don't have. The expansive standard library, web/desktop/mobile/gaming output, Visual Studio (Code) IDEs, fantastic in-depth guides and documentation [1], dev evangelists…

I'm currently trying to write a windows app and coming from web development (Python/Django and React) it is bewildering. Part of the problem is with web development, complicated as it is, the tutorials at least get you to a complete, working example. The windows tutorials seem to be very piecemeal where you start with a mostly complete app and fill in a couple things, but never get the whole picture. And like in your…

This is probably more of a Windows problem than a .NET/C# problem, but it's a very real problem.

Re: .NET for Beginners (2020)

#93

Earlier quoted context omitted.

Have you tried the dotnet site: https://dotnet.microsoft.com/ It explains everything, including how to get started for every scenario, and answers to every question in all of your comments here.

If the argument being made is ".NET isn't a language", and the response is "okay, then how do I install C#?" Linking the dotnet website probably doesn't advance the idea that C# and .NET aren't tied together.

How do you install Java? First thing you'd do is download the JDK. Is the JDK a language? No, it's not.

Re: .NET for Beginners (2020)

#94
post #21

I'd like to see some data around the central claim. Is C# really that hard for beginners? I watch a lot of beginners on twitch (for several years now) start with C# and almost zero idea about programming. They all seem do pretty well, whether they are learning unity, winforms, web dev. They don't even stop and wonder any of the issues discussed in the article, they simply make the project type they want in visual stu…

: They don't even stop and wonder any of the issues discussed in the article, they simply make the project type they want in visual studio and start learning the guts of programming.

As someone who did exactly this 25 years ago with VB, I really feel bad for new developers who don't have this nice experience and instead need to wrangle with half broken tools.

Re: .NET for Beginners (2020)

#95
post #71

.NET definitely has a messy past but someone arriving today probably has the easiest time ever getting started because so much has changed to become a single streamlined product. All these opinions are weighed down by the very history that beginners don't have. The expansive standard library, web/desktop/mobile/gaming output, Visual Studio (Code) IDEs, fantastic in-depth guides and documentation [1], dev evangelists…

I'm currently trying to write a windows app and coming from web development (Python/Django and React) it is bewildering. Part of the problem is with web development, complicated as it is, the tutorials at least get you to a complete, working example. The windows tutorials seem to be very piecemeal where you start with a mostly complete app and fill in a couple things, but never get the whole picture. And like in your…

> Now there are four options WPF, WinForms, UWP and Xamarin. Ok...Why are there four options? What are the differences? Are one or more of them about to be deprecated?

You're most likely best of picking WinForms. It's old school, but it seems like it's going to be the one Microsoft will have the hardest time killing.

WPF, UWP and Xamarin fine frameworks, but for the 0.9X developer who just want a window, with a few input and some buttons, you can't beat WinForms in ease of use.

My reasoning is that most of the developers who saw WPF and jumped on that, are the same who will more easily jump to UWP, and from there to what ever comes next. The WinForms developer aren't moving.

Re: .NET for Beginners (2020)

#96
post #71

Earlier quoted context omitted.

I'm currently trying to write a windows app and coming from web development (Python/Django and React) it is bewildering. Part of the problem is with web development, complicated as it is, the tutorials at least get you to a complete, working example. The windows tutorials seem to be very piecemeal where you start with a mostly complete app and fill in a couple things, but never get the whole picture. And like in your…

> Now there are four options WPF, WinForms, UWP and Xamarin. Ok...Why are there four options? What are the differences? Are one or more of them about to be deprecated? You're most likely best of picking WinForms. It's old school, but it seems like it's going to be the one Microsoft will have the hardest time killing. WPF, UWP and Xamarin fine frameworks, but for the 0.9X developer who just want a window, with a few i…

> 0.9X developer

That's pretty fantastic. Stealing this!

Re: .NET for Beginners (2020)

#97
Microsoft is just so bad at naming things. ".net framework" means versions of .net before version 5. Version 5 is of course also .net and it is a framework, but apparently it is not ".net framework", since this term refers to the versions up to 4.x.

Take "Enterprise Framework" (EF) and "EF Core". These are two independent ORM frameworks. From the names you would probably expect either that "EF Core" was the core of EF or that EF Core was a version of EF which ran on ".Net Core" (the previous name for .net 5). Neither is true - the frameworks are independent and both run on both .net 4.x and .net core/5. Apparently "core" just means "new incompatible version".

And how about ".net standard"? .Net Standard 2.0 was the standard API which was available with both .net 4.x and .net core/5. But from .net Standard 2.1, it was not compatible with .net framework anymore, which meant it wasn't standard anymore.

The actual technologies like C#, the BCL and EF Core are great, don't get me wrong, but the naming is so confusing.

Re: .NET for Beginners (2020)

#98

Earlier quoted context omitted.

> Okay, where do you start in Learning C#? What do I have to install? What should I install? Visual Studio Community Edition 2019. Done. edit: I would encourage using regular .Net, not .Net Core until they've reached a certain threshold.

Also... "I don't see an option to create a web project." or "Where's the project to start a video game" ... There's lots of bundle options in the VS installer that someone may not understand, and if you install the kitchen sink, you may well fill a 256-512gb ssd. Or... I'm running a Mac.

VS for Mac is becoming an actual native app in the upcoming VS 2022, so progress is at least being made there!

Re: .NET for Beginners (2020)

#99
post #86

Read the whole article nodding my head at all the valid criticisms of .NET, but towards the end I began to wonder: when are the arguments in favour of .NET coming? And finally, at the very end, this paragraph appeared: " .NET is a great technology for experienced developers who grew up with the platform as it matured, but I'm not sure if I'd still enjoy learning it today as much as I did in 2008. Whilst the complexit…

I can share some insight here. I got into .NET (Core) by virtue of joining a company that used it, after previously focusing mostly on Python and JavaScript (with a self-taught background in C going back to childhood prior to that).

Initially I had the same tribalism that a lot of people seem to have towards .NET, for whatever reason. Eventually though, my conclusions:

- .NET Core is pretty reasonable. Platform agnostic, easy to work with, decent command-line tooling, and doesn't force you into an IDE vertical unless you want to. - C# can be a nice language for certain types of business applications. I think it has a lot of the good modeling properties that once made Java the de-facto language for enterprise development, without some of the verbosity and other drawbacks (though maybe Java has changed too since I last looked at it :) ). It plays very nicely with Domain Driven Design and event sourcing, both of which are patterns that I find valudable on large-scale systems for managing business transactions.

Overall TLDR: I probably wouldn't use .NET if I started a company tomorrow, but when I start coding non-trivially sized things in Python I sometimes miss elements of what .NET/C# brings (particularly interfaces, which obviously also exist in other languages).

Re: .NET for Beginners (2020)

#100
post #89

.NET definitely has a messy past but someone arriving today probably has the easiest time ever getting started because so much has changed to become a single streamlined product. All these opinions are weighed down by the very history that beginners don't have. The expansive standard library, web/desktop/mobile/gaming output, Visual Studio (Code) IDEs, fantastic in-depth guides and documentation [1], dev evangelists…

Gave it a serious go but it still lives inside the Windows + Visual Studio bubble. Trying to use .NET on Linux with Visual Studio Code is pain: .NET developers expect you to learn APIs through intellisense and don't publish API docs, Windows tutorials assume you're running Visual Studio, and a lot of MS's own API docs are bewildering with .NET jargon that you won't understand.

I've been a .NET developer since 2003, I've been on Linux exclusively for the last 2 years.

.NET on Linux with Jetbrains Rider, is a far better experience than Windows and Visual Studio.

VSCode isn't worth looking at for .NET Development.

Post reply on HN