Top Banner
www.cloudflare.com Turing’s Curse July 26, 2013 John Graham-Cumming
49

Www.cloudflare.com Turing’s Curse July 26, 2013 John Graham-Cumming.

Dec 30, 2015

Download

Documents

Alexander Bond
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Www.cloudflare.com Turing’s Curse July 26, 2013 John Graham-Cumming.

www.cloudflare.com

Turing’s CurseJuly 26, 2013

John Graham-Cumming

Page 2: Www.cloudflare.com Turing’s Curse July 26, 2013 John Graham-Cumming.

www.cloudflare.com

A LONG, LONG TIME AGO...

Page 3: Www.cloudflare.com Turing’s Curse July 26, 2013 John Graham-Cumming.

www.cloudflare.com

The Mother of All Demos - 1968

Page 4: Www.cloudflare.com Turing’s Curse July 26, 2013 John Graham-Cumming.

www.cloudflare.com

WHAT’S NEW?

Page 5: Www.cloudflare.com Turing’s Curse July 26, 2013 John Graham-Cumming.

www.cloudflare.com

I’ve got a bad feeling about this

Page 6: Www.cloudflare.com Turing’s Curse July 26, 2013 John Graham-Cumming.

www.cloudflare.com

CLOUD COMPUTING

Page 7: Www.cloudflare.com Turing’s Curse July 26, 2013 John Graham-Cumming.

www.cloudflare.com

Cloud Computing - 1966 1966 - 1968

Page 8: Www.cloudflare.com Turing’s Curse July 26, 2013 John Graham-Cumming.

www.cloudflare.com

BIG DATA

Page 9: Www.cloudflare.com Turing’s Curse July 26, 2013 John Graham-Cumming.

www.cloudflare.com

Big Data in 1955 1955 - 1968

Page 10: Www.cloudflare.com Turing’s Curse July 26, 2013 John Graham-Cumming.

www.cloudflare.com

VIRTUAL MACHINE HYPERVISOR

Page 11: Www.cloudflare.com Turing’s Curse July 26, 2013 John Graham-Cumming.

www.cloudflare.com

Virtual Machine Hypervisor - 19671955 - 1968

Page 12: Www.cloudflare.com Turing’s Curse July 26, 2013 John Graham-Cumming.

www.cloudflare.com

HYPERTEXT

Page 13: Www.cloudflare.com Turing’s Curse July 26, 2013 John Graham-Cumming.

www.cloudflare.com

Hypertext - 1945 1945 - 1968

Page 14: Www.cloudflare.com Turing’s Curse July 26, 2013 John Graham-Cumming.

www.cloudflare.com

HYPERTEXT WITH CLICKABLE LINKS

Page 15: Www.cloudflare.com Turing’s Curse July 26, 2013 John Graham-Cumming.

www.cloudflare.com

Hypertext with clickable links - 19671945 - 1968

Page 16: Www.cloudflare.com Turing’s Curse July 26, 2013 John Graham-Cumming.

www.cloudflare.com

MARKUP LANGUAGES

Page 17: Www.cloudflare.com Turing’s Curse July 26, 2013 John Graham-Cumming.

www.cloudflare.com

Markup Languages• IBM Generalized Markup Language – 1960s

1945 - 1968

Page 18: Www.cloudflare.com Turing’s Curse July 26, 2013 John Graham-Cumming.

www.cloudflare.com

FIBRE OPTIC NETWORKING

Page 19: Www.cloudflare.com Turing’s Curse July 26, 2013 John Graham-Cumming.

www.cloudflare.com

Fibre Optic Networking - 1966 1945 - 1968

Page 20: Www.cloudflare.com Turing’s Curse July 26, 2013 John Graham-Cumming.

www.cloudflare.com

WIRELESS NETWORKING

Page 21: Www.cloudflare.com Turing’s Curse July 26, 2013 John Graham-Cumming.

www.cloudflare.com

Wireless Networking – 1971 1945 - 1971

Page 22: Www.cloudflare.com Turing’s Curse July 26, 2013 John Graham-Cumming.

www.cloudflare.com

ETHERNET

Page 23: Www.cloudflare.com Turing’s Curse July 26, 2013 John Graham-Cumming.

www.cloudflare.com

Ethernet - 1973 1945 - 1973

Page 24: Www.cloudflare.com Turing’s Curse July 26, 2013 John Graham-Cumming.

www.cloudflare.com

SOLID STATE DISKS

Page 25: Www.cloudflare.com Turing’s Curse July 26, 2013 John Graham-Cumming.

www.cloudflare.com

SSDs – 4MB in 1976 1945 - 1976

Page 26: Www.cloudflare.com Turing’s Curse July 26, 2013 John Graham-Cumming.

www.cloudflare.com

PROCESSOR ARCHITECTURE

Page 27: Www.cloudflare.com Turing’s Curse July 26, 2013 John Graham-Cumming.

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: Www.cloudflare.com Turing’s Curse July 26, 2013 John Graham-Cumming.

www.cloudflare.com

INTERNETWORKING

Page 29: Www.cloudflare.com Turing’s Curse July 26, 2013 John Graham-Cumming.

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: Www.cloudflare.com Turing’s Curse July 26, 2013 John Graham-Cumming.

www.cloudflare.com

GRAPHICAL USER INTERFACE

Page 31: Www.cloudflare.com Turing’s Curse July 26, 2013 John Graham-Cumming.

www.cloudflare.com

GUI – Xerox 8010 (1981) 1945 - 1981

Page 32: Www.cloudflare.com Turing’s Curse July 26, 2013 John Graham-Cumming.

www.cloudflare.com

GUI – Apple Lisa (1983) 1945 - 1983

Page 33: Www.cloudflare.com Turing’s Curse July 26, 2013 John Graham-Cumming.

www.cloudflare.com

INTERNETTCP/IP – 1983

1945 - 1983

Page 34: Www.cloudflare.com Turing’s Curse July 26, 2013 John Graham-Cumming.

www.cloudflare.com

FUNCTIONAL PROGRAMMINGLISP – 1958APL - 1964ML – 1973

1945 - 1983

Page 35: Www.cloudflare.com Turing’s Curse July 26, 2013 John Graham-Cumming.

www.cloudflare.com

OBJECT ORIENTED PROGRAMMINGSimula 1 – 1967C++ - 1979Smalltalk - 1980

1945 - 1983

Page 36: Www.cloudflare.com Turing’s Curse July 26, 2013 John Graham-Cumming.

www.cloudflare.com

CONCURRENT PROGRAMMINGCSP – 1978Ada - 1979Occam – 1983

1945 - 1983

Page 37: Www.cloudflare.com Turing’s Curse July 26, 2013 John Graham-Cumming.

www.cloudflare.com

EVENT DRIVEN PROGRAMMINGPL/1 - 1966

1945 - 1983

Page 38: Www.cloudflare.com Turing’s Curse July 26, 2013 John Graham-Cumming.

www.cloudflare.com

DECLARATIVE LANGUAGESSQL – 1979Regular Expressions – 1970s

1945 - 1983

Page 39: Www.cloudflare.com Turing’s Curse July 26, 2013 John Graham-Cumming.

www.cloudflare.com

HIGH WATER MARK IS (ROUGHLY) 1983

Page 40: Www.cloudflare.com Turing’s Curse July 26, 2013 John Graham-Cumming.

www.cloudflare.com

IMPLICATIONS

Page 41: Www.cloudflare.com Turing’s Curse July 26, 2013 John Graham-Cumming.

www.cloudflare.com

THE THING YOU ARE DOING HAS BEEN DONE BEFORE There’s great value in computer science education

Page 42: Www.cloudflare.com Turing’s Curse July 26, 2013 John Graham-Cumming.

www.cloudflare.com

WE ARE IN THE AGE OF GREAT PRODUCTIVITYBe thankful all that stuff’s been invented already

Page 43: Www.cloudflare.com Turing’s Curse July 26, 2013 John Graham-Cumming.

www.cloudflare.com

WE HAVE YET TO CONQUER UNRELIABILITY

Page 44: Www.cloudflare.com Turing’s Curse July 26, 2013 John Graham-Cumming.

www.cloudflare.com

Ada Lovelace (1840s)

Page 45: Www.cloudflare.com Turing’s Curse July 26, 2013 John Graham-Cumming.

www.cloudflare.com

Grace Hopper (1947)

Page 46: Www.cloudflare.com Turing’s Curse July 26, 2013 John Graham-Cumming.

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: Www.cloudflare.com Turing’s Curse July 26, 2013 John Graham-Cumming.

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: Www.cloudflare.com Turing’s Curse July 26, 2013 John Graham-Cumming.

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: Www.cloudflare.com Turing’s Curse July 26, 2013 John Graham-Cumming.

www.cloudflare.com

WORK ON RELIABILITYHelp programmers make fewer mistakesHelp programmers find their mistakes