Stéphane Ducasse3.1 The Squeak Environment. Stéphane Ducasse3.2 Smalltalk Run-Time Architecture...

Post on 22-Dec-2015

220 views 0 download

Tags:

transcript

Stéphane Ducasse 3.1

The Squeak Environment

Stéphane Ducasse 3.2

Smalltalk Run-Time Architecture

Virtual Machine + Image + Changes and Sources

Image = bytecodesSources 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+

Stéphane Ducasse 3.3

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.

Stéphane Ducasse 3.4

Mouse Semantics

SelectOperateWindowRed BlueYellow

Stéphane Ducasse 3.5

World Menu and Open Menu

Stéphane Ducasse 3.6

Browsing a class

Stéphane Ducasse 3.7

Browsing methods

Stéphane Ducasse 3.8

Inspector

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

Stéphane Ducasse 3.9

Direct Manipulation

•Bring the halo•Experiment

Stéphane Ducasse 3.10

Behavioral Inspector

•Do not break encapsulation•myObject behavioralInspect

Stéphane Ducasse 3.11

Debugger?

Stéphane Ducasse 3.12

Debugger !!!

Stéphane Ducasse 3.13

FileList

Stéphane Ducasse 3.14

ChangeSorter: to sort your changes

Stéphane Ducasse 3.15

Message Names Finder

Stéphane Ducasse 3.16

Stéphane Ducasse 3.17

Methods in ChangeSets + Versions

Stéphane Ducasse 3.18

Preferences

Stéphane Ducasse 3.19

SUnit

Stéphane Ducasse 3.20

Stéphane Ducasse 3.21

Changes Menu…Recently logged files

•Everything you do is recorded

Stéphane Ducasse 3.22

Change your Mind

•Everything you do is recorded !!•So try and learn how to recover your code

•You are smart so –Experiment, – learn for you, browse, –be aggressive, ***all*** the code is there