3 - OOP - Squeak

28
S.Ducasse 1 QuickTime™ TIFF (Uncompr are needed t Stéphane Ducasse [email protected] http://www.listic.univ-savoie.f r/~ducasse/ The Squeak Environment

description

 

Transcript of 3 - OOP - Squeak

Page 1: 3 - OOP - Squeak

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

S.Ducasse 2

License: CC-Attribution-ShareAlike 2.0http://creativecommons.org/licenses/by-sa/2.0/

Page 3: 3 - OOP - Squeak

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

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

S.Ducasse 5

Mouse Semantics

SelectOperateWindowRed BlueYellow

Page 6: 3 - OOP - Squeak

S.Ducasse 6

World Menu and Open Menu

Page 7: 3 - OOP - Squeak

S.Ducasse 7

Browsing a class

Page 8: 3 - OOP - Squeak

S.Ducasse 8

Browsing methods

Page 9: 3 - OOP - Squeak

S.Ducasse 9

Inspector• To look inside objects• Violates encapsulation!!!• Monster new inspect

Page 10: 3 - OOP - Squeak

S.Ducasse 10

Direct Manipulation• Bring the halo• Experiment

Page 11: 3 - OOP - Squeak

S.Ducasse 11

Debugger?

Page 12: 3 - OOP - Squeak

S.Ducasse 12

Debugger !!!

Page 13: 3 - OOP - Squeak

S.Ducasse 13

FileList

Page 14: 3 - OOP - Squeak

S.Ducasse 14

Message Names Finder

Page 15: 3 - OOP - Squeak

S.Ducasse 15

Page 16: 3 - OOP - Squeak

S.Ducasse 16

Methods in ChangeSets + Versions

Page 17: 3 - OOP - Squeak

S.Ducasse 17

Preferences

Page 18: 3 - OOP - Squeak

S.Ducasse 18

SUnit

Page 19: 3 - OOP - Squeak

S.Ducasse 19

Transcript is Sloooooooooooow

19

Page 20: 3 - OOP - Squeak

S.Ducasse 20

Squeak Map Package Loader

Page 21: 3 - OOP - Squeak

S.Ducasse 21

Monticello

Page 22: 3 - OOP - Squeak

S.Ducasse 22

Monticello Change Browser

Page 23: 3 - OOP - Squeak

S.Ducasse 23

Repository

Page 24: 3 - OOP - Squeak

S.Ducasse 24

SqueakSource

24

Page 25: 3 - OOP - Squeak

S.Ducasse 25

Changes Menu…Recently logged files• Everything you do is recorded

Page 26: 3 - OOP - Squeak

S.Ducasse 26

ChangeSorter: to sort your changes

Page 27: 3 - OOP - Squeak

S.Ducasse 27

Cool Packages to LoadShoutRefactoring BrowsereCompletion

Page 28: 3 - OOP - Squeak

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