Kids should be taught programming. But not with the purpose of writing computer programs.
Instead they should learn programming to develop a new way of thinking – concepts such as iterations, use of variables, reusable blocks, error handling to refine the solution. To give them a powerful tool to simulate real life and refine their mental models. To allow them to visualize outputs in interesting ways than just drab equations.
Can we unteach physics or math or biology or even languages thru programming?
Does programming offer a safe and a low cost way to fail in the journey of solving a problem?
Will programming develop abstraction of ideas and their implementation?