3 - oop - squeak
DESCRIPTION
TRANSCRIPT
![Page 1: 3 - OOP - Squeak](https://reader033.vdocuments.site/reader033/viewer/2022061214/549e9459b479595b208b4795/html5/thumbnails/1.jpg)
S.Ducasse 1
QuickTime™ and aTIFF (Uncompressed) decompressorare needed to see this picture.
Stéphane [email protected]://www.listic.univ-savoie.fr/~ducasse/
The Squeak Environment
![Page 2: 3 - OOP - Squeak](https://reader033.vdocuments.site/reader033/viewer/2022061214/549e9459b479595b208b4795/html5/thumbnails/2.jpg)
S.Ducasse 2
License: CC-Attribution-ShareAlike 2.0http://creativecommons.org/licenses/by-sa/2.0/
![Page 3: 3 - OOP - Squeak](https://reader033.vdocuments.site/reader033/viewer/2022061214/549e9459b479595b208b4795/html5/thumbnails/3.jpg)
S.Ducasse 3
Smalltalk Run-Time Architecture• Virtual Machine + Image + Changes and Sources
• Image = bytecodes• Sources and changes = code (text)
A byte-code interpreter:the virtual machine interpretes the imageIMAGE2.IMIMAGE2.CHAStandard SOURCESShared by everybody
IMAGE1.IMIMAGE1.CHAAll the objects of the systemat a moment in time
One per user+
![Page 4: 3 - OOP - Squeak](https://reader033.vdocuments.site/reader033/viewer/2022061214/549e9459b479595b208b4795/html5/thumbnails/4.jpg)
S.Ducasse 4
Runtime Architecture• The byte-code is in fact translated into native
code by a just-in-time compiler.
• The source and the changes are not necessary for interpreting the byte-code, this is just for the development. Normally they are removed for deployment.
• An application can be delivered as some byte-code files that will be executed with a VM. The development image is stripped to remove the unnecessary development components.
![Page 5: 3 - OOP - Squeak](https://reader033.vdocuments.site/reader033/viewer/2022061214/549e9459b479595b208b4795/html5/thumbnails/5.jpg)
S.Ducasse 5
Mouse Semantics
SelectOperateWindowRed BlueYellow
![Page 6: 3 - OOP - Squeak](https://reader033.vdocuments.site/reader033/viewer/2022061214/549e9459b479595b208b4795/html5/thumbnails/6.jpg)
S.Ducasse 6
World Menu and Open Menu
![Page 7: 3 - OOP - Squeak](https://reader033.vdocuments.site/reader033/viewer/2022061214/549e9459b479595b208b4795/html5/thumbnails/7.jpg)
S.Ducasse 7
Browsing a class
![Page 8: 3 - OOP - Squeak](https://reader033.vdocuments.site/reader033/viewer/2022061214/549e9459b479595b208b4795/html5/thumbnails/8.jpg)
S.Ducasse 8
Browsing methods
![Page 9: 3 - OOP - Squeak](https://reader033.vdocuments.site/reader033/viewer/2022061214/549e9459b479595b208b4795/html5/thumbnails/9.jpg)
S.Ducasse 9
Inspector• To look inside objects• Violates encapsulation!!!• Monster new inspect
![Page 10: 3 - OOP - Squeak](https://reader033.vdocuments.site/reader033/viewer/2022061214/549e9459b479595b208b4795/html5/thumbnails/10.jpg)
S.Ducasse 10
Direct Manipulation• Bring the halo• Experiment
![Page 11: 3 - OOP - Squeak](https://reader033.vdocuments.site/reader033/viewer/2022061214/549e9459b479595b208b4795/html5/thumbnails/11.jpg)
S.Ducasse 11
Debugger?
![Page 12: 3 - OOP - Squeak](https://reader033.vdocuments.site/reader033/viewer/2022061214/549e9459b479595b208b4795/html5/thumbnails/12.jpg)
S.Ducasse 12
Debugger !!!
![Page 13: 3 - OOP - Squeak](https://reader033.vdocuments.site/reader033/viewer/2022061214/549e9459b479595b208b4795/html5/thumbnails/13.jpg)
S.Ducasse 13
FileList
![Page 14: 3 - OOP - Squeak](https://reader033.vdocuments.site/reader033/viewer/2022061214/549e9459b479595b208b4795/html5/thumbnails/14.jpg)
S.Ducasse 14
Message Names Finder
![Page 15: 3 - OOP - Squeak](https://reader033.vdocuments.site/reader033/viewer/2022061214/549e9459b479595b208b4795/html5/thumbnails/15.jpg)
S.Ducasse 15
![Page 16: 3 - OOP - Squeak](https://reader033.vdocuments.site/reader033/viewer/2022061214/549e9459b479595b208b4795/html5/thumbnails/16.jpg)
S.Ducasse 16
Methods in ChangeSets + Versions
![Page 17: 3 - OOP - Squeak](https://reader033.vdocuments.site/reader033/viewer/2022061214/549e9459b479595b208b4795/html5/thumbnails/17.jpg)
S.Ducasse 17
Preferences
![Page 18: 3 - OOP - Squeak](https://reader033.vdocuments.site/reader033/viewer/2022061214/549e9459b479595b208b4795/html5/thumbnails/18.jpg)
S.Ducasse 18
SUnit
![Page 19: 3 - OOP - Squeak](https://reader033.vdocuments.site/reader033/viewer/2022061214/549e9459b479595b208b4795/html5/thumbnails/19.jpg)
S.Ducasse 19
Transcript is Sloooooooooooow
19
![Page 20: 3 - OOP - Squeak](https://reader033.vdocuments.site/reader033/viewer/2022061214/549e9459b479595b208b4795/html5/thumbnails/20.jpg)
S.Ducasse 20
Squeak Map Package Loader
![Page 21: 3 - OOP - Squeak](https://reader033.vdocuments.site/reader033/viewer/2022061214/549e9459b479595b208b4795/html5/thumbnails/21.jpg)
S.Ducasse 21
Monticello
![Page 22: 3 - OOP - Squeak](https://reader033.vdocuments.site/reader033/viewer/2022061214/549e9459b479595b208b4795/html5/thumbnails/22.jpg)
S.Ducasse 22
Monticello Change Browser
![Page 23: 3 - OOP - Squeak](https://reader033.vdocuments.site/reader033/viewer/2022061214/549e9459b479595b208b4795/html5/thumbnails/23.jpg)
S.Ducasse 23
Repository
![Page 24: 3 - OOP - Squeak](https://reader033.vdocuments.site/reader033/viewer/2022061214/549e9459b479595b208b4795/html5/thumbnails/24.jpg)
S.Ducasse 24
SqueakSource
24
![Page 25: 3 - OOP - Squeak](https://reader033.vdocuments.site/reader033/viewer/2022061214/549e9459b479595b208b4795/html5/thumbnails/25.jpg)
S.Ducasse 25
Changes Menu…Recently logged files• Everything you do is recorded
![Page 26: 3 - OOP - Squeak](https://reader033.vdocuments.site/reader033/viewer/2022061214/549e9459b479595b208b4795/html5/thumbnails/26.jpg)
S.Ducasse 26
ChangeSorter: to sort your changes
![Page 27: 3 - OOP - Squeak](https://reader033.vdocuments.site/reader033/viewer/2022061214/549e9459b479595b208b4795/html5/thumbnails/27.jpg)
S.Ducasse 27
Cool Packages to LoadShoutRefactoring BrowsereCompletion
![Page 28: 3 - OOP - Squeak](https://reader033.vdocuments.site/reader033/viewer/2022061214/549e9459b479595b208b4795/html5/thumbnails/28.jpg)
S.Ducasse 28
Change your MindEverything you do is recorded !!So try and learn how to recover your code
You are smart so Experiment, Learn for you, browse, educate your taste (not all Squeak code is good)Be aggressive, ***all*** the code is there