C++20 for Lazy Programmers

C++20 for Lazy Programmers

 Surely there’s no shortage of C++ intro texts. Why write yet another?

 I’m glad you asked.

 Ever since moving from Pascal to C++ (back when dinosaurs roamed the Earth), I’ve been underwhelmed by available resources. I wanted something quirky and fun to read, with sufficient coverage and fun examples, like the old Oh! Pascal! text by Cooper and Clancy. Even a perfectly accurate text with broad coverage gives you nothing if you fall asleep when you read it. Well, nothing but a sore neck.

 But the other reason, of course, is to promote laziness.

 We all want our projects to be done more quickly, with less wailing and gnashing of teeth. Sometimes, it’s said, you have to put your nose to the grindstone. Maybe, but I like my nose too well for that. I’d rather do things the easy way.

 But the easy way isn’t procrastinating and dragging my feet; it’s to find something I love doing and do it well enough that it feels relatively effortless. It’s producing something robust enough that when it does break down, it tells me exactly what the problem is, so I don’t have to spend a week pleading with it to explain itself. It’s writing code that I can use again and again, adapting it to a new use in hours instead of days.

 Here’s what you can expect in this book:

  •  A pleasant reading experience.
  •  Adequate coverage.
  •  Games, that is, use of the SDL (Simple DirectMedia Layer) graphics library, which makes it easy to get graphics programs working quickly. It isn’t fair that Python and Visual Basic should get all the eye candy.1 The SDL library is used through Chapter 12. After that, we’ll mostly use standard I/O, so we can get practice with the more common console programs.
  •  An easy introduction to SDL’s graphical magic, using the SSDL (simple SDL) library (see below).
  •  Sufficient examples—and they won’t all be about actuarial tables or how to organize an address book. (See “A pleasant reading experience” above.)
  •  Antibugging sections throughout the text to point out common or difficult-to-trace errors and how to prevent them.
  •  For g++ programmers, instructions on using g++, the ddd/gdb debugger system, and Makefiles; for Visual Studio, use of the debugger and project files.
  •  Compliance with C++20, the latest standard, and the goodies it provides.
  •  Hands-on experience with advanced data types like strings, stacks, vectors, and lists – not by reading about them, but by building them yourself.
  •  An appreciation of laziness.
  • A cool title. Maybe I could have tried to write a “For Dummies” book, but after seeing Bioinformatics for Dummies, I’m not sure I have what it takes.

If you liked this book, share it with your friends, thus you help us develop and add more interesting and necessary books for you!