Joe Armstrong
161 quotes
"I wanted to build fault tolerant systems and pretty soon I realized that you can’t make a fault tolerant system on a computer, because I think in the entire computer might crash, so I needed lots of independent computers."
""Messages take time", and they propagate through space, there’s no guarantee it gets there."
"I just want to model what’s going on in the real world"
"We need to build a world where there are parallel processes communicating through message passing and I thought they cannot have shared memory because if they have shared memory and the remote going to be the crash."
"Why are people just moving the data and not the programs. We could move both of them to some intermediate point in the middle to perform the computation there."
"This is a thing that really scares me, are people developing large applications that they don’t understand."
"Many programs don’t have well-defined interface. They should have."
"I think we seem to have forgotten that things can be small. This way of decomposing systems into small things that I can reason about."
"People keep telling me this, "you’ve got to upgrade your operating system". Then they say, "Well, that’s because of security things." I don’t really have much confidence in them. If they said we have to change it once every 20 years, I could believe that it was reliable, but telling me that I have to change it once every six weeks is crazy."
"One of the things we’ve forgotten, is the importance of protocols and not describing them accurately."
"If you imagine the combination of petabytes memories with LiFi and communication at tens of gigabits per second but the combination and like 10,000 Cray-Ones and a little thing like your fingernail everywhere in every single light bulb that’s like an atomic bomb hitting software. What we’re going to do with it, nobody’s got a clue."
"deployment is a problem because even if somebody made an open source privacy application, it needs 50 million users to take off. Apple and Google and everybody have dominated this way of deploying something to hundreds of millions of people [...] the first one to get a hundred million users wins basically."
"Google knows everything about us but we know nothing about Google."
"I always imagine a historian in 2 or 300 years' time writing the history of this period. It would just be like the Dark Ages, the ages of confusion. Will it end with computer failures that kill millions of people or will it transition into something that is for the benefit of mankind? We don’t know at the moment and I don’t know how long it will be before we know."
"I had a plan. Learn Emacs. Learn UNIX. And learn programming language. What happened? I didn't learn Emacs. I didn't learn UNIX. And I invented a new programming language."
"Have we got better at programming things in the last 25 years? I think the answer would be no. They've been small improvements."
"I started programming in like 76. There was not enough stuff. There was Fortran and Cobol... And Fortran. Now there's 250, 500, 800 programming languages, one new each week."
"Do we really need to hijack our attention systems every 10 seconds with a banner?"
"The methodology for what I was going to do: ask some questions, get some replies, organize result, choose the best things to do."
"How to make a list? Collecting the data, that's the easy bit. Sorting it into categories is slightly more difficult. Shortening the list is the most difficult part. That a really difficult problem."
"If somebody puts a big list of things up, my question is always: what is the most important thing on that list."
"I can only implement one thing at a time. I'm a one thing at a time person. So, if you give me that huge list of things, I will implement the most important thing. Which is it?"
"We can't do a list of 20 things. You can't do 20 things in parallel. Do one of them. Do the next."
"Your first question must always be: what is the most difficult part of this problem that I am trying to solve and then try and solve that. If you can't solve the most difficult bit, give up! Seek advice, find somebody who can solve it!"
"It's going to fail your project if you take the easy bits first, deliberately. Because you can't solve the difficult bit, your project will fail late than failing early and your company will lose lots of money."