I think it makes sense to first teach problem solving and logic from an early age, then maybe touch a little on actual programming later on.
Yes, programming may not be useful to most people, but problem solving, however, is. The ability to break a seemingly insurmountable problem into a number of smaller feasibly possible problems is an incredibly valuable skill. Then at a later stage, maybe mid-secondary school, a short programming project could be introduced, drawing from the skills learned in Logic and Problem Solving lessons. Those who become interested in programming are then encouraged to continue learning to program and those who aren't still have the skills learned in Logic and Problem Solving that they can apply across a vast number of careers.
Yes, programming may not be useful to most people, but problem solving, however, is. The ability to break a seemingly insurmountable problem into a number of smaller feasibly possible problems is an incredibly valuable skill. Then at a later stage, maybe mid-secondary school, a short programming project could be introduced, drawing from the skills learned in Logic and Problem Solving lessons. Those who become interested in programming are then encouraged to continue learning to program and those who aren't still have the skills learned in Logic and Problem Solving that they can apply across a vast number of careers.