4 ms·
Okay, 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 wi
by tracker1 6y ago
Okay, 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 agoI would consider .Net 5 that threshold... there's no more Core, fyi. As for VS Community, if someone is getting started in C#, I'd suggest VS Code and learning the CLI tool before jumping in on the IDE bandwagon if only to learn the platform better in getting started.
- t-writescode 6y ago> I'd suggest VS Code and learning the CLI tool before jumping in on the IDE bandwagon if only to learn the platform better in getting started. I absolutely hate most CLI tools and C#'s is no exception. I'm happy to say that I have never, in any of my time developing, been in a situation where I absolutely had to use one for C#. It's made me very happy. .csproj's and .sln files are such a better design pattern for project management than raw folders that I wouldn't torment someone by requiring them to learn that alternative model when any good C# IDE will do all of that for them. Same with Java. If you want to require someone to learn everything CLI, then they should probably be learning a different language, to start. In a similar tone, if I was teaching someone Python, I would start them with running `python` and then just ... typing commands. I wouldn't teach them if __name__ == __main__ until later on. Same reason. Unnecessary complexity for the kind of work they're doing. When you start wanting to configure CI on Jenkins (not TFS, because TFS handles all this for you, too), then the command line has any value for C#, imo.
- tracker1 6y agoAnd if you're targeting Docker deployments on Linux? Or have developers on Linux or MacOS laptops?
- t-writescode 6y agoSure doesn't sound like beginner C# questions at this point, eh?
- mikeyjk 6y ago
- manigandham 6y agoHave you tried the dotnet site: https://dotnet.microsoft.com/ https://dotnet.microsoft.com/ It explains everything, including how to get started for every scenario, and answers to every question in all of your comments here.
- void_mint 6y agoIf the argument being made is ".NET isn't a language", and the response is "okay, then how do I install C#?" Linking the dotnet website probably doesn't advance the idea that C# and .NET aren't tied together.
- nizmow 6y agoHow do you install Java? First thing you'd do is download the JDK. Is the JDK a language? No, it's not.
- manigandham 6y agoThat's a fact, not an argument. And who said that C# and .NET aren't tied together? You install the runtime/SDK to get started with the overall environment, similar to many other programming stacks.
- kaba0 6y agoBooks. I don’t understand this recent move to videos/blog posts. They are pretty much terrible as a base for a new language/platform, and often say incorrect informations. A not too old (~2-3 years) book on the topic will explain everything in an easy to digest way, and it is much more likely that the author actually knows what he/she talks about.