Comment
Comment by JoshTriplett
Learning to program (at least, learning the right way) teaches important skills independent from the actual ability to program. Most importantly, it teaches the ability to abstract and see patterns. Take a look at https://rwxweb.wordpress.com/2012/01/31/teaching-algorithmic... for an example.