Jump to ratings and reviews
Rate this book

Programming C# 12: Build Cloud, Web, and Desktop Applications

Rate this book

873 pages, Paperback

Published July 16, 2024

3 people want to read

About the author

Ian Griffiths

26 books8 followers

Ratings & Reviews

What do you think?
Rate this book

Friends & Following

Create a free account to discover what your friends think of this book!

Community Reviews

5 stars
0 (0%)
4 stars
1 (25%)
3 stars
1 (25%)
2 stars
2 (50%)
1 star
0 (0%)
Displaying 1 of 1 review
Profile Image for John France.
21 reviews
February 24, 2026
I felt this book, despite its comprehensiveness, suffered from a confusion over who its audience was and was ultimately much less useful than I hoped.

When you write a technical manual like this you are usually targeting either developers of another programming language trying to learn C#, or C# developers who want to deepen their understanding. This book feels like it’s trying to do both while effectively doing neither. On one hand it feels like it already assumes the reader is essentially comfortable with basic C#, as you would if it was the latter kind of work, but then does spend basically all its kind expositing features, rather than giving advice.

I appreciate that it does cover more advanced language features like parallelism, concurrency, RX, and LINQ, but given that the subtitle says “programming for desktop, web, and cloud” I probably would have traded the chapter on RX for one on ASP.NET or WPF, since those are both non-obvious and common uses of the language, more so than RX is. Still the breadth is clearly the strongest aspect of this book.


If you can borrow this from an academic library (as I have) it’s worth checking out, but buying absolutely should be avoided for its extreme price of >$100 CAD.


Edit: I’m again working with this book and I really have to emphasize how often the author uses material from later chapters in earlier chapters in a way which makes it very difficult to understand anything. Two specific examples I was just trying to work through:

- In the section on Types there is ton of use of Generics, when Generics are themselves a later chapter.

- In the chapter on Delegates, especially the section on lambda functions is extensive use of LINQ examples where again LINQ is a later chapter.

This second case is particularly frustrating because while lambda functions are integral to LINQ they are their own topic, and presenting them within a LINQ context in the chapter before LINQ proper is very sloppy makes for educational material which isn’t very generally useful.

This sort of foreshadowing happens everywhere in this book, where material bleeds into the proceeding chapter, giving you a clean exposition of nothing.
Displaying 1 of 1 review