22
Stéphane Ducasse 3.1 The Squeak Environment

Stéphane Ducasse3.1 The Squeak Environment. Stéphane Ducasse3.2 Smalltalk Run-Time Architecture Virtual Machine + Image + Changes and Sources Image =

  • View
    218

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Stéphane Ducasse3.1 The Squeak Environment. Stéphane Ducasse3.2 Smalltalk Run-Time Architecture Virtual Machine + Image + Changes and Sources Image =

Stéphane Ducasse 3.1

The Squeak Environment

Page 2: Stéphane Ducasse3.1 The Squeak Environment. Stéphane Ducasse3.2 Smalltalk Run-Time Architecture Virtual Machine + Image + Changes and Sources Image =

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+

Page 3: Stéphane Ducasse3.1 The Squeak Environment. Stéphane Ducasse3.2 Smalltalk Run-Time Architecture Virtual Machine + Image + Changes and Sources Image =

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.

Page 4: Stéphane Ducasse3.1 The Squeak Environment. Stéphane Ducasse3.2 Smalltalk Run-Time Architecture Virtual Machine + Image + Changes and Sources Image =

Stéphane Ducasse 3.4

Mouse Semantics

SelectOperateWindowRed BlueYellow

Page 5: Stéphane Ducasse3.1 The Squeak Environment. Stéphane Ducasse3.2 Smalltalk Run-Time Architecture Virtual Machine + Image + Changes and Sources Image =

Stéphane Ducasse 3.5

World Menu and Open Menu

Page 6: Stéphane Ducasse3.1 The Squeak Environment. Stéphane Ducasse3.2 Smalltalk Run-Time Architecture Virtual Machine + Image + Changes and Sources Image =

Stéphane Ducasse 3.6

Browsing a class

Page 7: Stéphane Ducasse3.1 The Squeak Environment. Stéphane Ducasse3.2 Smalltalk Run-Time Architecture Virtual Machine + Image + Changes and Sources Image =

Stéphane Ducasse 3.7

Browsing methods

Page 8: Stéphane Ducasse3.1 The Squeak Environment. Stéphane Ducasse3.2 Smalltalk Run-Time Architecture Virtual Machine + Image + Changes and Sources Image =

Stéphane Ducasse 3.8

Inspector

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

Page 9: Stéphane Ducasse3.1 The Squeak Environment. Stéphane Ducasse3.2 Smalltalk Run-Time Architecture Virtual Machine + Image + Changes and Sources Image =

Stéphane Ducasse 3.9

Direct Manipulation

•Bring the halo•Experiment

Page 10: Stéphane Ducasse3.1 The Squeak Environment. Stéphane Ducasse3.2 Smalltalk Run-Time Architecture Virtual Machine + Image + Changes and Sources Image =

Stéphane Ducasse 3.10

Behavioral Inspector

•Do not break encapsulation•myObject behavioralInspect

Page 11: Stéphane Ducasse3.1 The Squeak Environment. Stéphane Ducasse3.2 Smalltalk Run-Time Architecture Virtual Machine + Image + Changes and Sources Image =

Stéphane Ducasse 3.11

Debugger?

Page 12: Stéphane Ducasse3.1 The Squeak Environment. Stéphane Ducasse3.2 Smalltalk Run-Time Architecture Virtual Machine + Image + Changes and Sources Image =

Stéphane Ducasse 3.12

Debugger !!!

Page 13: Stéphane Ducasse3.1 The Squeak Environment. Stéphane Ducasse3.2 Smalltalk Run-Time Architecture Virtual Machine + Image + Changes and Sources Image =

Stéphane Ducasse 3.13

FileList

Page 14: Stéphane Ducasse3.1 The Squeak Environment. Stéphane Ducasse3.2 Smalltalk Run-Time Architecture Virtual Machine + Image + Changes and Sources Image =

Stéphane Ducasse 3.14

ChangeSorter: to sort your changes

Page 15: Stéphane Ducasse3.1 The Squeak Environment. Stéphane Ducasse3.2 Smalltalk Run-Time Architecture Virtual Machine + Image + Changes and Sources Image =

Stéphane Ducasse 3.15

Message Names Finder

Page 16: Stéphane Ducasse3.1 The Squeak Environment. Stéphane Ducasse3.2 Smalltalk Run-Time Architecture Virtual Machine + Image + Changes and Sources Image =

Stéphane Ducasse 3.16

Page 17: Stéphane Ducasse3.1 The Squeak Environment. Stéphane Ducasse3.2 Smalltalk Run-Time Architecture Virtual Machine + Image + Changes and Sources Image =

Stéphane Ducasse 3.17

Methods in ChangeSets + Versions

Page 18: Stéphane Ducasse3.1 The Squeak Environment. Stéphane Ducasse3.2 Smalltalk Run-Time Architecture Virtual Machine + Image + Changes and Sources Image =

Stéphane Ducasse 3.18

Preferences

Page 19: Stéphane Ducasse3.1 The Squeak Environment. Stéphane Ducasse3.2 Smalltalk Run-Time Architecture Virtual Machine + Image + Changes and Sources Image =

Stéphane Ducasse 3.19

SUnit

Page 20: Stéphane Ducasse3.1 The Squeak Environment. Stéphane Ducasse3.2 Smalltalk Run-Time Architecture Virtual Machine + Image + Changes and Sources Image =

Stéphane Ducasse 3.20

Page 21: Stéphane Ducasse3.1 The Squeak Environment. Stéphane Ducasse3.2 Smalltalk Run-Time Architecture Virtual Machine + Image + Changes and Sources Image =

Stéphane Ducasse 3.21

Changes Menu…Recently logged files

•Everything you do is recorded

Page 22: Stéphane Ducasse3.1 The Squeak Environment. Stéphane Ducasse3.2 Smalltalk Run-Time Architecture Virtual Machine + Image + Changes and Sources Image =

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