Appendix A. Reading C++ for Python Programmers
The examples in this book are all presented in C++. That’s the language I do most of my programming in, and it’s the language I’m most proficient in. That said, I’ve written a reasonable amount of Python, too—it’s the second-most used programming language at Sucker Punch. At the moment, we have about 2.8 million lines of C++ in our codebase and about 600,000 lines of Python.
If you’re a Python programmer, you don’t need to learn how to program in C++ in order to read the examples in this book. Code is code, basically—a loop is a loop, variables are variables, and functions are functions. There are some cosmetic differences, but the basic ideas in this book’s C++ examples translate pretty directly to Python, even when that translation isn’t immediately obvious!
This chapter is about explaining the translation. You won’t be able to write C++ code after working your way through this appendix—that’s at least a whole book’s worth of content—but you should be much more capable of reading it.
Types
Nothing like an example to show how straightforward reading C++ can be for a Python programmer! Here’s a simple function that calculates the sum of an array of numbers, first in Python:
defcalculateSum(numbers):sum=0fornumberinnumbers:sum+=numberreturnsum
And then in C++:
intcalculateSum(constvector<int>&numbers){intsum=0;for(intnumber:numbers)sum+=number;returnsum;}
It’s the same code, right? There’s some ...