During the debrief of Steve Freeman‘s Paradigms of Programming: Hands On workshop an interesting side discussion emerged about the origins of object oriented programming. Steve’s quote of Ivan Sutherland struck a chord:
Ivan Sutherland invented the graphical user interface and the lightpen, as well as object oriented programming (he talked about “hens and chickens” instead of objects, a bit more poetic ). I found the quote Steve mentioned on Wikipedia:
“How could you possibly have done the first interactive graphics program, the first non-procedural programming language, the first object oriented software system, all in one year?” Ivan replied: “Well, I didn’t know it was hard.”
I’m not sure whether Steve and Michael Feathers (his co-host who was stuck in the USA) intended to have ‘creating a programming language is not hard, as long as you don’t think about it’ as a feature of the workshop, but thinking about it afterwards, every single one of us participated in the design of no less than four programming languages in the space of a few hours! Armed with nothing more than pens, papers, peers and a high level description of the language features we managed to create programming languages that were expressive enough to solve the problem at hand. To be fair, we created examples of programming languages and reasoned about how the examples would run in our programming language. But still, the process felt pretty fluid.
Some things, like designing a programming language are hard, if you think about them a lot. I recently wanted to do more with drawing, as developing and communicating ideas visually is often a lot more effective than working with words alone. I started to ask people who were facilitating with visuals (Rachel Davies, Serge Beaumont) or drawing comics (Chris Matts) how they went about it, and I got a few books on drawing. The overall feeling I took away from it, is that it is easy, as long as you don’t believe that it is difficult; drawing doesn’t have to be hard, as long as you don’t believe it has to be art.
What are the things you are doing that other people believe are hard, while you do it easily? What are the things you believe to be hard, that might be easy if you just stopped thinking about it?
Sutherland, Ivan Sketchpad: A man-machine graphical communication systemPDF (3.90 MiB), Ivan Sutherland’s PhD Thesis.
Betty Edwards, Drawing on the right side of the brain