pharo status (fosdem 2015)

40
Pharo Status (Fosdem15) Marcus Denker http://www.pharo.org

Upload: pharo

Post on 18-Jul-2015

220 views

Category:

Technology


1 download

TRANSCRIPT

Page 1: Pharo Status (Fosdem 2015)

Pharo Status (Fosdem15)Marcus Denker http://www.pharo.org

Page 2: Pharo Status (Fosdem 2015)

Pharo3: Release April `14

Started March 2013

2390 Issue tracker entries with Pharo3 tag closed

854 Updates

Page 3: Pharo Status (Fosdem 2015)

Iceberg

A lot of Changes!

Not everything visible

Created by Uwe Kils (iceberg) and User:Wiska Bodo (sky). CC-BY-SA-3.0 (via Wikimedia Commons

Page 4: Pharo Status (Fosdem 2015)

Lots of Activity

Page 5: Pharo Status (Fosdem 2015)

A lot of Change!

Page 6: Pharo Status (Fosdem 2015)

Yet easy to adopt

Moose switched in two afternoons (two people)

Others: “I just loaded my packages"

Page 7: Pharo Status (Fosdem 2015)

A lot of change… (see FOSDEM14)

Page 8: Pharo Status (Fosdem 2015)

But just one iteration

Page 9: Pharo Status (Fosdem 2015)

The Platform

Jump too large

Proj

ect1

Proj

ect2

Proj

ect3

Page 10: Pharo Status (Fosdem 2015)

Nomadic Solution

- Do not build infrastructure

- Use resources until depleted

- Move on

Page 11: Pharo Status (Fosdem 2015)

The Platform

Jump Possible

Proj

ect1 Pr

ojec

t2

Proj

ect3

Proj

ect4

Page 12: Pharo Status (Fosdem 2015)

Feedback Loop

Projects Infrastructure

Page 13: Pharo Status (Fosdem 2015)

Every improvement has an effect

Page 14: Pharo Status (Fosdem 2015)

Even Trivial Changes

Page 15: Pharo Status (Fosdem 2015)
Page 16: Pharo Status (Fosdem 2015)

Pharo4

Page 17: Pharo Status (Fosdem 2015)

Pharo4

Again: To be released Spring 2015

470 updates

>1200 Issues closed

Very stable

Page 18: Pharo Status (Fosdem 2015)

Small stuff…

Improved Refactorings

6MB Deployment Image

ifTrue: on non-Booleans

Browser and Tool cleanups

Context Cleanup (MethodContext/ContextPart merge)

Page 19: Pharo Status (Fosdem 2015)

Dark Theme

Page 20: Pharo Status (Fosdem 2015)

GT Tools

Start to replace all tools

For now: Inspector + Spotter

http://gt.moosetechnology.org

Page 21: Pharo Status (Fosdem 2015)

Video: GTInspector

https://www.youtube.com/watch?v=wdYhM9byyPw

Page 22: Pharo Status (Fosdem 2015)

Demo: Inspect Methods

Page 23: Pharo Status (Fosdem 2015)

Demo: GTSpotter

Page 24: Pharo Status (Fosdem 2015)

First Class Variables

• First class Instance Variables (Slots)

• First class globals + class variables

Page 25: Pharo Status (Fosdem 2015)

For what?

• Allows programmers to define behavior

• Easy reflection on variable access

• Break on variable read, for example

Page 26: Pharo Status (Fosdem 2015)

In Progress…

Page 27: Pharo Status (Fosdem 2015)

Advanced Reflection

• Partial Behavioral Reflection

• Associate MetaObject with structural object

• Slots, Globals

• AST nodes

Page 28: Pharo Status (Fosdem 2015)

Why?

• Change behaviour for selected AST Nodes or Variables

• “All variable reads”

• “this message send”

But without changing the program code!

Page 29: Pharo Status (Fosdem 2015)

Epicea

• Replace .changes

• High level model:

• aggregate changes (refactoring)

• serialized to disk independent of source model

Page 30: Pharo Status (Fosdem 2015)
Page 31: Pharo Status (Fosdem 2015)

A new GC: Spur

• New Object Layout

• e.g. faster instanciation, larger hash

• Ephemerons, Fast Become:, Pinned Objects

• Double Performance

Page 32: Pharo Status (Fosdem 2015)

The Future

Page 33: Pharo Status (Fosdem 2015)

64 bit COG VM

New Spur GC+Object layout has 64bit version

64bit in development

prototype starts to works in interpreter VM

32bit images can be converted to 64bit

Page 34: Pharo Status (Fosdem 2015)

Sista: Runtime Optimizer

Current JIT work per method

Sista: detect hotspots, collect type info ==> Optimize

Bytecode-2-Bytecode

Optimizer implemented in Pharo Image

Page 35: Pharo Status (Fosdem 2015)

OSWindow+SDL2

Move window logic to Smalltalk

Backend uses libSDL2 via FFI

Multiple OS Windows, OpenGL…

Page 36: Pharo Status (Fosdem 2015)

Block: Morphic, redone

Page 37: Pharo Status (Fosdem 2015)

Woden 3D

https://www.youtube.com/watch?v=1Nze9tnwYxY

Page 38: Pharo Status (Fosdem 2015)

Virtual GPU

https://www.youtube.com/watch?v=6xrq4OkvSi4

The VirtualGPU is a simple DSL/framework for parallel algorithms.

Page 39: Pharo Status (Fosdem 2015)

Too much to show…

Twitter: @pharoproject

reddit Smalltalk sub-reddit

Google+

Page 40: Pharo Status (Fosdem 2015)

Questions ?