Thursday, June 10, 2010

The Quotable Linus Torvalds

Linus is outspoken, profound, and profoundly funny.

On message passing as an alternative to shared state (in the context of ISAs):
How do you think CPU's do cache coherency? Do you think there is a little man inside the machine that is the "cache coherency fairy"? Or do you think that it's the CPU's sending messages back and forth and keeping track of ownership? ... The message-passing proponents should be ridiculed for the fools that they are. At least until they can back up their ridiculous religion with something real. Which I personally wouldn't hold my breadth waiting for.
To keep in mind when designing new software:
Why do you glorify doing something new and stupid, when doing good things well is what people really should be admiring?
On licensing server software:
Projects that are specifically designed for software-as-a-service in the backend, and only the output of the project is what gets distributed, then use the Affero GPL.
On C++:

And I really do dislike C++. It's a really bad language, in my opinion. It tries to solve all the wrong problems, and does not tackle the right ones. The things C++ "solves" are trivial things, almost purely syntactic extensions to C rather than fixing some true deep problem.

On C's simplicity:
when you communicate in fragments (think "patches"), it's always better to see "sctp_connect()" than to see just "connect()" where some unseen context is what makes the compiler know that it is in the sctp module.

And you have to communicate in fragments in order to communicate efficiently. And I don't mean "efficiently" as in network bandwidth - I mean as in "in general". The reason we use patches instead of sending the whole project (or even just a couple of whole files) around is not because it's denser in email - it's because the only thing that matters is the change, not the end result.

No comments: