- .NET website (https://dot.net) - High level info on different workloads, 5 minute in-browser tutorials, links to live shows and community
- MS Learn (https://aka.ms/mslearn-dotnet) - Interactive tutorials with learning paths built from 30ish minute learning tutorials
- Docs (https://aka.ms/msdocs-dotnet) - More in-depth documentation on specific tasks and features, e.g. API documentation, performance optimization, security guidance, etc.
While you can go directly to any of them, the dot.net site will link you to Learn modules that will link you to docs, so hopefully you can start on the dot.net site and it will help you find the right place.
One thing I really like (and I'm totally biased because I've helped set it up) is https://live.dot.net. Those are all our live shows with the PM and dev teams. We've got a show every day of the week, and there's always really good Q&A in the chat.
I guess this is as good of a chance as I'm gonna get - the docs experience in non-anglosphere countries is dreadful, the website keeps pushing a localized version with absolutely garbled machine translations which are never going to be even passable for technical documentation. It's just a completely miserable experience without the "FFS MSDN" browser extension.[1][2]
At least that was the situation a year or so ago - all my computers are now 100% English locale so I have no quick way to check.
Just let us use the website in English.
[1]: https://addons.mozilla.org/en-US/firefox/addon/ffs-msdn-in-e...
[2]: https://chrome.google.com/webstore/detail/ffs-msdn-in-englis...
Indeed ridiculously annoying though. For some reason, Google also started to show the titles of English-language YouTube videos in machine translated German for me, usually completely garbling the meaning - and the video is in English anyway! It's not like I could watch it if I didn't already understand the original title!
Who would have thought that managers in primarily monolingual cultures (i.e. the US) don't understand the actual needs of an international, polyglot audience? The techbro-ism behind these decisions is palatable. "That's a technological solution to what I, without actually asking any of the people affected, imagine to be a problem, so it must be good, right? I mean, it has ML?"
If you like functional languages or would like to try it, give it a whirl!
https://dotnet.microsoft.com/learn/languages/fsharp-hello-wo...
If you use vscode, highly suggest to use Ionide extension. You’ll be quickly amazed at how smooth it all works.
* [<Extension>] methods vs `type X with member ...` extensions
* let-bound functions vs static methods vs instance methods
* operator overloads vs let-bound operators
* curried functions vs multi-parameter functions
* modules vs static classes
* `exception MyError of string` vs `type MyErrorException(msg) inherit Exception(msg)...`
* polymorphic data: interface vs abstract class vs discriminated union
* Async vs Task
* seq { ... } computation expression vs chain of Seq module operations vs. LINQ methods
* Option vs Nullable vs Result
* Statically resolved generic vs runtime generic (`^a` vs `'a`)
* `for i = 0 to 10` vs `for i in 0..10`
* `upcast` vs `:>` and `downcast` vs `:?>`
* `function` vs `fun x -> match x with`
* .fsi files and the syntax for declarations in them
* `let mutable` and `<-` vs `ref` and `:=`
* sprintf vs interpolated strings with "%d"-style format specifiers vs interpolated strings with FormattableString format specifiers vs String.Format
* Code quotations vs linq-style Expression<Func<...,...>>
I am very comfortable with F# today and feel I have a solid grasp on how I like to do things. But when I was introduced to it, I was a little overwhelmed, even though I already had familiarity with C# and with Haskell.
* let
* discriminated unions
* records
* lists
* seq
* async
* fun
Like all languages people actually use, F# has a long tail of advanced features!Then later learn F# because it's absolutely kick ass :)
Joe Albahari has had to work with just about every feature in C# (he's the author of LINQPad) and it really shows in the book.
This YouTube channel is pretty good.
Or you could make some kind of REST API with ASP.NET Core or gRPC.