The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
What is (not) Pharo 8?
1. What is (not) Pharo 8?
A programming Language, an environment, a set of
tools, a community.
Pablo Tesone
Pharo Consortium Engineer
2. Who I am!
!2
Pablo Tesone
Pharo Consortium
Engineer
• 20 years trying to code
• 10 years of experience in industrial applications
• PhD in Dynamic Software Update
• Interested in improving development tools and the daily
development process.
• Enthusiast of the object oriented programming and their tools.
4. Pharo 7 in a Nutshell
• 64-bit version in Linux, OSX and Windows (preview)
• PharoLauncher
• Totally new build process with full bootstrap from sources
• All source on http://github.com/pharo-project/pharo
• Iceberg: git client significantly improved
• Calypso, the angular stone of PharoThings, new system
Pharo browser
!4
5. Pharo 7 main points…
• Stateful traits
• Streams refactor
• Working directory now is a real working directory
• UFFI has been adapted to Windows 64bit
• “Plugin replacement program”: FreeType done
• Windows 64bit VM closer and closer
• VM has continued improving in several ways.
• Specific plugins like FilePlugin for Windows
!5
7. Pharo 8 - Addressed
• Analysis of File primitives performance on Windows
• Support for multiple windows (SDL / GTK)
• Headless VM (alpha)
• Non-blocking FFI back-end
• Degradation in performance
• Tons of new tests
!7
8. Under way for Pharo8
• Memory management and command line
• Better Testing: Dr Test / Parametrized Tests / Parallel Execution
• Better refactorings/eCompletion
• Latency (Spotter and completion) large images
• Quality rules on big classes/images
• Spec 2.0 (new layout/widgets/transmission/backends)
• Infrastructure for assembly generation (customization / shipping)
!8
9. Plan for Pharo 9
• Better GC GC stops 2-3min for fullGC (in large images)
• cmd+dot not working in all cases
• Bloc
• Parallel processing (not just parallel testing, which can be
resolved at image side)
• More more and more tests for the VM
• Cleaner VM
!9
10. Pharo Consortium
• Handle the releases
• Handle the infrastructure
• Organize / guide / integrate the community
• Financing Engineering / Documentation / Teaching efforts
• 27 Industrial Partners
• 19 Academic Partners
!10
11. A Win-Win solution!
• The engineers are paid by the contribution of the industrial
partners.
• Lifeware supports one year engineer
• Schmidt supports one year engineer
• …to improve Pharo infrastructure
!11
13. Objective 1: Business
• Supporting your Business
• Growing Together
• Supporting Heavily:
• And the other 25 industrial partners.
!13
14. Supporting business
• Better 64 bits Windows
• Support for multiple graphical backends
• Better tools and custom points
• Much better UFFI (non-blocking back-end) See Pablo’s
talk
• Continuously improving (cleans, refactoring, tests)
!14
15. Something else?
• Do you have a special need for your business?
• Come and talk with me!!
• Different ways of handling it with and without community
interest.
• Different schemes of contribution to help you and help us.
!15
18. Objective 2: Community
• Open Clear Process
• Public and transparent
• Code review / discussion
• Not a single commit without a PR
• Systematic automated validation
!18
Better process: Github @ Work
20. • Automatic Tests / CI on each build / PR
• Compiler tests (optimised, unoptimised, fullblock,…)
• UI tests on multiple back-ends
• More virtual machine tests
• FFI marshalling tests!! (yes with libs in C to test)
!20
Objective 3: In Tests we
trust
21. • Dr. Tests - Executing more and better your tests.
• Parametrized Tests - Generate lots of test.
• Verified Executable Examples - Documentation is tested
to keep examples up to date.
!21
Objective 3: In Tests we
trust
22. Objective 4: Teaching /
Learning
!22
• A Full Mooc in different languages (including French / English /
Spanish / more to come)
• Updated to Pharo 8 (Including Iceberg and all the new Tools)
• Books: open-source http://books.pharo.org
• Updated versions of TinyBlog, Pharo with Style, Spec & Iceberg
• TechTalks
• Open Documentation - github.com/pharo-open-documentation
• Lectures / Exercises / Programs / Support to Teachers
23. Objective 5: Job
Opportunities
• Smalltalk is great, and it is more than alive!
• We need to promote all uses of Smalltalk
• Pharo is a great opportunity to learn.
• A great opportunity to show you off: contributing to any
open-source project.
• Companies looking for smalltalkers in USA / Canada /
Europe / Latin America / Asia / Africa … all over the world.
!23
24. You can have an impact
• With one hour per week…
• Enhance tests
• Discord…
• Add tests
• Review fixes
• Open ***clear*** issue
• Fix simple points
• Make us focus on difficult points
!24
Show you off!!!
25. Objective 6: Research
• Pharo is fully open.
• Easy to modify and to test
• Bootstrapping Tools - Create and Debug your languages
and kernels.
• Easier process to modify the VM
!25
Let’s Collaborate!!!