Thank you for suggesting a generalized benefit of learning programming. My oldest son (grown up now) is a programmer, and maybe there is something to what you say. I'm glad he had early opportunities to learn Logo, C, and Scheme as part of thoughtful computer science curricula before he finished his high school education. Anyway, I'll encourage all of my children to go beyond the programming I reached decades ago with a time-sharing terminal running BASIC back in the 1970s.
But if I think about this issue of the educational benefits of learning this or that subject on multiple levels of abstraction, I wonder if the unique benefits of learning programming are really all that unique, and really all that generalizable to domains other than programming. I raise this question as someone whose last formal higher education was in law, a domain in which I practiced for a time, before turning my attention to specific issues of policy that are not all issues that raise legal questions. As I look at public policy discussions here on Hacker News, and especially at threads in which legal issues are discussed, I don't often have the pleasant experience of seeing multiple-level abstract thinking going on in those domains. Usually the comments here on HN about public policy or law look as elementary as my comments about programming must look to any experienced programmer. Many of the best comments about law on Hacker News, perhaps to no one's surprise, come from lawyers. Maybe the ability to think really abstractly (and correctly) on multiple levels is much more domain-specific than people who have been trained and practiced in one domain but not another usually acknowledge. Maybe part of domain-specific expertise is an "ability to think at a very granular level of detail and multiple levels of abstraction simultaneously," without much transfer of that ability to other domains.
Knowing I am among learned people here who like to think, I'd be happy to hear the comments of any onlooker to this idea that learning is often stubbornly domain-specific.