Why do we Program?

Computers want to be helpful

  • Computers are built to do things for us
    • Designed and wired so that it has one question: what do you want to do next?
  • But, we need to speak their language to describe what we want done.
  • Computer users just have to pick which programs (instructions) they want to use out of the different program someone else put in the computer.
  • A programmer’s job is to serve the user and act as an intermediary between the hardware and the user
    • The hardware of a computer itself isn’t that intelligent

Programmers Anticipate Needs

  • Professional programmers trying to sell software also need to imagine what the world might want
  • iPhone apps are a market
    • but the app stores are also places where software can be built and exchanged
  • They have over 3 billion downloads
  • Many programmers have left their jobs to be full-time iPhone app developers
  • Programmers know the ways of their program

Why be a programmer?

  • To get some task done
    • Example: clean up survey data
  • To produce something for others to use - a programming job
    • Example: Fix a performance problem in the Sakai software
    • Or adding a guestbook to a website
  • For professional programmers, the motivation may be to build something for everyone else to use
  • The main difference between writing code for someone and writing code for yourself is the rigor
  • Program: a sequence of stored instructions
    • The computer itself at the lowest level of hardware is not that smart, but there’s a lot of flexibility in terms of giving it the right instructions.

Programs for Humans…

  • An example of a program for humans is the macarena!
    • You do the dance moves at the correct beat of the music
  • Human beings can operate in an error filled world
    • We can automatically fix errors in text or speech based on what we know
  • Computers can not operate in an error filled world
    • So programs have to be perfect

Programs for Python…

  • One thing that computers are good but humans are bad at is text analysis
    • This is something we delegate to computers

\