“Try as much as possible to be wholly alive, with all your might, and when you laugh, laugh like hell and when you get angry, get good and angry. Try to be alive. You will be dead soon enough.”
― William Saroyan
We ascribe beauty to that which is simple,
which has no superfluous parts;
which exactly answers its end,
which stands related to all things,
which is the mean of many extremes.
– Ralph Waldo Emerson, The Conduct of Life
“Ideas not only guide work, but also help defend our designs (by providing reasons for choices) against arbitrary taste preferences.”
– Edward Tufte, Envisioning Information
Many professions require some form of computer programming. Accountants program spreadsheets and word processors; photographers program photo editors; musicians program synthesizers; and professional programmers instruct plain computers. Programming has become a required skill.
Yet programming is more than just a vocational skill. Indeed, good programming is a fun activity, a creative outlet, and a way to express abstract ideas in a tangible form. And designing programs teaches a variety of skills that are important in all kinds of professions: critical reading, analytical thinking, creative synthesis, and attention to detail.
We therefore believe that the study of program design deserves the same central role in general education as mathematics and English. Or, put more succinctly,
|everyone should learn how to design programs.|
I think not being able to program is comparable to being an adult and still drawing at child’s level. You are unable to express your ideas. As Steve Job’s said, “A computer is a bicycle for the mind.”