Turing’s Curse July 26, 2013
-
Upload
david-manning -
Category
Documents
-
view
23 -
download
0
description
Transcript of Turing’s Curse July 26, 2013
![Page 1: Turing’s Curse July 26, 2013](https://reader034.fdocuments.net/reader034/viewer/2022051620/56813248550346895d98bb68/html5/thumbnails/1.jpg)
www.cloudflare.com
Turing’s CurseJuly 26, 2013
John Graham-Cumming
![Page 2: Turing’s Curse July 26, 2013](https://reader034.fdocuments.net/reader034/viewer/2022051620/56813248550346895d98bb68/html5/thumbnails/2.jpg)
www.cloudflare.com
A LONG, LONG TIME AGO...
![Page 3: Turing’s Curse July 26, 2013](https://reader034.fdocuments.net/reader034/viewer/2022051620/56813248550346895d98bb68/html5/thumbnails/3.jpg)
www.cloudflare.com
The Mother of All Demos - 1968
![Page 4: Turing’s Curse July 26, 2013](https://reader034.fdocuments.net/reader034/viewer/2022051620/56813248550346895d98bb68/html5/thumbnails/4.jpg)
www.cloudflare.com
WHAT’S NEW?
![Page 5: Turing’s Curse July 26, 2013](https://reader034.fdocuments.net/reader034/viewer/2022051620/56813248550346895d98bb68/html5/thumbnails/5.jpg)
www.cloudflare.com
I’ve got a bad feeling about this
![Page 6: Turing’s Curse July 26, 2013](https://reader034.fdocuments.net/reader034/viewer/2022051620/56813248550346895d98bb68/html5/thumbnails/6.jpg)
www.cloudflare.com
CLOUD COMPUTING
![Page 7: Turing’s Curse July 26, 2013](https://reader034.fdocuments.net/reader034/viewer/2022051620/56813248550346895d98bb68/html5/thumbnails/7.jpg)
www.cloudflare.com
Cloud Computing - 1966 1966 - 1968
![Page 8: Turing’s Curse July 26, 2013](https://reader034.fdocuments.net/reader034/viewer/2022051620/56813248550346895d98bb68/html5/thumbnails/8.jpg)
www.cloudflare.com
BIG DATA
![Page 9: Turing’s Curse July 26, 2013](https://reader034.fdocuments.net/reader034/viewer/2022051620/56813248550346895d98bb68/html5/thumbnails/9.jpg)
www.cloudflare.com
Big Data in 1955 1955 - 1968
![Page 10: Turing’s Curse July 26, 2013](https://reader034.fdocuments.net/reader034/viewer/2022051620/56813248550346895d98bb68/html5/thumbnails/10.jpg)
www.cloudflare.com
VIRTUAL MACHINE HYPERVISOR
![Page 11: Turing’s Curse July 26, 2013](https://reader034.fdocuments.net/reader034/viewer/2022051620/56813248550346895d98bb68/html5/thumbnails/11.jpg)
www.cloudflare.com
Virtual Machine Hypervisor - 19671955 - 1968
![Page 12: Turing’s Curse July 26, 2013](https://reader034.fdocuments.net/reader034/viewer/2022051620/56813248550346895d98bb68/html5/thumbnails/12.jpg)
www.cloudflare.com
HYPERTEXT
![Page 13: Turing’s Curse July 26, 2013](https://reader034.fdocuments.net/reader034/viewer/2022051620/56813248550346895d98bb68/html5/thumbnails/13.jpg)
www.cloudflare.com
Hypertext - 1945 1945 - 1968
![Page 14: Turing’s Curse July 26, 2013](https://reader034.fdocuments.net/reader034/viewer/2022051620/56813248550346895d98bb68/html5/thumbnails/14.jpg)
www.cloudflare.com
HYPERTEXT WITH CLICKABLE LINKS
![Page 15: Turing’s Curse July 26, 2013](https://reader034.fdocuments.net/reader034/viewer/2022051620/56813248550346895d98bb68/html5/thumbnails/15.jpg)
www.cloudflare.com
Hypertext with clickable links - 19671945 - 1968
![Page 16: Turing’s Curse July 26, 2013](https://reader034.fdocuments.net/reader034/viewer/2022051620/56813248550346895d98bb68/html5/thumbnails/16.jpg)
www.cloudflare.com
MARKUP LANGUAGES
![Page 17: Turing’s Curse July 26, 2013](https://reader034.fdocuments.net/reader034/viewer/2022051620/56813248550346895d98bb68/html5/thumbnails/17.jpg)
www.cloudflare.com
Markup Languages• IBM Generalized Markup Language – 1960s
1945 - 1968
![Page 18: Turing’s Curse July 26, 2013](https://reader034.fdocuments.net/reader034/viewer/2022051620/56813248550346895d98bb68/html5/thumbnails/18.jpg)
www.cloudflare.com
FIBRE OPTIC NETWORKING
![Page 19: Turing’s Curse July 26, 2013](https://reader034.fdocuments.net/reader034/viewer/2022051620/56813248550346895d98bb68/html5/thumbnails/19.jpg)
www.cloudflare.com
Fibre Optic Networking - 1966 1945 - 1968
![Page 20: Turing’s Curse July 26, 2013](https://reader034.fdocuments.net/reader034/viewer/2022051620/56813248550346895d98bb68/html5/thumbnails/20.jpg)
www.cloudflare.com
WIRELESS NETWORKING
![Page 21: Turing’s Curse July 26, 2013](https://reader034.fdocuments.net/reader034/viewer/2022051620/56813248550346895d98bb68/html5/thumbnails/21.jpg)
www.cloudflare.com
Wireless Networking – 1971 1945 - 1971
![Page 22: Turing’s Curse July 26, 2013](https://reader034.fdocuments.net/reader034/viewer/2022051620/56813248550346895d98bb68/html5/thumbnails/22.jpg)
www.cloudflare.com
ETHERNET
![Page 23: Turing’s Curse July 26, 2013](https://reader034.fdocuments.net/reader034/viewer/2022051620/56813248550346895d98bb68/html5/thumbnails/23.jpg)
www.cloudflare.com
Ethernet - 1973 1945 - 1973
![Page 24: Turing’s Curse July 26, 2013](https://reader034.fdocuments.net/reader034/viewer/2022051620/56813248550346895d98bb68/html5/thumbnails/24.jpg)
www.cloudflare.com
SOLID STATE DISKS
![Page 25: Turing’s Curse July 26, 2013](https://reader034.fdocuments.net/reader034/viewer/2022051620/56813248550346895d98bb68/html5/thumbnails/25.jpg)
www.cloudflare.com
SSDs – 4MB in 1976 1945 - 1976
![Page 26: Turing’s Curse July 26, 2013](https://reader034.fdocuments.net/reader034/viewer/2022051620/56813248550346895d98bb68/html5/thumbnails/26.jpg)
www.cloudflare.com
PROCESSOR ARCHITECTURE
![Page 27: Turing’s Curse July 26, 2013](https://reader034.fdocuments.net/reader034/viewer/2022051620/56813248550346895d98bb68/html5/thumbnails/27.jpg)
www.cloudflare.com
Processor Architecture• 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)
1945 - 1976
![Page 28: Turing’s Curse July 26, 2013](https://reader034.fdocuments.net/reader034/viewer/2022051620/56813248550346895d98bb68/html5/thumbnails/28.jpg)
www.cloudflare.com
INTERNETWORKING
![Page 29: Turing’s Curse July 26, 2013](https://reader034.fdocuments.net/reader034/viewer/2022051620/56813248550346895d98bb68/html5/thumbnails/29.jpg)
www.cloudflare.com
Internetworking
• Chat – 1967 (NLS later Unix Talk)• File Transfer – 1971 (FTP)• Email – 1971 (host to host)• Remote Procedure Calls – 1975 (RFC 707)
1945 - 1976
![Page 30: Turing’s Curse July 26, 2013](https://reader034.fdocuments.net/reader034/viewer/2022051620/56813248550346895d98bb68/html5/thumbnails/30.jpg)
www.cloudflare.com
GRAPHICAL USER INTERFACE
![Page 31: Turing’s Curse July 26, 2013](https://reader034.fdocuments.net/reader034/viewer/2022051620/56813248550346895d98bb68/html5/thumbnails/31.jpg)
www.cloudflare.com
GUI – Xerox 8010 (1981) 1945 - 1981
![Page 32: Turing’s Curse July 26, 2013](https://reader034.fdocuments.net/reader034/viewer/2022051620/56813248550346895d98bb68/html5/thumbnails/32.jpg)
www.cloudflare.com
GUI – Apple Lisa (1983) 1945 - 1983
![Page 33: Turing’s Curse July 26, 2013](https://reader034.fdocuments.net/reader034/viewer/2022051620/56813248550346895d98bb68/html5/thumbnails/33.jpg)
www.cloudflare.com
INTERNETTCP/IP – 1983
1945 - 1983
![Page 34: Turing’s Curse July 26, 2013](https://reader034.fdocuments.net/reader034/viewer/2022051620/56813248550346895d98bb68/html5/thumbnails/34.jpg)
www.cloudflare.com
FUNCTIONAL PROGRAMMINGLISP – 1958APL - 1964ML – 1973
1945 - 1983
![Page 35: Turing’s Curse July 26, 2013](https://reader034.fdocuments.net/reader034/viewer/2022051620/56813248550346895d98bb68/html5/thumbnails/35.jpg)
www.cloudflare.com
OBJECT ORIENTED PROGRAMMINGSimula 1 – 1967C++ - 1979Smalltalk - 1980
1945 - 1983
![Page 36: Turing’s Curse July 26, 2013](https://reader034.fdocuments.net/reader034/viewer/2022051620/56813248550346895d98bb68/html5/thumbnails/36.jpg)
www.cloudflare.com
CONCURRENT PROGRAMMINGCSP – 1978Ada - 1979Occam – 1983
1945 - 1983
![Page 37: Turing’s Curse July 26, 2013](https://reader034.fdocuments.net/reader034/viewer/2022051620/56813248550346895d98bb68/html5/thumbnails/37.jpg)
www.cloudflare.com
EVENT DRIVEN PROGRAMMINGPL/1 - 1966
1945 - 1983
![Page 38: Turing’s Curse July 26, 2013](https://reader034.fdocuments.net/reader034/viewer/2022051620/56813248550346895d98bb68/html5/thumbnails/38.jpg)
www.cloudflare.com
DECLARATIVE LANGUAGESSQL – 1979Regular Expressions – 1970s
1945 - 1983
![Page 39: Turing’s Curse July 26, 2013](https://reader034.fdocuments.net/reader034/viewer/2022051620/56813248550346895d98bb68/html5/thumbnails/39.jpg)
www.cloudflare.com
HIGH WATER MARK IS (ROUGHLY) 1983
![Page 40: Turing’s Curse July 26, 2013](https://reader034.fdocuments.net/reader034/viewer/2022051620/56813248550346895d98bb68/html5/thumbnails/40.jpg)
www.cloudflare.com
IMPLICATIONS
![Page 41: Turing’s Curse July 26, 2013](https://reader034.fdocuments.net/reader034/viewer/2022051620/56813248550346895d98bb68/html5/thumbnails/41.jpg)
www.cloudflare.com
THE THING YOU ARE DOING HAS BEEN DONE BEFORE There’s great value in computer science education
![Page 42: Turing’s Curse July 26, 2013](https://reader034.fdocuments.net/reader034/viewer/2022051620/56813248550346895d98bb68/html5/thumbnails/42.jpg)
www.cloudflare.com
WE ARE IN THE AGE OF GREAT PRODUCTIVITYBe thankful all that stuff’s been invented already
![Page 43: Turing’s Curse July 26, 2013](https://reader034.fdocuments.net/reader034/viewer/2022051620/56813248550346895d98bb68/html5/thumbnails/43.jpg)
www.cloudflare.com
WE HAVE YET TO CONQUER UNRELIABILITY
![Page 44: Turing’s Curse July 26, 2013](https://reader034.fdocuments.net/reader034/viewer/2022051620/56813248550346895d98bb68/html5/thumbnails/44.jpg)
www.cloudflare.com
Ada Lovelace (1840s)
![Page 45: Turing’s Curse July 26, 2013](https://reader034.fdocuments.net/reader034/viewer/2022051620/56813248550346895d98bb68/html5/thumbnails/45.jpg)
www.cloudflare.com
Grace Hopper (1947)
![Page 46: Turing’s Curse July 26, 2013](https://reader034.fdocuments.net/reader034/viewer/2022051620/56813248550346895d98bb68/html5/thumbnails/46.jpg)
www.cloudflare.com
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.
![Page 47: Turing’s Curse July 26, 2013](https://reader034.fdocuments.net/reader034/viewer/2022051620/56813248550346895d98bb68/html5/thumbnails/47.jpg)
www.cloudflare.com
Donald Knuth (1990s)• Question from audience: “Which programming language do you prefer Java or C++?”
• Knuth: “Which has the better debugger?”
![Page 48: Turing’s Curse July 26, 2013](https://reader034.fdocuments.net/reader034/viewer/2022051620/56813248550346895d98bb68/html5/thumbnails/48.jpg)
www.cloudflare.com
TURING’S CURSE1936: 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.
![Page 49: Turing’s Curse July 26, 2013](https://reader034.fdocuments.net/reader034/viewer/2022051620/56813248550346895d98bb68/html5/thumbnails/49.jpg)
www.cloudflare.com
WORK ON RELIABILITYHelp programmers make fewer mistakesHelp programmers find their mistakes