In defense of complicated programming languages
I remember first encountering classes. I simply could not understand what they were from reading the documentation. Later, I picked op Bjarne&#x27;s C++ book, read it, and could not figure out what classes were, either.<p>Finally, I obtained a copy of cfront, which translated C++ to C. I typed in some class code, compiled it, and looked at the emitted C code. There was the extra double-secret hidden &#x27;this&#x27; parameter. Ding! The light finally went on.<p>Years later, Java appears. I couldn&#x27;t figure that out, either. I thought those variables were value types. Finally, I realized that they were reference types, as they didn&#x27;t need a *. I sure felt stupid.<p>Anyhow, I essentially have a hard time learning how languages work without looking at the assembler coming out of the compiler. I learn languages from the bottom up, but I&#x27;ve never seen tutorials written that way.