I hope everyone is having a great day. I want to start learning C# and I was wondering if any of you have any recommendations for a beginners book. One of the first questions that I have is which version of C# is Grasshopper using? I’m guessing that the changes from version 3.0 to 4.0 to 5.0 are practically non-existent for beginners, but it gets really frustrating when you are learning a new language and you get an error and this might be due to the version you are running (python is a good example). I am looking for the basics (list, loops, if statements… ), so if any of you have any suggestions please let me know.
I Totally Agree! As a self-taught Python fan (3 years in) I endorse this method.
Also look for some quick wins early on - simple tasks you can automate and code LOTS. I also did some online coding challenges and read other people’s solutions. I learned a lot about efficient code and efficient coding (not the same thing) this way. I have a lot more to learn…
If you are a beginner, my recommendation for you to read C# by Nathan Clark. It is a book of programming basics for absolute beginners. This comprehensive beginner’s guide will take you to step by step through learning one of the best programming languages out there. If you read it carefully, you will learn-
Basics of C#
Writing Your First Program, Step-By-Step
Basic Program Structure
How to Use a Compiler
Which IDE to Choose
Capabilities of C#
Sample Applications
It was very helpful for me when I was a beginner. I hope you will also be benefited with this book.
It isn’t free, but it’s interactive which means that you do exercises and small projects while going through the lessons, and honestly - at least for me - there’s no better way to memorise stuff.
Of course there are lots of great and free resources online.
It’s funny that they forgot to mention Desktop App Development, which is the most important feature of this language. It definitely makes a difference on what you are coding. This also determines the educational source.
C# has a very large standard library and knowing how to use it, is as important as learning to write code. Even more important in my opinion… Knowing how things should work is something you only learn over time and practice! Knowing Asp.Net doesn’t help you with writing WPF MVVM GUIs and vice versa. It definitely helps to know more than one technology.
Unfortunately the older a language gets, the more obsolete technologies and best-practices you find, and recently C# tends to become the new C++ in terms of “readability”. So C# is definitely harder to learn in 2021 as in 2011…
Most books I own are not super useful. One of the better (intermediate) books I own are:
“Concurrency in .NET: Modern patterns of concurrent and parallel programming”
(ISBN 978-1-617-29299-6)
If you are into WPF and you understand German:
“WPF 4.5 und XAML” from Dr. Holger Schwichtenberg (ISBN 978-3-446-43467-7)( It’s a very precise and complete book about that topic, and a very practical source also for beginners.)