Live data from Hacker News

.NET for Beginners (2020)

dusted.codes

141–150 of 192 posts

Re: .NET for Beginners (2020)

#141

Earlier quoted context omitted.

The experience of picking up a new IDE, language, framework, flow, etc, is no different regardless of it being .NET or anything else. There's a learning curve. My point is not that experience is easy or hard, just that when comparing the two side by side, the experience of being a .NET developer on linux is good, and I would argue with jetbrains rider, is better than being on Windows with Visual Studio.

Sorry, I don't buy it - tried it for 4 years and that's just not the case. It was stumbling block to be on Linux and without Visual Studio with every tutorial or instructions. I think you have it easy since you know the ecosystem so well - and coming over from Windows, you know what alternatives to look for. For me, even simple things like getting C# aliases working was a pain. I would not recommend a Linux developer…

Okay, what other programming languages did you master before? What is so much easier?

I suppose you mean using-aliases for types/namespaces? This is a C# language concept, not a very complicated one, and totally independent of the operating system

Re: .NET for Beginners (2020)

#142
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…

> Is C# really that hard for beginners?. No data but from a lot of anecdotal experience I don't believe so - quite3e opposite. I've never seen beginners (interns generally) or non-C# programmers (adept at other languages) come up to speed and start meaningfully contributing to projects on any other language other than C#. With other languages (I've worked with) this just isn't true. I've never seen anyone but the mos…

> The dev experience in VS with a copy of ReSharper installed is unparalleled in software engineering.

It's pretty great until you tried out Rider :D, okay it's more or less the same as Resharper.

I'm not a Java developer, but i suppose IntelliJ will give you quite a similar development experience as Resharper/Rider?

Re: .NET for Beginners (2020)

#143
Complicated stuff will always be complicated.

The .NET ecosystem is huge, there are a lot of different frameworks associated to any kind of problem. Xamarin for mobile; EF 6, EF Core, ADO.NET for databases, and so on.

But as a beginner you shouldn't try to understand it all, right from the beginning. Just start somewehre.

It's like saying: "Biking is too complicated, there are so many different kind of bikes, who should know what to buy!" Just get the first best bike / framework (e.g. console app, or asp.net core) somebody recommends you and go with that until you know better. After a while you will understand the difference between a mountain bike and a downhill bike, or between EF 6 and EF Core.

Re: .NET for Beginners (2020)

#144
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…

Native UI development is a mess. On any platform. It's super complicated.

You will always be unhappy with any choice of UI framework, on any platform :)

Re: .NET for Beginners (2020)

#145
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…

> Are one or more of them about to be deprecated? All of them are. Not officially , of course, but practically speaking all of them are dead-ends. MAUI is the "new hotness", which means that it'll only become obvious that it is also a dead end in about a year and a half. I wish I was joking.

I can confirm that. If you don't know exactly what you are doing, don't build a desktop application. Build a web application, you are safe and protected there.

Re: .NET for Beginners (2020)

#146
post #141

Earlier quoted context omitted.

Sorry, I don't buy it - tried it for 4 years and that's just not the case. It was stumbling block to be on Linux and without Visual Studio with every tutorial or instructions. I think you have it easy since you know the ecosystem so well - and coming over from Windows, you know what alternatives to look for. For me, even simple things like getting C# aliases working was a pain. I would not recommend a Linux developer…

Okay, what other programming languages did you master before? What is so much easier? I suppose you mean using-aliases for types/namespaces? This is a C# language concept, not a very complicated one, and totally independent of the operating system

It's not complicated, but the .NET tooling on Linux did not understand it :) that's what my point is all about. For the best .NET experience, use Visual Studio on Windows. If you're not on those two, the tooling experience is not going to be particularly pleasant - nor the documentation.

My advice after having tried it seriously - .NET does work crossplatform, I've seen it, but you need to be a Windows dev to tap into that. Would not recommend a mac/linux dev who's looking to do cross-platform work to pick .NET as the foundation.

Re: .NET for Beginners (2020)

#147

.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've tried to get started with F# on Mac twice, once a few months ago, and 18 months before that. Could not get it working. When the official getting started guides don't work, that is a very bad sign. I will be staying away.

That's weird. I just tried the minimal example on alpine, and it works right out of the box.

Installing .NET 5 should be easy on macOS as they even provide an installer.

  # Start fresh alpine
  docker run -it alpine

  # install tools and .NET 5.0
  apk update && apk add wget bash vim icu-libs krb5-libs libgcc libintl libssl1.1 libstdc++ zlib
  wget https://download.visualstudio.microsoft.com/download/pr/21fdb75c-4eb5-476d-a8b8-1d096e4b7b14/c1f853410a58713cf5a56518ceeb87e8/dotnet-sdk-5.0.202-linux-musl-x64.tar.gz
  mkdir -p $HOME/dotnet && tar zxf dotnet-sdk-5.0.202-linux-musl-x64.tar.gz -C $HOME/dotnet
  export DOTNET_ROOT=$HOME/dotnet
  export PATH=$PATH:$HOME/dotnet

  # create f# project
  mkdir my-fsharp-demo && cd my-fsharp-demo
  dotnet new console -lang f#

  # run project, it will show "Hello world from F#"
  dotnet run
Or did you have issues with the IDE?

Re: .NET for Beginners (2020)

#148
post #46

Anecdotally when I've had to show developers how to start with .NET Core the problem isn't the SDK (install dot.net at the website) or which template to use (i.e. just tell them to pick that one) its C#. This is especially true if they come from a JS, Python or Go background. I say this as someone who does doesn't mind C# and thinks its pretty capable once the learning curve has passed. At one stage I had a JS develo…

I think your comparison is not fair. Maybe your vision of beginner C# is just much much higher than on F#?

Like, dependency injection, mocking and the like are not at all beginner concepts, and are not made particularly easier with more modern languages.

Re: .NET for Beginners (2020)

#149
I recently tried to take a look at dotnet core since I heard it can compile and run on linux. Every tutorial I looked at for building a webapp started with "download visual studio and click these buttons..." which would result in a "mostly complete" program that it would go on to fill in some variables to. Literally every other language tutorial starts with a simple empty file and fills in functions with descriptions of what's going on and builds up understanding. When I want to learn how to make a webapp in .NET, I want to learn to make a webapp in .NET/C#, not how to install and click buttons in Visual Studio.

Re: .NET for Beginners (2020)

#150

Earlier quoted context omitted.

The experience of picking up a new IDE, language, framework, flow, etc, is no different regardless of it being .NET or anything else. There's a learning curve. My point is not that experience is easy or hard, just that when comparing the two side by side, the experience of being a .NET developer on linux is good, and I would argue with jetbrains rider, is better than being on Windows with Visual Studio.

Sorry, I don't buy it - tried it for 4 years and that's just not the case. It was stumbling block to be on Linux and without Visual Studio with every tutorial or instructions. I think you have it easy since you know the ecosystem so well - and coming over from Windows, you know what alternatives to look for. For me, even simple things like getting C# aliases working was a pain. I would not recommend a Linux developer…

> tried it for 4 years and that's just not the case.

So just fired up a VM with a clean install of Ubuntu.

No VSCode, No Rider.

> wget https://packages.microsoft.com/config/ubuntu/20.10/packages-... -O packages-microsoft-prod.deb

> sudo dpkg -i packages-microsoft-prod.deb

> sudo apt update && sudo apt install apt-transport-https dotnet-sdk-5.0 -y

> mkdir test

> cd test

> dotnet new console --output sample1

> dotnet run --project sample1

This is all on the MS Docs website for getting started.

So I'm really not sure what part you find difficult. Getting hello world is no more difficult than me getting hello world working for golang, nodejs, python.

> For me, even simple things like getting C# aliases working was a pain.

Aliases for what?!?

EDIT: Simplified the commands cos I can't format in comments.

Post reply on HN