The language C++ is big. There is no doubting that. One reason C++ is big is to allow flexibility in the technique used to solve a problem. If you have a really small system you can stick to procedural code encapsulated by classes. A project with a number of similar but slightly different entities might be best addressed through inheritance and polymorphism.
A third technique is using generics, which are implemented in C++ using templates. Templates have some similarities with #define macros but they are a great deal safer. The compiler does not see the code inserted by a macro until after it has been inserted into the source. If the code is bad the error messages can be very confusing since all the developer sees is the macro name. A template is checked for basic syntax errors by the compiler when it is first seen, and again later when the code is instantiated. That first step eliminates a lot of confusion since error messages appear at the location of the problem.


A control box, [George] calls them stations, controls the power to a machine. Member badges have an RFID tag that is read when inserted into the station’s reader. If the member is authorized to use the machine, the power is enabled. For safety, the member’s badge must remain in the reader to maintain power. The reader uses a Photon board from Particle with a WiFi link to a Raspberry Pi server.






