Pharo 12

Pharo 12, a modern Smalltalk-derived language and live programming environment, is praised for its powerful IDE, uniform object model, and rapid GUI and business app development, but many developers find its image-based workflow, unconventional tools, and documentation hard to approach. Commenters highlight tensions between its research-y, self-contained ecosystem and mainstream expectations like file-based workflows, multicore parallelism, polished UX, and abundant real‑world examples. Supporters argue that Pharo excels in niche commercial and industrial settings where fast iteration and deep introspection matter more than popularity, while skeptics see these same differences as barriers to broader adoption.

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.