I think everybody should learn to code at school when they're kids. That way, they can decide if they want to become real programmers/software-engineers or something else.
Just as every kid learns mathematics does not mean he/she has to become a full-fledged PhD researching manifolds in Topology. But they still need to know how to calculate percentages, basic statistics etc to get through life more easily.
In the same way, giving instructions to a computer the "hard" way instead of via clicking on buttons and letting magic happen is often a good exercise to appreciate the power and freedom it gives you. I remember doing this when I was 9 or 10 and doing locate, print, cls repeatedly in a BASIC loop let me create an animation I could control quite precisely (well no, CPU cycles came into play!)
But that's the precise reason, 18 years on, I delve into programming GPUs, wrote games with advanced Direct3D shaders for them and am currently wrting OpenCL code to solve complex equations on them.
Just as every kid learns mathematics does not mean he/she has to become a full-fledged PhD researching manifolds in Topology. But they still need to know how to calculate percentages, basic statistics etc to get through life more easily.
In the same way, giving instructions to a computer the "hard" way instead of via clicking on buttons and letting magic happen is often a good exercise to appreciate the power and freedom it gives you. I remember doing this when I was 9 or 10 and doing locate, print, cls repeatedly in a BASIC loop let me create an animation I could control quite precisely (well no, CPU cycles came into play!)
But that's the precise reason, 18 years on, I delve into programming GPUs, wrote games with advanced Direct3D shaders for them and am currently wrting OpenCL code to solve complex equations on them.
It's all because of the locate, print, cls loop!