As Douglas Rushkoff explains in Program or be Programmed, programming is a new literacy that ought to be mastered if you care about taking a part in directing our culture.
To those who already program, it can sometimes seem odd that the number of people learning this vital skill is so small: after all, basic programming is not very hard. The catch is, programming as a skill is deeply embedded in a larger ecosystem, referred to as programming culture. To learn how to program is not just to learn how loops and variables work, but also how to navigate this culture.
Like any culture there are biases in programming culture, and these can make learning how to program more difficult than strictly necessary. As a designer, there are certain biases that are especially remarkable. One of them is the way how text-based interfaces are in favour:
Whereas everyone else is traipsing around picking dazzling fonts to describe their world, your nerd has carefully selected a monospace typeface, which he avidly uses to manipulate the world deftly via a command line interface while the rest fumble around with a mouse. ( http://www.randsinrepose.com/archives/2007/11/11/the_nerd_handbook.html )
This talk will highlight a number of ways in which the text-oriented view of traditional programming clashes with the visually oriented way of thinking of designers. It shows how text based thinking can enhance a design process, but also goes into how a bias towards text-based approaches can stifle the development process of software, and make programming less accesible to new audiences. It shares lessons learned from the process of learning to code as a designer, and subsequently teaching code to design students. It concludes with how developments in Libre Graphics software can mitigate between these two paradigms.”