1.
There's nothing in computing that can't be broken by another level of indirection.
Rob Pike
2.
Data dominates. If you've chosen the right data structures and organized things well, the algorithms will almost always be self-evident. Data structures, not algorithms, are central to programming.
Rob Pike
3.
Narrowness of experience leads to narrowness of imagination
Rob Pike
4.
Object-oriented design is the roman numerals of computing.
Rob Pike
5.
Fancy algorithms are slow when N is small, and N is usually small.
Rob Pike
6.
Such is modern computing: everything simple is made too complicated because it's easy to fiddle with; everything complicated stays complicated because it's hard to fix.
Rob Pike
7.
Caches aren't architecture, they're just optimization.
Rob Pike
8.
Not only is UNIX dead, it's starting to smell really bad.
Rob Pike
9.
If POSIX threads are a good thing, perhaps I don't want to know what they're better than.
Rob Pike
10.
Procedure names should reflect what they do; function names should reflect what they return
Rob Pike
11.
Eventually, I decided that thinking was not getting me very far and it was time to try building.
Rob Pike
12.
A smart terminal is not a smartass terminal, but rather a terminal you can educate.
Rob Pike
13.
Why would you have a language that is not theoretically exciting? Because it's very useful.
Rob Pike
14.
Languages that try to disallow idiocy become themselves idiotic.
Rob Pike
15.
Rule 1. You can't tell where a program is going to spend its time. Bottlenecks occur in surprising places, so don't try to second guess and put in a speed hack until you've proven that's where the bottleneck is
Rob Pike
16.
Using Unix is the computing equivalent of listening only to music by David Cassidy.
Rob Pike
17.
There's no such thing as a simple cache bug.
Rob Pike
18.
When there is no type hierarchy you don't have to manage the type hierarchy.
Rob Pike
19.
Productivity is most important by engineering management rules, but enjoyment is most important for engineers. One stems from the other.
Rob Pike
20.
Sockets are the X windows of IO interfaces.
Rob Pike