Explore popular quotes and sayings by a Canadian author Rob Pike.
Last updated on November 21, 2024.
Robert "Rob" Pike is a Canadian programmer and author. He is best known for his work on the Go programming language and at Bell Labs, where he was a member of the Unix team and was involved in the creation of the Plan 9 from Bell Labs and Inferno operating systems, as well as the Limbo programming language.
Go is an attempt to combine the safety and performance of statically typed languages with the convenience and fun of dynamically typed interpretative languages.
We're systems software people ourselves. We wanted a language to make our lives better.
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.
The process of software development doesn't feel any better than it did a generation ago.
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.
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.
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.
When Steve Jobs died last week, there was a huge outcry, and that was very moving and justified.
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.
Dynamic typing is not necessarily good. You get static errors at run time, which you really should be able to catch at compile time.
Not only is UNIX dead, it's starting to smell really bad.
Fancy algorithms are slow when N is small, and N is usually small.
Eventually, I decided that thinking was not getting me very far and it was time to try building.
Narrowness of experience leads to narrowness of imagination
Languages that try to disallow idiocy become themselves idiotic.
Caches aren't architecture, they're just optimization.
Productivity is most important by engineering management rules, but enjoyment is most important for engineers. One stems from the other.
There's no such thing as a simple cache bug.
When there is no type hierarchy you don't have to manage the type hierarchy.
Sockets are the X windows of IO interfaces.
A smart terminal is not a smartass terminal, but rather a terminal you can educate.
Why would you have a language that is not theoretically exciting? Because it's very useful.
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
Object-oriented design is the roman numerals of computing.
There's nothing in computing that can't be broken by another level of indirection.
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.
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.
Using Unix is the computing equivalent of listening only to music by David Cassidy.
Procedure names should reflect what they do; function names should reflect what they return