Earlier quoted context omitted.
Sure doesn't sound like beginner C# questions at this point, eh?
If you're experienced with other languages, you are... Also, there are plenty of beginners with Macbooks.
.NET for Beginners (2020)
51–60 of 192 posts
Re: .NET for Beginners (2020)
#52I 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,…
When was this? Within the last two years? When Go was transitioning from the original GOPATH style setup to modules, I had a ton of issues like this. So many, that I kept my Go version on an earlier build so I didn't have to deal with it.
These days, thankfully, all those issues are taken care of. I've mostly switched to cross compiling from WSL(2), but compiling on Windows has been fine for a number of versions now.
Re: .NET for Beginners (2020)
#53Earlier quoted context omitted.
The framework you choose doesn't even matter that much. You're unlikely to even a notice a difference and changing from one to another is often as easily as selecting it from a drop-down (or editing a file) and recompiling. Yes, you can get into situations where something you're doing needs one or the other but it's very rare.
I'm sure you're right, but as a beginner in a new programming language there is a real fear of "choosing the wrong thing" You know that it will not matter that much, because you're familiar enough with all three. A beginner doesn't have that information. Think about it like this: Is it better for beginners to have such a 'non-choice'? Or is it better for them to be presented 1 maybe 2 options and say pick from these…
The problem is you're informed enough to ask the question! If you had no idea about the different frameworks you wouldn't have a problem.
Re: .NET for Beginners (2020)
#54I 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,…
Honestly, what's so technical about adding:
export PATH=/usr/local/go/bin:$PATH
... to your ~/.bashrc ? Beyond that there's nothing more required other than, per project: mkdir myapp && cd myapp && go mod init myapp
Maybe you're thinking of setup prior to the introduction of Go modules?Re: .NET for Beginners (2020)
#55Like 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…
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 without those features.
Re: .NET for Beginners (2020)
#56The 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 specif…
You probably still will have more Nuget packages in your ASP.NET Core project than a classic .NET Framework project would.
Details about the new system: https://github.com/dotnet/designs/blob/main/accepted/2019/ta...
Re: .NET for Beginners (2020)
#57Earlier quoted context omitted.
You couldn't be more mistaken... C# and .Net (CLR) were absolutely written/meant to be portable. Mono was pretty well adapted from early on at a core level, though it didn't support all the options. If it weren't for MS patent stance and some FUD early on, it might have gained more adoption in the Linux space. One of the reasons I chose to learn C# a couple decades ago over Java was the fact that interop was so much…
Mono was created by Miguel de Icaza, a Mexican (Now Mexican-American) programmer. Microsoft had nothing to do with it. Novell purchased it. Eventually Microsoft warmed up to it. Miguel de Icaza now works at Microsoft.
Only after Microsoft's Linux patent racket involving Suse, who Icaza worked for, branded them as the enemies of open source which became inconvenient once they realised the writing was on the wall for anyone who did not support open source.
Re: .NET for Beginners (2020)
#58Earlier quoted context omitted.
If you're experienced with other languages, you are... Also, there are plenty of beginners with Macbooks.
Is it bad that I would steer someone away from learning C# if they're on a MacBook, unless they're learning Unity? And then I would recommend what Unity recommends.
I do most of what I do with C# in WSL with VS Code (WSL Remote) ... because that's where I do most of my Programming. Where I work, pushing towards most of what we write to be able to deploy/operate in Linux/Docker environments. Doesn't make C# less of a language for the teams that have over a decade of experience with C#, but it is a mindset shift.
The bigger issues I have are with the framework and that it's very difficult to search for working paradigms as framework apis and interfaces have dramatically changed in a lot of areas the past few years. I like the dotnet cli better than what was before it... that said, it's still got a lot of rough edges.
And getting started, especially when you are experienced in other platforms, isn't always easy... even experience from .Net framework to newer runtimes has been painful in the past.
Re: .NET for Beginners (2020)
#59I 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,…
>Making sure that my PATH variables were set up correctly Honestly, what's so technical about adding: export PATH=/usr/local/go/bin:$PATH ... to your ~/.bashrc ? Beyond that there's nothing more required other than, per project: mkdir myapp && cd myapp && go mod init myapp Maybe you're thinking of setup prior to the introduction of Go modules?
Oh boy, you don't tutor many beginners in programming do you?
Re: .NET for Beginners (2020)
#60Like 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…
I will agree and disagree... a lot of things around the edges really do change between versions of .Net .. while C# is pretty progressive, the .Net framework does have some rough edges if you're either inexperienced, or have tended to hold on to a version for too long and now need to jump ahead a version or two. The evolution of .Net Core (now just .Net 5) has been interesting and at times very painful.
I’ve lost track, and I don’t even know how to keep tabs on this any more.
Too much information.
I envy the greenfield developers who can start with .Net Core or .Net 5.