OSCON 2013: Turing's Curse
- 5. I’ve got a bad feeling about this
www.cloudflare.com!
- 25. SSDs – 4MB in 1976
www.cloudflare.com!
1945 - 1976
- 27. Processor Architecture
1945 - 1976
• RISC (1960s Cray; 1980s)
• CISC (1960s IBM mainframes)
• Instruction and Data Caching (1960s; IBM System/360)
• Instruction Pipelining and Prefetch (1961 IBM Stretch;
1979 8086)
• Branch Prediction (1961 IBM Stretch)
• Vector processor (1974 STAR-100)
www.cloudflare.com!
- 29. Internetworking
1945 - 1976
• Chat – 1967 (NLS later Unix Talk)
• File Transfer – 1971 (FTP)
• Email – 1971 (host to host)
• Remote Procedure Calls – 1975 (RFC 707)
www.cloudflare.com!
- 31. GUI – Xerox 8010 (1981)
www.cloudflare.com!
1945 - 1981
- 32. GUI – Apple Lisa (1983)
www.cloudflare.com!
1945 - 1983
- 35. 1945 - 1983
OBJECT ORIENTED
PROGRAMMING
Simula 1 – 1967
C++ - 1979
Smalltalk - 1980
www.cloudflare.com!
- 41. THE THING YOU ARE
DOING HAS BEEN DONE
BEFORE
There’s great value in computer science
education
www.cloudflare.com!
- 42. WE ARE IN THE AGE OF
GREAT PRODUCTIVITY
Be thankful all that stuff’s been invented
already
www.cloudflare.com!
- 43. WE HAVE YET TO
CONQUER
UNRELIABILITY
www.cloudflare.com!
- 46. Maurice Wilkes (1950s)
• As soon as we started programming,
we found to our surprise that it wasn't
as easy to get programs right as we
had thought. Debugging had to be
discovered. I can remember the
exact instant when I realized that a
large part of my life from then on
was going to be spent in finding
mistakes in my own programs.
www.cloudflare.com!
- 47. Donald Knuth (1990s)
• Question from audience: “Which programming language
do you prefer Java or C++?”
• Knuth: “Which has the better debugger?”
www.cloudflare.com!
- 48. TURING’S CURSE
1936: There is no program that, given a
description of an arbitrary computer program,
can decide whether the program finishes
running or continues to run forever.
www.cloudflare.com!