+ All Categories
Home > Technology > Smalltalks13 pharo techoverview

Smalltalks13 pharo techoverview

Date post: 11-May-2015
Category:
Upload: pharo
View: 1,237 times
Download: 2 times
Share this document with a friend
Popular Tags:
28
Pharo For geek souls
Transcript
Page 1: Smalltalks13   pharo techoverview

PharoFor geek souls

Page 2: Smalltalks13   pharo techoverview

Esteban Lorenzano

Pharo “core team” since 1.5yr (and lots of other stuff before, but this is the cool part :)

Page 3: Smalltalks13   pharo techoverview

Remember our vision

• Clean

• Modern

• Innovative

• Maintained, but not (necessarily) backward compatible

Page 4: Smalltalks13   pharo techoverview

A “small” list of changes• System Cleanups

• Morphic Cleanups

• Widgets

• Polymorph

• Bootstrap

• FileSystem

• Announcements

• Zinc/Zodiac

• RPackage

• Class organization

• Command Line

• Spec

• Spec based tools

• Fuel

• Nautilus

• VM Infrastructure

• VM including default plugins and libraries

• Opal

• Class Layouts

• Slots

• Code Critics

• Manifest

• RB/AST

• AST Smart Suggestions

• Class-Trait polymorphism

• Debugger/Inspector

• Spec

• NativeBoost

• Athens

• UI Improvements

• Keybindings

• Metacello2 / Filetree

• Zeroconf

• Community available infrastructure

• Refactors and more refactors

• …

Page 5: Smalltalks13   pharo techoverview

It is not!

“It is just a bunch of random changes.”

Page 6: Smalltalks13   pharo techoverview

It is all about evolution

There is no such thing as “a small change”.

Is through a stack of continuous changes that you create one that is revolutionary.

Page 7: Smalltalks13   pharo techoverview

Yeah… just that it does not always works!

“If it ain’t broke, don’t fix it.”

Page 8: Smalltalks13   pharo techoverview

It is all about evolution!

“Patch stacking techniques” work fine for a while, but at the end you have a poorly designed system.

Page 9: Smalltalks13   pharo techoverview

Subsystem replacement

• Not just for the joy of change.

- Enhance design.

- Allow further development.

Page 10: Smalltalks13   pharo techoverview

RPackage

• First class objects

- Replacement of PackageInfo (and System Categories)

- Replacement also of Class Organizer

Page 11: Smalltalks13   pharo techoverview

RPackage

✓ Better handling for packages and classes

✓ We can now include metadata there

• We can think on different/orthogonal ways of categorization

Page 12: Smalltalks13   pharo techoverview

Game changers

✓ Native Boost

✓ RB/AST

✓ Opal

• Object Spaces

Page 13: Smalltalks13   pharo techoverview

Opal

• Fully reified

• Semantic analysis, IR translation, Byte code generation, each stage visiting the AST.

• Marcus wants to use PetitParser :)

Page 14: Smalltalks13   pharo techoverview

Opal

✓ Many “small optimizations”

✓ Class Layouts/Slots

• Reflectivity (allowing “details” like real breakpoints)

Page 15: Smalltalks13   pharo techoverview

New debugger

✓ Fully reified

✓ Pluggable inspectors

• Moldable debuggers

Page 16: Smalltalks13   pharo techoverview

Object spaces• Experiment with other object formats

• Ability to interact with other environments

✓ Image inspection & repair

- Remote control (maybe with Seamless)

- Dev environment vs. app environment

Page 17: Smalltalks13   pharo techoverview

Native Boost• Dynamic code generation (ASMJIT)

• Many applications

✓ FFI

✓ Athens

- Mate

- Move plugins/external code from C to Pharo

Page 18: Smalltalks13   pharo techoverview

Athens

• Better suited for modern screens

• CPU usage improvements

• Replace old BitBlt based morphs

Page 19: Smalltalks13   pharo techoverview

Process

✓ Installation

✓ Automatization

• Bootstrap

Page 20: Smalltalks13   pharo techoverview

User eXperience

It is not enough to be the best environment around, we also need to look like the best environment

around.

Page 21: Smalltalks13   pharo techoverview

Brave new world

We want to create a cool environment for all people interested in participate

Page 22: Smalltalks13   pharo techoverview

(because it is yours)

“Ask not what Pharo can do for you, but what you can do for Pharo”

Page 23: Smalltalks13   pharo techoverview

Imagine…

Page 24: Smalltalks13   pharo techoverview

… a world in which you modify and interact nicely (and in runtime) with the outside world.

Page 25: Smalltalks13   pharo techoverview

… a world with contained sources and changes as transaction logs.

Page 26: Smalltalks13   pharo techoverview

… a world in which you can deploy other worlds, worlds that you can create by doing:

!Pharo new fork.

Page 27: Smalltalks13   pharo techoverview

… or doing: !

Pharo new forkAt: 192.168.1.42

Page 28: Smalltalks13   pharo techoverview

Inventing the future


Recommended