Programming is a process by which an idea, expressed in the form of an algorithm, is translated from paper to a language which can be interpreted by a machine. The language used is somewhat immaterial – at the end the “code” is transmogrified into machine language. The machine doesn’t give a hoot about the language – it just follows whatever instructions are given – good or bad. But programming is more than just writing code – programming is a process that involves mental engagement. Programs are only as good as the people who program them. And so there is no “magic” to programming. Things don’t “just happen”. If you don’t understand how something works in the program you are writing, then you won’t end up with a robust program.