objects: the misunderstood paradigm
TRANSCRIPT
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!
twitter: @10Pines
Argentina
Tel.: +54 (11) 6091-3125Alem 693, 5B(1001) Buenos Aires