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.