Live data from Hacker News

.NET for Beginners (2020)

dusted.codes

1–10 of 192 posts

Re: .NET for Beginners (2020)

#2
This goes on critiquing how C# has a high barrier to entry because you have to learn [insert long list of popular C# frameworks]. But no, you don't have to learn any of those things, you can just start learning C#.

Then: "Just think about the upcoming release of .NET 5 and how it will invalidate most of the lessons taught just a few months ago .... the wider .NET community has failed in making .NET a more beginner friendly language"

.NET isn't a language! It is, I will agree, absurd that Microsoft way back when decided to give the totality of the infrastructure around their language a name at all, let alone one as confusing as .NET, but that is all it is. A name applied to sometimes the compiler/runtime/core libraries or all of the above.

Unfortunately this has led to people wandering into forums asking "how can I learn C# and .NET?" nobody ever wanders into a forum asking "How can I learn C++ and llvm"?

Re: .NET for Beginners (2020)

#3

This goes on critiquing how C# has a high barrier to entry because you have to learn [insert long list of popular C# frameworks]. But no, you don't have to learn any of those things, you can just start learning C#. Then: "Just think about the upcoming release of .NET 5 and how it will invalidate most of the lessons taught just a few months ago .... the wider .NET community has failed in making .NET a more beginner fr…

> How can I learn C++ and llvm"

Rather "C++ and Qt" or "C++ and Boost".

Re: .NET for Beginners (2020)

#4
post #3

This goes on critiquing how C# has a high barrier to entry because you have to learn [insert long list of popular C# frameworks]. But no, you don't have to learn any of those things, you can just start learning C#. Then: "Just think about the upcoming release of .NET 5 and how it will invalidate most of the lessons taught just a few months ago .... the wider .NET community has failed in making .NET a more beginner fr…

> How can I learn C++ and llvm" Rather "C++ and Qt" or "C++ and Boost".

"C++ and Qt" would be more analogous to "C# and WPF". .Net to C# is perhaps more like JVM to Java.

Re: .NET for Beginners (2020)

#5
Like other design-by committee projects C# has considerable sprawl. As a result, it's overwhelming and confusing for brand new programmers to start writing hobby projects in.

But C# is beginner friendly in that it's easy for inexperienced programmers to contribute business value to existing codebases. The everything-in-one ecosystem (IDE + autocomplete + database + deployment + source control + package management) removes many sharp edges that experienced programmers are used to working around and take for granted in other languages. I've known smart high school kids with limited programming experience become productive C# developers in weeks, and that doesn't happen the same for e.g. Java.

Re: .NET for Beginners (2020)

#6
I didn't read the whole article, just scanned it. But I'm surprised he chose Golang as a low-cognition entry barrier language. As a developer on Windows (relevant since we're talking about .NET), setting up Go was a pain in the ass. Making sure that my PATH variables were set up correctly and all that jazz, and then I'd run into issue after issue with packages and paths.

I don't know what it is about golang, but man, it's hard unless you just start up a WSL and install it on there.

Re: .NET for Beginners (2020)

#7
The professionals in this field (programmers) are something of a different breed. I can't tell you how many time I've come across something I've been needing so badly to learn and it's put right in front of my nose explained in detail by people i look up to, just here to say thanks for the in depth article. great material.

Re: .NET for Beginners (2020)

#8
The complaint around all the different concurrent iterations of .NET rings true to me.

It used to be that you only needed "current version of .net" and then you just ran forward with all of the standard libaries and Visual Studio handled all of that for you and it was wonderful.

Now you need to work with .NET Core and download a bunch of disjoint nuget packages to make everything work; and, then you download a specific nuget package and it requires updating all your other nuget packages, on to forever.

I was tasked with transitioning some of a former company's .net 4.something code to .net core, to see if we could do it, and the transition was a shock to the system, for sure.

In the past, I could choose when to engage with Nuget and which packages to work with. When I went to .net core, it seemed like anything complex that I wanted to do required yet another package - in my case, anything related to running a webserver.

Working with .net definitely became more complicated post .net core.

edit: for clarity and enjoying the downvotes.

I'm a seasoned .net developer and used it from 2009 until 2018-2019 for desktop applications and webservices. I've used nuget packages plenty for a variety of things, including Akka.net.

Re: .NET for Beginners (2020)

#9
If you want to get anything done with C you learn the stdlib. With python you need to learn the package system. With C# you have to learn .NET. I don't see that it is that much more complicated. Python also has problems with shared code versioning. Modern PHP still suffers from carrying old crufty PHP code along

Re: .NET for Beginners (2020)

#10

If you want to get anything done with C you learn the stdlib. With python you need to learn the package system. With C# you have to learn .NET. I don't see that it is that much more complicated. Python also has problems with shared code versioning. Modern PHP still suffers from carrying old crufty PHP code along

The issue he's stating is deciding which ".net"
Post reply on HN