A biography for Joe Armstrong (programmer)hasn’t been written yet.
“If you do project that guaranteed to succeed, think it could be horribly conservative things. So you can't just do things. You know tat hundred are just fun stuffs and they gonna fails!”
“I got this Prolog system, and I thought, let's do a message passing object model there. There were an influence with CSP.”
“I was using Smalltalk and I never actually go through this boundary of sort of simulating the class structure in my head so that I can program itself. It was painful, I used to chose the changelog to find things, I regret you did it.”
“Let's unbreak the web. The web is broken. Let's go out and un-break it and let's bring computation back to these supercomputers that we've got in our pockets [...] Let's ensure that our personal data is owned by us and not by large corporations [...] Let's make computing easy again like it was in the past. Let's build apps that could communicate with each other.”
“The web is totally broken. It's not symmetric.Easy to read stuff, very difficult to write stuff. We ave a community of users who engage passively by reading stuff, they do not write stuff.”
“Things can be small. They don't have to be gigabytes.”
“Helping your non-technical neighbor. Tell them it's not your fault. Tell them it's crap software and I don't understand this crap.”
“PHP, brilliant language! Apart from the syntax and the semantics. Because it takes a view that will perform everything in one place.”
“I was crap at writing. I learned to ride. I wrote a few books and after, you written a few books, you get good at it. But I was really rubbish at writing to start.”
“We can use Machine Learning to diagnose diseases and we don't need to use machine learning to target advertisements to people. We can use it to cure their cancers. Just think about that.”
“These [pipes] are killed by GUIs. So you don't have a text flow into a GUI. So, that are GUIs, you can't pipe it together in sequences. That's killed the notion of a pipe and the notion of reusing things.”
“Let me just say something about pipes. The great UNIX philosophy was: the output of my program should be the input to your program, to compile things together.”
“Four languages to learn: C, Prolog, Erlang, Javascript.”
“If you try to fiddle around with your code to make it efficient, that's the wrong thing to do. Keep on track with the latest hardware. That's the right thing to do.”
“Better algorithms probably gave us a factor of 6 in performance. Changing the programming language going to Prolog to C, that gave us a factor of 15. All the rest comes from hardware. So, wait 10 years, you've got a thousand. wait 20, you get a million in hardware performance.”
“Four good tools to learn: Emacs, Bash, Make and Shell. You could use Vi, I am not religious here. Make is pretty damn good! I use Make for everything, that good!”
“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.”
“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!”
“We can't do a list of 20 things. You can't do 20 things in parallel. Do one of them. Do the next.”
“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?”