Smalltalks13 pharo techoverview

1,730 views

Published on

Published in: Technology, Art & Photos
0 Comments
3 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
1,730
On SlideShare
0
From Embeds
0
Number of Embeds
20
Actions
Shares
0
Downloads
7
Comments
0
Likes
3
Embeds 0
No embeds

No notes for slide

Smalltalks13 pharo techoverview

  1. 1. Pharo For geek souls
  2. 2. Esteban Lorenzano Pharo “core team” since 1.5yr (and lots of other stuff before, but this is the cool part :)
  3. 3. Remember our vision • Clean • Modern • Innovative • Maintained, but not (necessarily) backward compatible
  4. 4. 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 • Class-Trait polymorphism • Fuel • Debugger/Inspector • Nautilus • Spec • VM Infrastructure • NativeBoost • VM including default plugins and libraries • Athens • UI Improvements • Keybindings • Metacello2 / Filetree • Zeroconf • Community available infrastructure • • • • Opal Class Layouts Slots Code Critics • Manifest • RB/AST • Refactors and more refactors • AST Smart Suggestions • …
  5. 5. “It is just a bunch of random changes.” It is not!
  6. 6. 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.
  7. 7. “If it ain’t broke, don’t fix it.” Yeah… just that it does not always works!
  8. 8. It is all about evolution! “Patch stacking techniques” work fine for a while, but at the end you have a poorly designed system.
  9. 9. Subsystem replacement • Not just for the joy of change. - Enhance design. - Allow further development.
  10. 10. RPackage • First class objects - Replacement of PackageInfo (and System Categories) - Replacement also of Class Organizer
  11. 11. RPackage ✓ Better handling for packages and classes ✓ We can now include metadata there • We can think on different/orthogonal ways of categorization
  12. 12. Game changers ✓ Native Boost ✓ RB/AST ✓ Opal • Object Spaces
  13. 13. Opal • Fully reified • Semantic analysis, IR translation, Byte code generation, each stage visiting the AST. • Marcus wants to use PetitParser :)
  14. 14. Opal ✓ Many “small optimizations” ✓ Class Layouts/Slots • Reflectivity (allowing “details” like real breakpoints)
  15. 15. New debugger ✓ Fully reified ✓ Pluggable inspectors • Moldable debuggers
  16. 16. 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
  17. 17. Native Boost • Dynamic code generation (ASMJIT) • Many applications ✓ FFI ✓ Athens - Mate - Move plugins/external code from C to Pharo
  18. 18. Athens • Better suited for modern screens • CPU usage improvements • Replace old BitBlt based morphs
  19. 19. Process ✓ Installation ✓ Automatization • Bootstrap
  20. 20. User eXperience It is not enough to be the best environment around, we also need to look like the best environment around.
  21. 21. Brave new world We want to create a cool environment for all people interested in participate
  22. 22. “Ask not what Pharo can do for you, but what you can do for Pharo” (because it is yours)
  23. 23. Imagine…
  24. 24. … a world in which you modify and interact nicely (and in runtime) with the outside world.
  25. 25. … a world with contained sources and changes as transaction logs.
  26. 26. … a world in which you can deploy other worlds, worlds that you can create by doing: ! Pharo new fork.
  27. 27. … or doing: ! Pharo new forkAt: 192.168.1.42
  28. 28. Inventing the future

×