Pharo Update

82
Pharo news Consortium.pharo.org http://www.pharo.org

Transcript of Pharo Update

Page 1: Pharo Update

Pharo news

Consortium.pharo.org http://www.pharo.org

Page 2: Pharo Update
Page 3: Pharo Update

You may remember…

Page 4: Pharo Update

A powerful engine to invent (y)our future

Page 5: Pharo Update

An ecosystem where innovation/business bloom

Page 6: Pharo Update

• Uni. of Buenos Aires • Uni. of Bern • Uni. of Maroua • Uni. of Brussels • Ecole des Mines de Douai • Uni. de Savoie • Ivan Franko Nat. Uni. of Lviv • Czech Technical Uni. • CULS Prague• Uni. of Quilmes • Uni. of La Plata • Northern Michigan Uni. • Uni. Technologica Nacional (UTN) • Uni. Catholic of Argentina • Uni. of Santiago • Uni. Policnica de Catalunya • Uni. de Bretagne Occidentale • Uni. of Tomsk • Uni. of Fernhagen • IT University of Copenhagen • Uni. Cat del Sacro Cuore of Brescia • Uni. of Yaounde • Uni. of Saint-Louis • Uni. of Lomé • INFI • Uni. of Lyon • Uni. of Cagliari

More Pharo's Teachers

Page 7: Pharo Update
Page 8: Pharo Update

More Tweets, blogs, buzz

Pharo 3,904 tweets / 1,485 followers S. Ducasse tweets 1265 / 1083 followers S. Stinckwich 15.7K / 1506 followers Moose 998 tweets / 506 followers Youtube Pharo smalltalk: about 1540 videos!

Page 9: Pharo Update

Kind of a dreamOnly one mail per month! 1300 happy subscribers

Page 10: Pharo Update

Blogshttp://pharo.org/blogs http://astares.blogspot.co.uk http://clementbera.wordpress.com http://pharoweekly.wordpress.com

• Guille Polito, Playing with Objects • Mariano Martinez Peck, Sending messages • Igor Stasenko, Computer Adventures • Laurent Laffont, MaGaLoMa • Esteban Lorenzano, The Martian Chronicles • Tudor Girba, Humane assessment

Page 11: Pharo Update

Over 100 contributors for Pharo 5.0

**THANK** YOU ALL !!!

There are more and more people that we never met! We need to drink a beer with you:)

More Contributors

Page 12: Pharo Update

Lafhis (AR)Software Composition Group (CH)CAR (FR)RMOD (FR) Ummisco (IRD) Reveal (CH) CEA-List (FR) Uqbar (AR)

More Research GroupsLab-STICC (FR) IGEVET (AR) Pleiad (CL) Rych (CL) OC (FR) CCMI-FIT (CZ) ASERG (BR) AgileGroup (IT)

Page 13: Pharo Update

LabWare Consortium Matching Campaign

Any participation to the consortium will be doubled by LabWare, Feenk, ObjectProfile!

http://consortium.pharo.org/web/Membership

Page 14: Pharo Update

You may remember… ][

Page 15: Pharo Update

Pharo is (y)our vehicule

Page 16: Pharo Update

Pharo is

yours

Page 17: Pharo Update

Pharo is not perfect But **every** single day we improve it

Page 18: Pharo Update

Yes you can have an impact in 1h per week

Page 19: Pharo Update

New books!!!

• Numerical Methods in Pharo Tx D. Besset

• Entreprise Pharo: a Web Perspective

• Soon “Updated Pharo by Example”

• Soon TinyBlog : a Web Tutorial (FR/EN)

Page 20: Pharo Update

http

://bo

oks.

phar

o.or

g

Page 21: Pharo Update

On Sale @ ESUG

Page 22: Pharo Update

On Sale @ ESUG

Page 23: Pharo Update

Pharo MOOC on FUN

• 3000 registered people

• Around 300 finished all the exercises and got a credit

• Not sure we will do another iteration

Page 24: Pharo Update

http://MOOC.Pharo.org• Everything is in Creative Commons

• 7 weeks / 1h videos a week

• 60 lectures/videos + 30 interactive videos

• Exercises + Challenges + Mini Projects

• subtitle: eng/french/(spanish we are looking for subwriters)

Page 25: Pharo Update

http://MOOC.Pharo.org

Page 26: Pharo Update

Pharo Starter Kit• One USB Stick

• **EVERYTHING** packaged and ready

Page 27: Pharo Update

Pharo5.0

Page 28: Pharo Update

A Major Release

Page 29: Pharo Update

A Major ReleaseCog + Spur Complete New uFFI (compatible with NB) Many improvements New tools Massive cleaning

Page 30: Pharo Update

Pharo5.0

Released Spring 2016 >1700 Issues closed

Page 31: Pharo Update

‘Small’ stuff… UpdatesImproved Refactorings (Tx Mark) OSSubprocess (Tx Mariano)

Quality Assistant (Tx Yuriy) Breakpoints (Tx Marcus) Rubric for Text (as a way to go to TxText (Tx Alain) 6MB Deployment Image (Tx Pavel/Guille) Browser and Tool cleanups (Tx Nicolai) New bytecode set (Tx Clément/Eliot) Compiler enhancements (Tx Marcus/Clement)

Page 32: Pharo Update

Dark Theme2

Page 33: Pharo Update

GT Tools

Start to replace old tools

Workspace + Inspector + Spotter

http://gt.moosetechnology.org

Page 34: Pharo Update

Playground: Workspace on steroids

Page 35: Pharo Update

GTInspector: empower you to revisit your interaction with your objects

Page 36: Pharo Update

Demo: Inspect Methods

Page 37: Pharo Update

GTInspector is the killer inspector!

Tx

Page 38: Pharo Update

Finding revisited

Page 39: Pharo Update

Soon Faster Than VW :)

Now Cog+Spur is in par with VisualWorks :) Soon with Sista even a lot “more faster” Tx Eliot and Clement (and RMoD) for all this!!

Page 40: Pharo Update

A new GC: Spur

• New Object Layout

• e.g. faster instantiation, larger hash

• Ephemerons, Fast Become:, Pinned Objects

• Immutable

• Double Performance

Page 41: Pharo Update

Yet easy to adopt

Moose (152 packages) switched in two afternoons (two people)

Others: “I just loaded my packages"

Page 42: Pharo Update

Pharo 6.0 in one word!

Page 43: Pharo Update

Stabilisation

Page 44: Pharo Update

Stabilisation

Page 45: Pharo Update

Stabilisation

Page 46: Pharo Update

Epicea

• Replace .changes

• High level model:

• aggregate changes (refactoring)

• serialized to disk independent of source model

Page 47: Pharo Update
Page 48: Pharo Update

sampleInstance and example reconciled

CTGrid class >> grid22 <sampleInstance>

| grid1 | grid1 := self new: 2. grid1 atRow: 1 atColumn: 1 put: 1. grid1 atRow: 1 atColumn: 2 put: 3. grid1 atRow: 2 atColumn: 1 put: 2. grid1 atRow: 2 atColumn: 2 put: 4. ^ grid1

CTGrid class >> exampleFoo

Do whatever you want Display whatever you want

ReuseCTGridTest >> grid22IsGreat

self assert: CTGrid grid22 isGreat

Exploration

Page 49: Pharo Update

sampleInstance and example reconciled

Exploration

Documentation

Access

Page 50: Pharo Update

New Match tool

Page 51: Pharo Update

New Quality Model

Renaku More rules Better rules Tx Yuriy

Page 52: Pharo Update

Ongoing Progress…

Page 53: Pharo Update

64 bits COG VM

64 bits in development already working for linux and mac (it will be released in September for Pharo) work in progress for windows

Thanks Eliot and "all vm-dev team”

Page 54: Pharo Update

Bootstrap

• Define Pharo in Pharo with Pharo (not C)

• Rebuild the kernel from this definition

• Reload all the rest

Page 55: Pharo Update

Bootstrap in production• Massive :)

• Massive improvements in quality (deadcode, hidden dependencies, modularity)

• Open the door to many improvements

• No more shrinking :)

• Tx Guille, Christophe and Pavel

Page 56: Pharo Update

Modern Version Control

• Iceberg

• Git but not only

• Pull Request

Page 57: Pharo Update

Cargo

• Package management system

• Meta data at the package level

• Support for package distribution (npm, …)

Page 58: Pharo Update

The Future is Bright

Sista

Bloc

Brick

ThreadedFFI

Page 59: Pharo Update

Sista: Runtime Optimizer is stabilizing :)

Current JIT work per method

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

Support 4th level optimisation of modern VMs (V8, Java)

Bytecode-2-Bytecode

Optimizer implemented in Pharo Image

Page 60: Pharo Update

Block[2] := Bloc anotherSpin

Page 61: Pharo Update

The Business corner

Page 62: Pharo Update

Some Success Stories

Page 63: Pharo Update

Pharo is ATM Like Device in Moscow

Page 64: Pharo Update

Sysmocom: Free Software for Mobile Communication

Page 65: Pharo Update

Programmable Logic Controllers

Page 66: Pharo Update

Programmable Logic Controllers

Page 67: Pharo Update

CableExpertise

Page 68: Pharo Update

MultiCity

Page 69: Pharo Update
Page 70: Pharo Update

We can do better to support your business!

Pro

Page 71: Pharo Update

Pro

Page 72: Pharo Update

Pharo Pro

Managed by the Pharo Consortium Professional Support

Page 73: Pharo Update

Pharo Pro Services

Long Term Support (LTS) Supporting different platforms Supporting migration Specific development (libraries, bindings)

Page 74: Pharo Update

Pharo Pro

Talk to us :) Esteban and me are here to talk to you

Page 75: Pharo Update

External projects

Far too many to list them :)

Page 76: Pharo Update

Better Database support

• Garage provides a unified API

• Glorp up to date.

Page 77: Pharo Update

More support for NoSQL

• Towards Voyage 2

• PunQlite

• Bug fixes

Page 78: Pharo Update

Pillar

Epub, HTML, LaTeX, Markdown

Books, slides, tutorials

Tx Cyril, Yann, Thibault, Damien

Page 79: Pharo Update

Woden 3D ++

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

Vulkan Metal Direct3D

Page 80: Pharo Update

Virtual GPU

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

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

Page 81: Pharo Update
Page 82: Pharo Update

Fun, simple Excellent for teaching Pure & elegant Highly productive Empowering Tools Full access

http://pharo.org