I have programs I wrote when I was 7 (at the latest, that is just the last file modification time). Nobody taught me logic beforehand. You internalize logic by playing with it. My dad just gave me a programming book (Getting Started with COLOR BASIC, for the TRS-80), & a while later (a year, a few years, I do not remember) I was to the point where he could no longer help me (despite done some programming in college). I also feel that a significant portion of my worldview has been influenced by learning about programming & computer hardware from an early age.
Even if you do not understand a specific mechanical or electronic device (or even biological mechanism), understanding the general principles of automation helps tremendously both with fixing things when they are broken & not getting taken for a ride by snake-oil salespeople. I wonder what effect teaching most kids programming might have more generally in life, beyond just interacting with computers. It might even help teach kids how to learn new things, rather than just learning what they are explicitly taught (although granted, that might require some pretty good educators).