40 ms·
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 lear
by gameswithgo 6y ago
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"?
- Rochus 6y ago> How can I learn C++ and llvm" Rather "C++ and Qt" or "C++ and Boost".
- powersnail 6y ago"C++ and Qt" would be more analogous to "C# and WPF". .Net to C# is perhaps more like JVM to Java.
- devmunchies 6y agono. CLR would be the JVM equivalent. .net would be like the OpenJDK
- gameswithgo 6y agodon't try to make solid analogies for nebulous ill defined terms like .NET!
- t-writescode 6y agoI know you're making a joke, but the article says: > In particular questions around the differences between .NET, .NET Core, Mono, Xamarin, and the relation between C#, F#, VB.NET and what a target framework or a runtime is add very little to almost no benefit to one's initial learning experience. So, I assume they primarily mean the particular set of libraries being used
- deleted 6y ago[deleted]
- Rochus 6y agoQt is like Boost and .Net a general purpose framework; it is also very useful on the server side or with command line applications. Qt Widgets is only one of many modules. Btw. you seem to mix up .Net with the virtual execution system (VES) and its common intermediate language (CIL). Have a look at the standard (ISO 23271) part I; you can download it for free from https://standards.iso.org/ittf/PubliclyAvailableStandards/c058046_ISO_IEC_23271_2012(E).zip https://standards.iso.org/ittf/PubliclyAvailableStandards/c0.... There is an additional technical report for the framework (ISO 23272), which can be downloaded from https://standards.iso.org/ittf/PubliclyAvailableStandards/c057955_ISO_IEC_TR_23272_2011.zip https://standards.iso.org/ittf/PubliclyAvailableStandards/c0....
- tracker1 6y agoOkay, where do you start in Learning C#? What do I have to install? What should I install? Even those are complex questions with a few answers. I started with C# two decades ago with the command line compiler and a very large book. There was really only a single option, and since I didn't have MSDN access, no beta VS for me. Today, I would suggest that a developer start with .Net 5 and VS Code, with the extension installed. Walking through the `dotnet` CLI. Unfortunately, getting started like that is convoluted with two decades of information/tutorials etc that will not directly apply, or be difficult to walk through. For that matter, having followed .Net Core from the initial versions, it's been somewhat painful. Figuring out how to migrate/update web applications hasn't been anthing resembling transparent or consistent, and some things are just plain difficult to figure out along the way. There is a crap ton of secondary knowledge you need to be able to do a lot of things that are just easier in other platforms/languages. Add support for an Authorize header with an RSA signed JWT token to your API.. go ahead... in Node, it took me a couple hours... with .Net Core having well over a decade of experience with C#, it took me the better part of 2 weeks to get things working the way I wanted to. All the tutorials were for older interfaces/apis etc. It was just ugly to say the least. Hell, if MS would just standardize on keywork formats for thinggs... #dotnetcore3 or similar so that search terms via google could give you more relevant results... that just doesn't happen. Don't get me wrong, I really appreciate C#, and .Net ... .Net Core itself had me working with .Net again with interest after years of migrating solutions towards options that are easier to write, containerize and scale. I'm still more inclined to reach for Node or for that matter, to push for Go or Rust, at least it's a consideration again. But it is anything but something easy to get started with, or for that matter, upgrade projects with. Python 2 to 3 was a cleaner migration option.
- t-writescode 6y ago> 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.
- tracker1 6y ago
- goto11 6y ago> But no, you don't have to learn any of those things, you can just start learning C#. The problem for a beginner (on any language or platform) is you have to know what you don't need to know. You get overwhelmed with terminology just in the "create new project" dialog. Most of it is not relevant for a beginner, but as a beginner you don't even know what is relevant and what is irrelevant.