The best teacher I had in graduate school spent the whole semester destroying any beliefs we had about computing. He was a real iconoclast. He happened to be a genius, so we took it. At the end of the course, we were free because we didn’t believe in anything. We had to learn everything, but then he destroyed it. He wanted us to understand what had been done, but he didn’t want us to believe in it.
– Alan Kay
Here are some talks which have given me new insight into programming, and in particular what good programming is and isn’t.
Mike Acton: Data-orientated Design
Setting the record straight on three big lies:
- Software is the platform
- Code should be designed around a model of the world
- Code is more important than data
Jonathan Blow: How to program independent games
One of the most important metrics to optimize for is hours of your life spent programming something. You have a finite amount of hours in your life after all, which you’d surely like to spend on other things too.
Eskil Steenberg: How I program in C
In the beginning all you want is results, in the end, all you want is control
Rich Hickey: Hammock Driven Development
Your most powerful problem solver is your subconscious mind.
Rich Hickey: Simple Made Easy
Simple is not the same as easy. Don’t confuse them.
Brian Will: Why OOP is Bad
Almost everything that’s interesting in a non-trivial program are ‘cross-cutting’ concerns. When faced with the reality of real word programs, promises of encapsulation tend to be broken, and object graphs quickly become tangled webs.
Abner Coimbre: What Programming is Never About
The emphasis of programming should be on solving problems, and not on the code itself.
Scott Meyers - CPU Caches and Why You Care
Iterating over a two dimensional array by row is much faster than by column.
Jeff and Casey Show: The Evils of Non-native Programming
We always hear arguments for Garbage Collection, and Virtual Machines, but what about the counter arguments?
Jeff and Casey’s Guide to Becoming a Bigger Programmer
A strong emphasis on being a critical thinker, and making sure that the code practices that you adopt actually benefit you.
Hadi Hariri: The Silver Bullet Syndrome
A depressing tour of the software industry, and it’s quest for the silver bullet.