1 / 12

The Changing Nature of Invention in Computer Science

The Changing Nature of Invention in Computer Science. Dennis Shasha Based on two books with journalist Cathy Lazere. Great Inventor 1.

Download Presentation

The Changing Nature of Invention in Computer Science

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


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

  2. 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."

  3. John Backus/inventor of Fortran

  4. 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.

  5. 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."

  6. What to Do? • Grin and bear it? • Work harder/just get it right.

  7. 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. “

  8. 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."

  9. Context-Free Grammars (Backus and Naur) • S::= ASSIGNMENT | IFTHEN | IFTHENELSE • IFTHEN ::= if EXP then S end • IFTHENELSE ::= if EXP then S else S end

  10. 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.”

  11. Backus’s Solution: Functional Programming • Side-effect free functions • Clarity • Composition • Parallelism • E.g. dotprod: {[x;y] sum x*y}

  12. 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.

More Related