I think children should program, and I think they should do it as early as possible. It's a form of mental calisthenics that when coupled with the right parent/mentor will prove invaluable in development and beyond.
In the same way that child gymnasts(or insert appropriate example) get the benefits of developing physical strength and range of motion I think child programmers can reap mental benefits.
I think most education is focused on data accumulation as opposed versatility. Usually, it is when you get to some level of advanced education that it starts to teach you how to think. I think that is backwards, but perhaps a different conversation. For example, my lawyer friends are quite proud that their law degree "taught them how to think."
What I find most exhilarating (yes, exhilarating) about programming is the problem solving aspect, which forces you to think differently. Finding comfort in patterns has a certain pleasantness to it, however, my experience is that you will eventually run in to situations that challenge your experience and expectations. For me, that's not just a benefit of programming, but a metaphor for life.
The more modes of thinking, or perspectives you possess the better you understand yourself, how you think, your strengths and weaknesses. Then you can hack yourself to improve or leverage each.
In the same way that child gymnasts(or insert appropriate example) get the benefits of developing physical strength and range of motion I think child programmers can reap mental benefits.
I think most education is focused on data accumulation as opposed versatility. Usually, it is when you get to some level of advanced education that it starts to teach you how to think. I think that is backwards, but perhaps a different conversation. For example, my lawyer friends are quite proud that their law degree "taught them how to think."
What I find most exhilarating (yes, exhilarating) about programming is the problem solving aspect, which forces you to think differently. Finding comfort in patterns has a certain pleasantness to it, however, my experience is that you will eventually run in to situations that challenge your experience and expectations. For me, that's not just a benefit of programming, but a metaphor for life.
The more modes of thinking, or perspectives you possess the better you understand yourself, how you think, your strengths and weaknesses. Then you can hack yourself to improve or leverage each.