Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Billlion Dollar MistakeS - On Tony Hoare and An...

Billlion Dollar MistakeS - On Tony Hoare and Android Burritos

A presentation where I relate my painful experience discovering through Android Programming and what I learnt from it.

Three messages:

1. Real Mensch own their mistakes
2. Mediocre documentation makes beginners feel stupid
3. My philosophical clash with Android: I don't like Android Burritos, I like simple things that compose well.

Links:

https://dev.to/jmfayard/android-s-billion-dollar-mistake-327b

Quote:

> I call it my billion-dollar mistake. It was the invention of the null reference in 1965. At that time, I was designing the first comprehensive type system for references in an object oriented language (ALGOL W). My goal was to ensure that all use of references should be absolutely safe, with checking performed automatically by the compiler. But I couldn't resist the temptation to put in a null reference, simply because it was so easy to implement. This has led to innumerable errors, vulnerabilities, and system crashes, which have probably caused a billion dollars of pain and damage in the last forty years.
> Tony Hoare at QCon London in 2009

Jean-Michel Fayard

October 17, 2019
Tweet

Other Decks in Programming

Transcript

  1. TODAY… 1. Why it’s good to own your mistakes 2.

    Why I care deeply about documentation
  2. TODAY… 1. Why it’s good to own your mistakes 2.

    Why I care deeply about documentation 3. Why I really don’t like Android Burritos
  3. It was the invention of the null reference in 1965.

    At that time, I was designing the first comprehensive type system for references in an object oriented language My goal was to ensure that all use of references should be absolutely safe, with checking performed automatically by the compiler. But I couldn't resist the temptation to put in a null reference, simply because it was so easy to implement. This has led to innumerable errors, vulnerabilities, and system crashes, which have probably caused a billion dollars of pain and damage in the last forty years. “I call it my billion-dollar mistake.” Tony Hoare (2009)
  4. Who is Tony Hoare? Turing Award Goode Memorial Award Faraday

    Medal Computer Pioneer Award Kyoto Prize IEE Neumann Medal Quicksort Quickselect Communication Sequential Processes Sctructured Programming
  5. Who is Tony Hoare? Turing Award Goode Memorial Award Faraday

    Medal Computer Pioneer Award Kyoto Prize IEE Neumann Medal Quicksort Quickselect Communication Sequential Processes Sctructured Programming Billion Dollar Mistake
  6. There is always a good reason to do nothing "We

    were after the C++ programmers.” “We managed to drag a lot of them about halfway to Lisp.” Guy Steele, co-author of the Java spec
  7. The Tony Hoare effect Before: C, C++, Java, JavaScript, …

    After: Kotlin, Swift, TypeScript, @Java, …
  8. “Lernen durch Schmerzen” Junior developer Android is cool RTFM Not

    enligthened Smelling code Slow ⏳ Crashes I can’t write tests
  9. “Lernen durch Schmerzen” Junior developer Android is cool RTFM Not

    enligthened Smelling code Slow ⏳ Crashes I can’t write tests It must be me
  10. A turning point The price of ENUMs #PERFMATTERS https://www.youtube.com/watch?v=Hzs6OBcvNQE We

    implemented Enums badly Let’s pass the buck to app developers
  11. AHA

  12. Simple things that compose really well The magic of Music:

    By combining those simple primitivies, You can build all the music of the world ..like this symphony that 10.000 Japanese sing in German https://www.youtube.com/watch?v=X6s6YKlTpfw
  13. RECAP 1. Real Mensch own their mistakes 2. Mediocre documentation

    makes beginners feel stupid 3. Simple things that compose well