Current C# Books

C# Books

I recently purchased a few books on the C# programming language. I wanted to be as up-to-date as possible, so I tried to find books covering the latest version, which as of November 2022, is version 11. So far, I only found one book covering C# 11, written in a way that I actually like. The following books are currently my favorite books on this growing language.

TitleReleasedC# Version
C# 11 and .NET 7 by Mark J. PriceNovember 202211
Real-World Implementation of C# Design Patterns by Bruce M. Van Horn IISeptember 202210
The C# Workshop by Jason Hales, Almantas Karpavicius, Mateus Viega September 202210

Keeping up-to-date with software versions must be a difficult task as languages such as C# are updated annually. Fortunately the basics of computer programming languages don’t change too much if at all. The above-mentioned books in conjunction with the Microsoft documentation should be all I need to learn this language.

Often when I visit online forums and message boards, I see posts from other learners asking for book recommendations. They are usually met with the tired old response that they don’t need books and they should just watch YouTube videos and/or read the Microsoft/React/Node/etc. documentation.

What these people fail to realize is that some of us find great value in actually reading books. I use a variety of sources whenever I learn something. I watch YouTube videos, purchase Udemy courses, read official documentation, and read books. Books are especially great for going into detail and are very handy to read while doing mundane tasks such as commuting to work.

The abovementioned books may be purchased at Amazon or the publisher’s website, Packt Publishing.

Deeper into the Coding Hole

Photo by Kevin Ku from Pexels

I keep falling deeper and deeper into coding madness. This week, I started to learn C#. As if coding in VBA, JavaScript, Java, and Kotlin weren’t enough. Thankfully, knowledge of one language makes acquiring other languages much more palatable. The concepts remain the same, but syntax may differ in places.

It’s actually quite fun and intellectually stimulating to dig into a new language. I particularly enjoy discovering the syntactic similarities between languages, as it helps reinforce my understanding of core programming concepts. Even though the languages may look different on the surface, underneath they share many fundamental building blocks.

We are finally retiring the use of VBA at our workplace after many years of use. VBA was only ever used for two small helper applications for our internal staff. For the past 4 years, I was the sole maintainer of that VBA code. While I am happy to see VBA go from our company, I must give it props for inspiring me to get back into programming after a long hiatus.

My journey back into VBA was born out of my love for making complex Excel spreadsheets using advanced functions and macros. A colleague introduced me to VBA which opened up many more features and functionality compared to Excel formulas alone.

Around that time, I was also asked to help update our aging company intranet site. I had not done any web development work in ages, so I was excited but also intimidated. Web development has changed so much since I last dabbled in HTML and CSS many years ago. The rise of JavaScript has made the web a totally different beast compared to the static sites of old.

To work on the new intranet, I had to start learning JavaScript from scratch. I took some online courses and tutorials and began building simple projects and apps for myself outside of work. Despite its many quirks, I fell in love with JavaScript. I particularly enjoy how quick and easy it is to just jump in and start coding without a heavy IDE. The instant feedback loop of writing, testing, and debugging JavaScript code is highly gratifying.

These days most of my coding time is spent working on React JS and Node JS. I have come to really enjoy using React to create fast, dynamic single page apps. Combining it with Node on the backend opens the door to full stack JavaScript web development. I was recently introduced to Next.js, a popular React framework, so I enrolled in a Udemy course to level up on that.

Next.js provides an opinionated structure for building server-rendered React apps, which helps improve performance and SEO. The automatic code splitting and easy routing are also nice features that remove some typical pain points when working with React. I’m excited to build a couple projects using Next after I finish the course.

Last week, I decided to dive into learning C# since we use it extensively at my job. So far I am really liking the language – its syntax feels comfortable coming from Java and JavaScript. I flew through an introductory tutorial and also bought a highly-rated Udemy course to study.

Despite dabbling across so many languages these days, JavaScript remains my core focus, with C# being a close second. I don’t plan on jumping around randomly to new languages, but rather aim to go deeper on those two for the foreseeable future.

Again, I apologize for not posting super often lately. I do plan to write more as interesting topics arise in my self-learning journey. Wishing you well, and happy coding!