Pharo 12
Language vs. Environment
- Syntax is considered simple; the difficulty is understanding the image-based, live environment and unconventional IDE.
- Some find the “everything is an object in a live image” model transformative; others find it alien and impenetrable compared to file‑based toolchains.
Learning Curve & Documentation
- Multiple people report bouncing off Pharo/Smalltalk despite MOOCs, books, and built‑in tutorials.
- Critiques: big gap between beginner intros and the complexity of the full image; hard to see the “big picture” of code; navigation of the image is its own skill.
- Calls for more modern, video-based, “explain it like I’m 5” material and better narrative documentation around libraries.
- Community resources (conferences, Discord) are praised but seen as fragile or hard to discover; English quality and book freshness are concerns.
Environment, Workflow & Versioning
- Strong praise for live programming, powerful debugger, inspectability, and ability to modify running systems without restart.
- Image-based work makes upgrading between Pharo versions and preserving environment customizations painful; some compare it unfavorably to Docker layering or home-directory persistence.
- Git integration via Iceberg exists, but workflows are seen as non-obvious; earlier custom versioning systems scared some off.
- Some argue Pharo can be used in a Unix-like, text-file + headless mode, but that this discards its main strengths.
UI, Platform & UX Issues
- Complaints about many windows, nonstandard keybindings, poor Wayland integration, HiDPI/retina issues, and odd deployment where apps look like the IDE.
- Some note improvements (tabbed windows, scaling options), but friction remains.
Concurrency & Performance
- Current model: green threads with no real parallelism; heavy tasks can freeze the UI.
- Past multicore work (RoarVM) is outdated; efforts with child VMs and GPU support are mentioned but unclear or niche.
- This is seen by some as a serious limitation versus other modern runtimes.
Positioning, Ecosystem & Adoption
- Pharo has diverged significantly from classic Smalltalk‑80 (traits, slots, closures, libraries, syntax), and is not source-compatible.
- Comparisons with Squeak/Cuis: Pharo emphasizes evolution and removing legacy/bloat; others miss Squeak’s historical/educational content.
- Perception that Pharo is powerful but niche, “built for itself,” with few visible, actively maintained, real‑world app codebases to study.
- Supporters argue it excels for fast-changing business apps (e.g., ERP-like systems) and that mainstream popularity isn’t the sole measure of value. Skeptics see it as too researchy and impractical compared with ecosystems like Python, Rust, or Java.