Simple answer, there would be far too many spelling mistakes and they would be blamed on that fictitious person “someone else”
Why? Because coding style can be very much down to the individual and can get very esoteric very fast. And it takes a special kind of computer professional to a) analyse esoteric code and b) communicate any drawbacks to the coder.
A small knowledge of coding can be just enough to make the coder dangerous, in that they can lack the vocabulary needed to understand how code actually works and can get very defensive when you try to explain to them why their “great idea” will not work (especially if they are your customer and in a non-technical role). I have lost count of the number of users who claim the failure to understand my technical rebuttal is my problem in presentation, not their limitation in skill. (and me with 25+ years coding, and various awards and internal recognition).
If you want to teach coding, stick to small tasks with very specific goals and restrictive practices, and most importantly reinforce the narrow scope of the knowledge being passed on.
Jeez that Dropbox guy looks depressingly young
Because the teachers don’t know how. Also, learning how to program teaches you how to think, but only in a certain way.
One of our programmers was found dead in his shower with cold water streaming all over him, an empty shampoo bottle and his fingers worn down to the bones. The instruction on the shampoo bottle was “Lather, rinse, repeat”
I’m a programmer and I can definitely recommend it!
Among other things, it helps you to think logically (mind you, I think that way anyway, being an aspie….. ;) )
It’s also great to poke around with several different programming languages, including “functional-programming” languages like Haskell.
Haskell can blow your mind. Because it uses “lazy evaluation”, you can do things like defining infinite lists.
If you love to see elegance in a prog. language, Haskell (and Python) are hard to beat.
This blog is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Unported License.
Design by cre8d