Objects: The Misunderstood Paradigm

27
agile software development & services Objects: the Misunderstood Paradigm Hernán Wilkinson Twitter: @HernanWilkinson Blog: objectmodels.blogspot.com www.10pines.com

Transcript of Objects: The Misunderstood Paradigm

Page 1: Objects: The Misunderstood Paradigm

agile software development & services

Objects: the Misunderstood Paradigm

Hernán Wilkinson

Twitter: @HernanWilkinsonBlog: objectmodels.blogspot.com

www.10pines.com

Page 2: Objects: The Misunderstood Paradigm

Why a talk about the Object Paradigm?

Page 3: Objects: The Misunderstood Paradigm

Some examples

- Arrays- IllegalFormatException/

NoSuchElementException- Cloneable/Serializable- Calendar- Calendar/Timer

Page 4: Objects: The Misunderstood Paradigm

There must be another way!!

Page 5: Objects: The Misunderstood Paradigm

Paradigm

Page 6: Objects: The Misunderstood Paradigm

Object Oriented Paradigm

• Mainly Two Definitions• Founding one (pure)• Not Founding one (not pure)

Page 7: Objects: The Misunderstood Paradigm

Little bit of History - Simula 67

Software as a Model! Organization of Knowledge History tip:

Goto Considered Harmfull – 68 Structured Programming – 71

(using Simula 67 as prog. lang.!!)

Page 8: Objects: The Misunderstood Paradigm

Smalltalk (70s)

Xerox Parc - LRGAlan KayDan IngallsAdele Goldberg

Page 9: Objects: The Misunderstood Paradigm

Smalltalk (70s)

Lisp

Simula 67

Flex Machine

DynaBook

Augment ChildrenComprehention

Smalltalk(72,74,76,78,80)

GUI - IDE

Object OrientedVM

http://www.youtube.com/watch?v=AuXCc7WSczM

Page 10: Objects: The Misunderstood Paradigm

C++ (78 starts with C with Classes)

Page 11: Objects: The Misunderstood Paradigm

Xerox Parc & Steve Jobs

Page 12: Objects: The Misunderstood Paradigm

OO Goals

• Augment human intelect• Help in Education

Page 13: Objects: The Misunderstood Paradigm

Principles

• Simplicity• Consistency• Inmediate Feedbak• Direct Manipulation• Open• Software as a Model

(based on Brunner’s/Piaget’s ideas)

Page 14: Objects: The Misunderstood Paradigm

Rules

• Everything is an Object• Everything is done sending Messages

• Sintax:object message

Page 15: Objects: The Misunderstood Paradigm

What’s an Object?(example)

Page 16: Objects: The Misunderstood Paradigm

What’s a Message?(example)

Page 17: Objects: The Misunderstood Paradigm

What’s a Class then?(example)

Page 18: Objects: The Misunderstood Paradigm

What’s Data?(example)

Page 19: Objects: The Misunderstood Paradigm

What’s Code?(example)

Page 20: Objects: The Misunderstood Paradigm

What’s a good Model?(example)

Page 21: Objects: The Misunderstood Paradigm

What’s Inmediate Feedback? Why?What’s Direct Manipulation? Why?

(we saw many examples already )

Page 22: Objects: The Misunderstood Paradigm

Real life examples

• Web application• Persistence

Page 23: Objects: The Misunderstood Paradigm

What do we loose without these characteristics?

Page 24: Objects: The Misunderstood Paradigm

What can we do?

• Learn other languages• Read more than what the “market” uses• Get freed from the language!• Get freed from the frameworks!• Look for your own experiences

Page 25: Objects: The Misunderstood Paradigm

You are advised!No complaints accepted!

Page 26: Objects: The Misunderstood Paradigm

Questions?

Page 27: Objects: The Misunderstood Paradigm

agile software development & services

Muchas gracias!

[email protected]

twitter: @10Pines

Argentina

Tel.: +54 (11) 6091-3125Alem 693, 5B(1001) Buenos Aires