Objects: The Misunderstood Paradigm

Preview:

Citation preview

agile software development & services

Objects: the Misunderstood Paradigm

Hernán Wilkinson

Twitter: @HernanWilkinsonBlog: objectmodels.blogspot.com

www.10pines.com

Why a talk about the Object Paradigm?

Some examples

- Arrays- IllegalFormatException/

NoSuchElementException- Cloneable/Serializable- Calendar- Calendar/Timer

There must be another way!!

Paradigm

Object Oriented Paradigm

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

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.!!)

Smalltalk (70s)

Xerox Parc - LRGAlan KayDan IngallsAdele Goldberg

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

C++ (78 starts with C with Classes)

Xerox Parc & Steve Jobs

OO Goals

• Augment human intelect• Help in Education

Principles

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

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

Rules

• Everything is an Object• Everything is done sending Messages

• Sintax:object message

What’s an Object?(example)

What’s a Message?(example)

What’s a Class then?(example)

What’s Data?(example)

What’s Code?(example)

What’s a good Model?(example)

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

(we saw many examples already )

Real life examples

• Web application• Persistence

What do we loose without these characteristics?

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

You are advised!No complaints accepted!

Questions?

agile software development & services

Muchas gracias!

info@10pines.comwww.10Pines.com

twitter: @10Pines

Argentina

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