How to interpret C#/.NET documentation
Hello everyone, I am new to C#, and I would like to know the fundamentals about C# documentation and how to interpret it. I mean, .NET/C# documentation available on the Microsoft Learn platform is not always crystal clear. Documentation is indeed very intricate and full of links/referrals. Usually stackoverflow is the way to go. But are there any tutorials, courses, handbooks about how to interpret the documentation? I am convinced that a one-hour video would be enough to cover all the major aspects of documentation so that every beginner can already start to read it proficiently.
36 Replies
$helloworld
Not so much on how to interpret documentation, but if you are completely new to programming and/or c#, you may have a hard time understanding docs until you learn some
Got an example of a specific doc page you had trouble understanding?
yeah i wouldn't expect a beginner in programming to get a lot of value out of technical documentation
usually better to use resources that cover the basics in a more guided way
ya i'd guess anyone new will have trouble with docs until they get the fundamentals down at least
Beware of stack overflow. It often has all sorts of bad information.
I know the fundamentals of OOP, and I know other languages which are mainly involved in scripting. When it comes to object oriented programming and writing an entire application...it is very different from writing simple scripts for data analysis with languages such as Python or R. I consider Object Oriented programming way harder than just scripting.
You don't have to do OOP.
I write lots of C# code and very little of it is what I would consider object oriented.
Yes, you have a good point, but in the C# course I attended, and the Java course that I am going to attend, classes and objects go hand in hand. In scripting languages such as Python, you can avoid objects if the purpose is relatively simple. But there must be 10 to 20 fundamental articles that can pave the way to correct interpretation of C# documentation. One of these articles could be this one for example (https://learn.microsoft.com/en-us/dotnet/standard/generics/) this is about "Generics" . Just grouping a bunch of these beginner articles would be very beneficial for beginners, in order to understand what the compiler is actually doing.
Generics in .NET - .NET
Learn about generics in .NET. Define & use generics, learn their advantages & drawbacks, understand class library & language support, and more.
beginners don't need to know what the compiler is doing
there's a good chance they don't have much understanding of what a compiler even does
I can't believe that generic article uses
LinkedList<string>
as an example.
Nobody uses LinkedList<T>
in .NET programming 😄i'm still waiting for a good reason to use a linked list in a production application
they were so hyped up in college
On modern hardware you almost never want linked lists over more cache-friendly data structures.
exactly
(sorry to jump in, this isn't related to the question but to the talks :C.... ) in real-life, linked lists are almost never used? We always use hash tables?
we use arrays
ah, this is a question of efficiency?
yes
but it depends, no? Like for insertion etc ?
everything depends eventually
If possible, start with well written books that lay out the contents in an organized way. My personal book list only contains "Effective C#" and "CLR via C#" as I was already self taught through projects. There might be more suitable books for beginners but I don't know.
MSDN/Microsoft Learn contents are more for reference purposes IMHO, so you won't be able to interpret them unless you are very familiar with the basics.
That's exactly what I was thinking. It is the best option in order to have a clue about all these classes and sub-classes and so on and so forth.
CLR via C# is a great book but it's definitely not remotely for beginners 🙂
Also a bit dated now.
Another good book could be "C# in Depth" by Jon Skeet. Sorry guys, maybe with the Generics article I picked the wrong example. It was just to show that there is a need to understand the hierarchy of all these classes.
But "Book of the Runtime" isn't truly a book yet https://github.com/dotnet/runtime/blob/main/docs/design/coreclr/botr/README.md 😅
I'd buy a print copy 😉
If your goal is to better know the BCL other than the runtime itself, I think it is hard to find good books/tutorials specific to that area. Try to build certain kinds of apps and that might help. Modern AIs are also possible to guide you through certain namespaces.
C# In Depth is excellent. Also not a beginners book however.
Of course, AI has become a fundamental tool in debugging and coding, especially for simple tasks. But it is also a double edged sword, if you use it on a consistent basis, it will turn from a crutch to a wheelchair, basically hurting the novice programmer. You will become dependent on it. But I am wondering how the old school programmers actually dealt with technical documentation. I mean...they must have been way better than modern programmers.
nobody doing any real programming work will become dependent on AI, it's inadequate for a lot of tasks
as a way to search through information and get some general ideas, sure
You might simply use them as better search engines and ask them to show you the exact references you need to visit. That helps you save quite a few hours navigating through Microsoft Learn.
Old school programmers were working under much more constrained environments. The amount of things available to know was also a lot smaller. It's hard to compare programming from 25+ years ago to today.
Yes, I agree. The quality of modern search engines is trash nowadays....There has been a huge drop in the quality of search results for most of the search engines.
I use Bing for search pretty much exclusively and the results in my experience have only gotten better over time.
i haven't noticed issues with google
the search engine itself works fine, there's just more AI generated slop to filter out
That is interesting. I have never really tried bing. I've always used Google and Duckduckgo. It seems that the drop in the quality of the search results is related to the fact that these results are AI filtered themselves.