I've seen someone describe this problem as learning the syntax of the language, but not understanding the actual problem-solving logic behind it. What can I do to better understand the art of programming in general, rather than just learning a syntax whose function I can only remember with some certainty as I read it? Is there a general, non-language-specific book I should read before going on to CPP? A book that teaches you how to code, by playing little games. Quincy Larson was a guy in a suit in an office and decided he wanted to learn to code. He started by learning a bit of Ruby and then found himself browsing other languages like Scala, Clojure and Go.
He learned Emacs, then Vim and even the Dvorak keyboard layout. He got Linux, dabbled in Lisp and coded in Python while living at the command line for more than half a year. Our interviewees didn't know where to start. The topic of technology is huge, so determining a starting point was difficult.
Most people don't know what to learn first. One person told us that he started with Java, a very popular programming language. Although it is widely used, it is difficult to learn. I know this because I have written four books on it.
The book is structured so that you learn a bit of theory, with lots of code examples, and then you are required to make a small text-based game. If you don't use an IDE, you'll probably have to learn how to run your code from the command line. I was convinced that the seemingly normal programmers I encountered were actually sociopaths who had experienced, and then repressed, the trauma of learning to code. The line between learning to code and getting paid to code as a profession is not an easy line to cross.
Learning to code has nothing to do with robots, unless you later decide to go into robotics or artificial intelligence and accidentally create a new Skynet. Students who have learned entirely on their own may be productive, but they rarely have the kind of readable, modular, maintainable code that makes them attractive in a professional environment. Learning to code is rarely as easy as people make it sound, but it is also rarely as hard as it seems in the depths of their desperation. However, this fact clashes head-on with the fact that we have to learn to be learning every day, as efficiently and quickly as possible, in order to remain relevant as web developers.
One consequence of over-orientation is that students learn syntax without learning programming concepts. Think of programming as learning a foreign language - but instead of Spanish, you learn Python, Java or C. Additionally or alternatively, your reasons for not learning to program may be as deep as your childhood.