Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Programmers of the Day

Avi Flombaum
November 03, 2012

Programmers of the Day

A quick summary of lots of my favorite programmers that I use in the Flatiron School curriculum. Computing has a rich history, let's talk about it.

Given at RubyConf East

Avi Flombaum

November 03, 2012
Tweet

More Decks by Avi Flombaum

Other Decks in Programming

Transcript

  1. PROGRAMMERS OF THE DAY @aviflombaum of @flatironschool for RubyConf East

    or HurriConf or SandyConf Saturday, November 3, 12
  2. 10/02/2012 Ada Lovelace & Charles Babbage - difference engine -

    first algorithm 10/03/2012 Stephen Bourne - BASH 10/04/2012 Edgar F. Codd - relational database model 10/05/2012 Yukihiro Matsumoto - Ruby 10/09/2012 Grace Hopper - Human readable language; COBOL 10/10/2012 Dan Bricklin - Spreadsheets 10/11/2012 why the lucky stiff - inspirado 10/12/2012 Larry Wall - PERL 10/15/2012 John D. Carmack - Quake 10/16/2012 Alan Kay - father of object orientation, GUI 10/17/2012 Kent Beck - TDD 10/18/2012 Adele Goldberg - co-creator of Smalltalk 10/19/2012 Tim Berners-Lee - invented the world wide web 10/22/2012 Robert Cecil Martin - agile 10/23/2012 David Heinemeier Hansson 10/24/2012 Brian Behlendorf - APACHE 10/25/2012 Linus Torvalds - Linux 10/26/2012 Roy Fielding - HTTPd, REST 11/01/2012 Edsger W. Dijkstra - inventor of Structured Programming Saturday, November 3, 12
  3. GRACE HOPPER First compiler, COBOL, debugging It's easier to ask

    forgiveness than it is to get permission. I had a running compiler and nobody would touch it. ... they carefully told me, computers could only do arithmetic; they could not do programs. You manage things, you lead people. Saturday, November 3, 12
  4. EDSGER W. DIJKSTRA Inventor of Structured Programming x = 0

    x = x+1 puts "Hello #{x}" GOTO: 2 if x < 10 while x < 10 x = x+1 puts "Hello #{x}" end Saturday, November 3, 12
  5. EDSGER W. DIJKSTRA The tools we use have a profound

    (and devious!) influence on our thinking habits, and, therefore, on our thinking abilities. FORTRAN --"the infantile disorder"--, by now nearly 20 years old, is hopelessly inadequate for whatever computer application you have in mind today: it is now too clumsy, too risky, and too expensive to use. About the use of language: it is impossible to sharpen a pencil with a blunt axe. It is equally vain to try to do it with ten blunt axes instead. An exceptionally good mastery of one's native tongue is the most vital asset of a competent programmer. Saturday, November 3, 12
  6. EDSGER W. DIJKSTRA How do we convince people that in

    programming simplicity and clarity - in short: what mathematicians call "elegance" - are not a dispensable luxury, but a crucial matter that decides between success and failure? The competent programmer is fully aware of the strictly limited size of his own skull; therefore he approaches the programming task in full humility, and among other things he avoids clever tricks like the plague. Saturday, November 3, 12
  7. EDSGER W. DIJKSTRA I mean, if 10 years from now,

    when you are doing something quick and dirty, you suddenly visualize that I am looking over your shoulders and say to yourself "Dijkstra would not have liked this", well, that would be enough immortality for me. Saturday, November 3, 12
  8. ALAN KAY father of object orientation, inventor of the GUI.

    You’re welcome. "The best way to predict the future is to invent it." "The real romance is out ahead and yet to come. The computer revolution hasn't started yet. Don't be misled by the enormous flow of money into bad defacto standards for unsophisticated buyers using poor adaptations of incomplete ideas." Saturday, November 3, 12
  9. ALAN KAY father of object orientation, inventor of the GUI.

    You’re welcome. “I fear - as far as I can tell - that most undergraduate degrees in computer science these days are basically Java vocational training. I’ve heard complaints from even mighty Stanford University with its illustrious faculty that basically the undergraduate computer science program is little more than Java certification.” Saturday, November 3, 12
  10. ALAN KAY father of object orientation, inventor of the GUI.

    You’re welcome. "I thought of objects being like biological cells or individual computers on a network, only able to communicate with messages” Saturday, November 3, 12
  11. TIM BERNERS-LEE Anyone who has lost track of time when

    using a computer knows the propensity to dream, the urge to make dreams come true and the tendency to miss lunch. Physicists analyze systems. Web scientists, however, can create the systems. The most important thing that was new was the idea of URI-or URL, that any piece of information anywhere should have an identifier, which will allow you to get hold of it. Saturday, November 3, 12
  12. TIM BERNERS-LEE The trick.... is to make sure that each

    limited mechanical part of the Web, each application, is within itself composed of simple parts that will never get too powerful. Saturday, November 3, 12
  13. TIM BERNERS-LEE The Web as I envisioned it, we have

    not seen it yet. The future is still so much bigger than the past. The Semantic Web is not a separate Web but an extension of the current one, in which information is given well-defined meaning, better enabling computers and people to work in cooperation. When I invented the web, I didn't have to ask anyone's permission. Saturday, November 3, 12
  14. TIM BERNERS-LEE The web is more a social creation than

    a technical one. I designed it for a social effect — to help people work together — and not as a technical toy. The ultimate goal of the Web is to support and improve our weblike existence in the world. We clump into families, associations, and companies. We develop trust across the miles and distrust around the corner. The Web does not just connect machines, it connects people. Saturday, November 3, 12
  15. TIM BERNERS-LEE In an extreme view, the world can be

    seen as only connections, nothing else. We think of a dictionary as the repository of meaning, but it defines words only in terms of other words. I liked the idea that a piece of information is really defined only by what it's related to, and how it's related. There really is little else to meaning. The structure is everything. There are billions of neurons in our brains, but what are neurons? Just cells. The brain has no knowledge until connections are made between neurons. All that we know, all that we are, comes from the way our neurons are connected. Saturday, November 3, 12
  16. YUKIHIRO MATSUMOTO My friends call me matz. The goal of

    Ruby is to make programmers happy. I started out to make a programming language that would make me happy, and as a side effect it’s made many, many programmers happy. I hope to see Ruby help every programmer in the world to be productive, and to enjoy programming, and to be happy. That is the primary purpose of Ruby language. Saturday, November 3, 12
  17. YUKIHIRO MATSUMOTO minswan: Matz is nice so we are nice.

    Make Ruby natural, not simple, in a way that mirrors life. Ruby is simple in appearance, but is very complex inside, just like our human body. Saturday, November 3, 12
  18. YUKIHIRO MATSUMOTO minswan: Matz is nice so we are nice.

    We often feel beauty in simple code. Balance is the final element of beautiful code. So far I have talked about brevity, conservatism, simplicity, and flexibility. No element by itself will ensure a beautiful program. Saturday, November 3, 12