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…
C# itself isn't hard, but the ecosystem is. I have been writing code for years and wanted to take a look at dotnet not that long ago. There are no tutorials on how to make something that is not also a tutorial on visual studio. I want to learn how to make a webapp or whatever in C#.NET, learn the paradigms, classes, and functions that I need to do that. I'll go look into Visual Studio after I understand the basics to…
.NET for Beginners (2020)
161–170 of 192 posts
Re: .NET for Beginners (2020)
#162Earlier 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…
> 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 r…
Aliases: https://docs.microsoft.com/en-us/dotnet/csharp/language-refe.... Support for those was only added in the last year or so to the dotnet/nuget/roslyn/whatever it is needed things to make it work. Microsoft's own documentation only documents how to use it for Visual Studio: too bad if you're using another IDE or the command line like you did above.
Re: .NET for Beginners (2020)
#163Earlier quoted context omitted.
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.
For a typed language completion like Intellisense is a very important tool for any developer. There is limited completion support available in VS Code. If you want a proper IDE for .NET on Linux, try out JetBrains Rider. It is not free, but great. I don't understand what you dislike about the API documentation Microsoft provides with .NET, it's not always perfect, but I would say it has nearly 100% coverage: https://…
And I haven't said anything about building GUIs here yet, which is another world of pain on .NET.
Re: .NET for Beginners (2020)
#164Like 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) re…
The sprawl isn't just confusing for new programmers. Several years ago I was writing C# professionally, would always appreciate the new features that came with each new version of C#. Recently I was reviewing the code of a library written in C# 9 and couldn't make head or tails of it. Half the code was using features that didn't exist a couple of years ago, enabling the author to use patterns which were not possible…
Re: .NET for Beginners (2020)
#165Earlier quoted context omitted.
What was the error? Also like the others say, F# on dotnet is like Groovy for the JVM. It's nowhere near the popularity. Any reason you didn't try C# instead?
It seems like you understand the story for both of them. Any reason why F# is not a valid starting point language on Mac?
Re: .NET for Beginners (2020)
#166I'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…
C# itself isn't hard, but the ecosystem is. I have been writing code for years and wanted to take a look at dotnet not that long ago. There are no tutorials on how to make something that is not also a tutorial on visual studio. I want to learn how to make a webapp or whatever in C#.NET, learn the paradigms, classes, and functions that I need to do that. I'll go look into Visual Studio after I understand the basics to…
The experience is surprisingly good.
If you want to create and build + run a .NET web API, you just do:
"dotnet new webapi"
>cd into the directory
"dotnet run"
Re: .NET for Beginners (2020)
#167Earlier quoted context omitted.
> 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 r…
Yeah, of course, now try to build a real world application with it. Aliases: https://docs.microsoft.com/en-us/dotnet/csharp/language-refe... . Support for those was only added in the last year or so to the dotnet/nuget/roslyn/whatever it is needed things to make it work. Microsoft's own documentation only documents how to use it for Visual Studio: too bad if you're using another IDE or the command line like you did a…
In terms of building a real world application. What are you struggling with? The code is no different regardless of IDE you use. VSCode, Visual Studio, and Rider all have a debugger and can step through code.
Right now it sounds like you’re just trying to make .net sound bad.
Re: .NET for Beginners (2020)
#168Earlier quoted context omitted.
> 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.
I miss the days of writing desktop software, it was nice :)
Re: .NET for Beginners (2020)
#169Earlier quoted context omitted.
At least until last year, I think the community used mostly winforms if it is for Windows operating system. MS is not too happy about that.
Winforms is easy to use and understand, everything is pretty much there and I can get started with no issues. WPF,on the other hand,is a clusterfuck, not even sure who managed to come up with it.
If you're experienced with WPF you can build very complex applications quickly, but the learning curve is very steep. There's also a million gotchas when it comes to performance, and when things go wrong, they go wrong bad, and you end up spending many hours trying to figure out why you're getting a stack overflow exception :)
WinForms is a joy, though, and making custom GDI+ components is easy. I just wish they made WinForms 2, called it DotNetForms, made it cross-platform and high-DPI aware.
Re: .NET for Beginners (2020)
#170Earlier quoted context omitted.
The biggest issue I had picking up C# over the last year (and still have) is figuring out the MS ecosystem. There’s three different frameworks for everything, all of which are either incomplete or to be deprecated. Windows-only desktop app is the latest to confound me, let alone cross platform. The .NET variants confused the hell out of me for the longest time until I just sat on Wikipedia and read the whole damn his…
The thing about .NET is that while it is confusing at the moment, and the naming isn't great, it's not a bunch of truly different technology. Microsoft is replacing their legacy Windows-only framework with a new cross platform framework with the end-goal being nearly fully backwards compatible. There is slightly more to it than that but that's the basic gist of it. Heck, they've even brought over Winforms -- that tec…
So the framework to pick for a new application is... I don't know. Ideally the answer would be UWP with some kind of automated fallback for older windows, but its not. [0]
This windows UI confusion (3 different gui systems in play, when iterating over system settings) seems like a direct result of this framework confusion
[0] Apparently Win7 is still like 30% of the market, so it's hardly ignorable. https://www.digitaltrends.com/computing/windows-7-end-of-sup...