the changing nature of invention in computer science dennis shasha based on two books with...
TRANSCRIPT
![Page 1: The Changing Nature of Invention in Computer Science Dennis Shasha Based on two books with journalist Cathy Lazere](https://reader036.vdocuments.us/reader036/viewer/2022082712/56649ebc5503460f94bc5b3e/html5/thumbnails/1.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022082712/56649ebc5503460f94bc5b3e/html5/thumbnails/2.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022082712/56649ebc5503460f94bc5b3e/html5/thumbnails/3.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022082712/56649ebc5503460f94bc5b3e/html5/thumbnails/4.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022082712/56649ebc5503460f94bc5b3e/html5/thumbnails/5.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022082712/56649ebc5503460f94bc5b3e/html5/thumbnails/6.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022082712/56649ebc5503460f94bc5b3e/html5/thumbnails/7.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022082712/56649ebc5503460f94bc5b3e/html5/thumbnails/8.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022082712/56649ebc5503460f94bc5b3e/html5/thumbnails/9.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022082712/56649ebc5503460f94bc5b3e/html5/thumbnails/10.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022082712/56649ebc5503460f94bc5b3e/html5/thumbnails/11.jpg)
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](https://reader036.vdocuments.us/reader036/viewer/2022082712/56649ebc5503460f94bc5b3e/html5/thumbnails/12.jpg)
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.