objects: the misunderstood paradigm
TRANSCRIPT
![Page 1: Objects: The Misunderstood Paradigm](https://reader031.vdocuments.site/reader031/viewer/2022032014/55d58edcbb61eb1f218b4770/html5/thumbnails/1.jpg)
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](https://reader031.vdocuments.site/reader031/viewer/2022032014/55d58edcbb61eb1f218b4770/html5/thumbnails/2.jpg)
Why a talk about the Object Paradigm?
![Page 3: Objects: The Misunderstood Paradigm](https://reader031.vdocuments.site/reader031/viewer/2022032014/55d58edcbb61eb1f218b4770/html5/thumbnails/3.jpg)
Some examples
- Arrays- IllegalFormatException/
NoSuchElementException- Cloneable/Serializable- Calendar- Calendar/Timer
![Page 4: Objects: The Misunderstood Paradigm](https://reader031.vdocuments.site/reader031/viewer/2022032014/55d58edcbb61eb1f218b4770/html5/thumbnails/4.jpg)
There must be another way!!
![Page 5: Objects: The Misunderstood Paradigm](https://reader031.vdocuments.site/reader031/viewer/2022032014/55d58edcbb61eb1f218b4770/html5/thumbnails/5.jpg)
Paradigm
![Page 6: Objects: The Misunderstood Paradigm](https://reader031.vdocuments.site/reader031/viewer/2022032014/55d58edcbb61eb1f218b4770/html5/thumbnails/6.jpg)
Object Oriented Paradigm
• Mainly Two Definitions• Founding one (pure)• Not Founding one (not pure)
![Page 7: Objects: The Misunderstood Paradigm](https://reader031.vdocuments.site/reader031/viewer/2022032014/55d58edcbb61eb1f218b4770/html5/thumbnails/7.jpg)
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](https://reader031.vdocuments.site/reader031/viewer/2022032014/55d58edcbb61eb1f218b4770/html5/thumbnails/8.jpg)
Smalltalk (70s)
Xerox Parc - LRGAlan KayDan IngallsAdele Goldberg
![Page 9: Objects: The Misunderstood Paradigm](https://reader031.vdocuments.site/reader031/viewer/2022032014/55d58edcbb61eb1f218b4770/html5/thumbnails/9.jpg)
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](https://reader031.vdocuments.site/reader031/viewer/2022032014/55d58edcbb61eb1f218b4770/html5/thumbnails/10.jpg)
C++ (78 starts with C with Classes)
![Page 11: Objects: The Misunderstood Paradigm](https://reader031.vdocuments.site/reader031/viewer/2022032014/55d58edcbb61eb1f218b4770/html5/thumbnails/11.jpg)
Xerox Parc & Steve Jobs
![Page 12: Objects: The Misunderstood Paradigm](https://reader031.vdocuments.site/reader031/viewer/2022032014/55d58edcbb61eb1f218b4770/html5/thumbnails/12.jpg)
OO Goals
• Augment human intelect• Help in Education
![Page 13: Objects: The Misunderstood Paradigm](https://reader031.vdocuments.site/reader031/viewer/2022032014/55d58edcbb61eb1f218b4770/html5/thumbnails/13.jpg)
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](https://reader031.vdocuments.site/reader031/viewer/2022032014/55d58edcbb61eb1f218b4770/html5/thumbnails/14.jpg)
Rules
• Everything is an Object• Everything is done sending Messages
• Sintax:object message
![Page 15: Objects: The Misunderstood Paradigm](https://reader031.vdocuments.site/reader031/viewer/2022032014/55d58edcbb61eb1f218b4770/html5/thumbnails/15.jpg)
What’s an Object?(example)
![Page 16: Objects: The Misunderstood Paradigm](https://reader031.vdocuments.site/reader031/viewer/2022032014/55d58edcbb61eb1f218b4770/html5/thumbnails/16.jpg)
What’s a Message?(example)
![Page 17: Objects: The Misunderstood Paradigm](https://reader031.vdocuments.site/reader031/viewer/2022032014/55d58edcbb61eb1f218b4770/html5/thumbnails/17.jpg)
What’s a Class then?(example)
![Page 18: Objects: The Misunderstood Paradigm](https://reader031.vdocuments.site/reader031/viewer/2022032014/55d58edcbb61eb1f218b4770/html5/thumbnails/18.jpg)
What’s Data?(example)
![Page 19: Objects: The Misunderstood Paradigm](https://reader031.vdocuments.site/reader031/viewer/2022032014/55d58edcbb61eb1f218b4770/html5/thumbnails/19.jpg)
What’s Code?(example)
![Page 20: Objects: The Misunderstood Paradigm](https://reader031.vdocuments.site/reader031/viewer/2022032014/55d58edcbb61eb1f218b4770/html5/thumbnails/20.jpg)
What’s a good Model?(example)
![Page 21: Objects: The Misunderstood Paradigm](https://reader031.vdocuments.site/reader031/viewer/2022032014/55d58edcbb61eb1f218b4770/html5/thumbnails/21.jpg)
What’s Inmediate Feedback? Why?What’s Direct Manipulation? Why?
(we saw many examples already )
![Page 22: Objects: The Misunderstood Paradigm](https://reader031.vdocuments.site/reader031/viewer/2022032014/55d58edcbb61eb1f218b4770/html5/thumbnails/22.jpg)
Real life examples
• Web application• Persistence
![Page 23: Objects: The Misunderstood Paradigm](https://reader031.vdocuments.site/reader031/viewer/2022032014/55d58edcbb61eb1f218b4770/html5/thumbnails/23.jpg)
What do we loose without these characteristics?
![Page 24: Objects: The Misunderstood Paradigm](https://reader031.vdocuments.site/reader031/viewer/2022032014/55d58edcbb61eb1f218b4770/html5/thumbnails/24.jpg)
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](https://reader031.vdocuments.site/reader031/viewer/2022032014/55d58edcbb61eb1f218b4770/html5/thumbnails/25.jpg)
You are advised!No complaints accepted!
![Page 26: Objects: The Misunderstood Paradigm](https://reader031.vdocuments.site/reader031/viewer/2022032014/55d58edcbb61eb1f218b4770/html5/thumbnails/26.jpg)
Questions?
![Page 27: Objects: The Misunderstood Paradigm](https://reader031.vdocuments.site/reader031/viewer/2022032014/55d58edcbb61eb1f218b4770/html5/thumbnails/27.jpg)
agile software development & services
Muchas gracias!
twitter: @10Pines
Argentina
Tel.: +54 (11) 6091-3125Alem 693, 5B(1001) Buenos Aires