1 / 29

How Programmers See The World

How Programmers See The World. OBSESSIVELY, COMPULSIVELY ORDERED EVERYTHING IN ITS PLACE EVERYTHING HAS A PLACE EVERYTHING IN THE WORLD IS A MODEL FOR A COMPUTER SYSTEM Even SPELLING, UPPER and lower Case THERE ’ S NOTHING FREE FORM ABOUT IT UNFORTUNATELY, IT ’ S A WHOLE NEW LANGUAGE.

skip
Download Presentation

How Programmers See The World

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. How Programmers See The World OBSESSIVELY, COMPULSIVELY ORDERED EVERYTHING IN ITS PLACE EVERYTHING HAS A PLACE EVERYTHING IN THE WORLD IS A MODEL FOR A COMPUTER SYSTEM Even SPELLING, UPPER and lower Case THERE’S NOTHING FREE FORM ABOUT IT UNFORTUNATELY, IT’S A WHOLE NEW LANGUAGE

  2. The sky is blue No… what sky? What is blue? Nerds need more information than that… Universe.Galaxies.MilkyWay.OurSun.Planets. Earth.Sky = Color.blue

  3. Computers Computers.big Computers.small.hipster.dontWork.iPhone

  4. What Is This? • It’s called classification • You’ve heard this before: • “A class of problems” • “In a class by itself” • “Classy new styles” • A Class is a container of properties and behaviors

  5. Why? • Because it’s better to solve a class of problems than one just one problem. e.g. ?? mp3 and m4v standards • You need to completely classify a system before you can computerize it… “If you can’t describe it in English, you’ll never program it” • So PROGRAMMERS are always looking for a wide ranging application of their work, and a complete description before they start.

  6. Your Computer • How programmers refer to your computer using namespace std; cout << “Hello”; cin >> x; std is a collection, or library, or (better yet) a CLASS cin is input to the computer, from the keyboard cout is output, to the screen What?

  7. Finally • Class is the category.subCategory.subSub • Object is an example of something of that class • Animals.Dogs.EnglishBullDog is a class but Lemmy here is an actual dog. Lemmy is an Object

  8. We can program… • A wombat, an atm, a robot, a math equation… If we can specify Classification Behaviors Properties Relationships Then we can build a computer “system” to replace it.

  9. Note the abstraction Impress your friends, because this IS rocket science Class  SubClass  SubClass… … Object Abstract     Specific General     Concrete High Order     Low Order FreeForm     Details Cognitive     Real

  10. Build a model Classification: • Animals.Mammals.Dogs.EnglishBullDog • Or Friends.NonHuman.Pets.BullDog • Or any classification that makes its relationship to others clear Behaviors: eats, poops, snores, drools, that’s about it. Properties: color, male/female, size, weight, eye color. Relationships: friend, guard, expense

  11. Solve A Problem What could we possibly build a computer system to do, that is currently being done by animals? Note the classes that eventually become objects

  12. Our World: the Problem Space • Real problems, in the real world. In REAL TIME. • http://www.youtube.com/watch?v=dq_SJ7CtnZI • http://www.youtube.com/watch?v=W1czBcnX1Ww • http://www.youtube.com/watch?v=VXJZVZFRFJc • An App, or computer program, solves a class of problems, in real time

  13. The Only Tool We Have The Computer – The Solution Space • Computers solve real world problems • To be solved, the real world “problem” must be reflected in the computer • Modeling

  14. Robots • They LOOK like humans. Why? http://www.youtube.com/watch?v=Q3C5sc8b3xM • NOT because humans are form-fit best at engaging their world.

  15. Computers help humans • Computer systems are built to assist humans in tasks that are iterative, beyond human speed, are lengthy, or dangerous.

  16. So far… • Computer systems are models of something in the real world • The real world is the problem space • The solution space is the hardware and software of the computer • We build high quality systems to the extent that we accurately model the problem space inside the solution space

  17. The issue of DESIGN Good design / Bad design http://www.baddesigns.com/doors.html http://www.baddesigns.com/3doors.html http://failblog.org/2009/04/03/door-fail-3/ http://www.baddesigns.com/autoicons.html http://thetenmost.blogspot.com/2009/04/ten-most-confusing-road-signs-in.html http://www.baddesigns.com/path.html

  18. How many times have you left your headlights on? Left the refrigerator door open? Programmed the microwave for 120 minutes? Recorded the wrong TV program? Ran out of gas? Locked your keys in your car? Lost the remote control? Banged your head? How much responsibility is ours? users often blame themselves, when it is the designer’s fault

  19. Technology Sawblade - http://www.youtube.com/watch?v=esnQwVZOrUU Insane watch - http://www.tokyoflash.com/en/watches/kisai/sensai/ Pomegranate - http://www.pomegranatephone.com/ Apple Wheel - http://www.theonion.com/content/node/92328 Hidden cell phone tower http://www.infrastructurist.com/2009/04/03/gallery-cell-phone-towers-pretending-to-be-trees/

  20. The Design of Everyday Things Design Psychology (POET) Psychopathology

  21. The Essence of Programming • Programs, or Apps, are models of something in the real world. • We build high quality systems to the extent that we can model the problem space within the solution space. • That is, our computer systems should look like and act like the things they replace

  22. What does the model give us? • So what, we’ve recreated a little piece of the real world in our computer? • It gives us INFORMATION, via SIMULATION. • In a document. In a file. In the computer. • It’s called an App, or a computer program, but it reflects a MODEL. • The objects in the model interact, just like the system it represents. • The solution space should have the same properties, behaviors, and relationships as the problem space it models.

  23. Any computer that does something… Is a model of something in the real world: mp3 players are bands Cell phones are your friends ATMs are bank tellers Robots are people Video games are adventures Nemo is an actor

  24. There’s an App for that • What does this mean, really? • http://www.youtube.com/watch?v=szrsfeyLzyg • http://www.youtube.com/watch?v=mZCdF2Cog1s

  25. summary • Understand the relationship between a computerized system, and its counterpart in the real world • Analyze the model: behaviors, properties, relationships

  26. Programmers use 3 types of computers: 1. A word processor (we’ll call them editors)

  27. Type 2. A file manager (we’ll call it an operating system)

  28. Type 3. Something to run our Apps (or “Programs”)

More Related