Rob Pike quotes:
-
When Steve Jobs died last week, there was a huge outcry, and that was very moving and justified.
-
Web servers are written in C, and if they're not, they're written in Java or C++, which are C derivatives, or Python or Ruby, which are implemented in C.
-
Object-oriented design is the roman numerals of computing.
-
To write a kernel without a data structure and have it be as consistent and graceful as UNIX would have been a much, much harder challenge.
-
You have to make a decision whether it's a new product or you integrate it with an existing product. It takes time to work these things out.
-
Using Unix is the computing equivalent of listening only to music by David Cassidy.
-
The process of software development doesn't feel any better than it did a generation ago.
-
Narrowness of experience leads to narrowness of imagination
-
Productivity is most important by engineering management rules, but enjoyment is most important for engineers. One stems from the other.
-
Caches aren't architecture, they're just optimization.
-
Dynamic typing is not necessarily good. You get static errors at run time, which you really should be able to catch at compile time.
-
A smart terminal is not a smartass terminal, but rather a terminal you can educate.
-
Not only is UNIX dead, it's starting to smell really bad.
-
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
-
There's no such thing as a simple cache bug.
-
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.
-
Eventually, I decided that thinking was not getting me very far and it was time to try building.
-
Languages that try to disallow idiocy become themselves idiotic.
-
Procedure names should reflect what they do; function names should reflect what they return
-
There's nothing in computing that can't be broken by another level of indirection.
-
Sockets are the X windows of IO interfaces.
-
Pretty much everything on the web uses those two things: C and UNIX. The browsers are written in C. The UNIX kernel - that pretty much the entire Internet runs on - is written in C.
-
We don't believe we've solved the multicore-programming problem. But we think we've built an environment in which a certain class of problems can take advantage of the multicore architecture.
-
Go is an attempt to combine the safety and performance of statically typed languages with the convenience and fun of dynamically typed interpretative languages.
-
If POSIX threads are a good thing, perhaps I don't want to know what they're better than.
-
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.
-
When there is no type hierarchy you don't have to manage the type hierarchy.
-
Why would you have a language that is not theoretically exciting? Because it's very useful.