the changing nature of invention in computer science dennis shasha based on two books with...

12
The Changing Nature of Invention in Computer Science Dennis Shasha Based on two books with journalist Cathy Lazere

Upload: vernon-walters

Post on 13-Jan-2016

214 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: The Changing Nature of Invention in Computer Science Dennis Shasha Based on two books with journalist Cathy Lazere

The Changing Nature of Invention in

Computer ScienceDennis Shasha

Based on two books with journalist Cathy Lazere

Page 2: The Changing Nature of Invention in Computer Science Dennis Shasha Based on two books with journalist Cathy Lazere

Great Inventor 1

• "I flunked out every year. I never studied. I hated studying. I was just goofing around. It had the delightful consequence that every year I went to summer school in New Hampshire where I spent the summer sailing and having a nice time."

Page 3: The Changing Nature of Invention in Computer Science Dennis Shasha Based on two books with journalist Cathy Lazere

John Backus/inventor of Fortran

Page 4: The Changing Nature of Invention in Computer Science Dennis Shasha Based on two books with journalist Cathy Lazere

Late Start on a Career

• Graduates at 25 from Columbia’s College of General Studies. No idea what to do.

• Gets job at IBM programming astronomy problems on a vacuum tube computer

• Likes the physics. Finds the programming difficult.

Page 5: The Changing Nature of Invention in Computer Science Dennis Shasha Based on two books with journalist Cathy Lazere

What it was like

"You had to know so much about the problem--it had all these scale factors--you had to keep the numbers from overflowing or setting big round off errors. So programming was very complicated because of the nature of the machine."

Page 6: The Changing Nature of Invention in Computer Science Dennis Shasha Based on two books with journalist Cathy Lazere

What to Do?

• Grin and bear it? • Work harder/just get it right.

Page 7: The Changing Nature of Invention in Computer Science Dennis Shasha Based on two books with journalist Cathy Lazere

Not Backus

• Suggests the design of a programming language for IBM’s next machine – FORTRAN.

• “It would just mean getting programming done a lot faster. “

Page 8: The Changing Nature of Invention in Computer Science Dennis Shasha Based on two books with journalist Cathy Lazere

Design of Algol

• European-led meetings to design a new language.

• "They would just describe stuff in English. Here's this statement --- and here's an example. You were hassled in these committees enough to realize that something needed to be done. You needed to learn how to be precise."

Page 9: The Changing Nature of Invention in Computer Science Dennis Shasha Based on two books with journalist Cathy Lazere

Context-Free Grammars (Backus and Naur)

• S::= ASSIGNMENT | IFTHEN | IFTHENELSE• IFTHEN ::= if EXP then S end• IFTHENELSE ::= if EXP then S else S end

Page 10: The Changing Nature of Invention in Computer Science Dennis Shasha Based on two books with journalist Cathy Lazere

Last Challenge

• Backus complained about his own inventions: • “Once you've written a FORTRAN program,

you can't tell what's going on really. It takes these two numbers and multiplies them and stores them here and does some other junk and then makes this test. Trying to do that calculation in a different way [is very difficult] because you basically don't understand what the program is doing.”

Page 11: The Changing Nature of Invention in Computer Science Dennis Shasha Based on two books with journalist Cathy Lazere

Backus’s Solution: Functional Programming

• Side-effect free functions• Clarity• Composition• Parallelism• E.g. dotprod: {[x;y] sum x*y}

Page 12: The Changing Nature of Invention in Computer Science Dennis Shasha Based on two books with journalist Cathy Lazere

Backus Style

• Annoyed? – Don’t grin and bear it.– Change it! – “The best way to predict the future is to invent it”

Alan Kay

• If you still don’t like what you see, then change it again.