I started a new job in Smalltalk one year ago without any previous experience with the language (background in Scheme, a bit of Common Lisp / Clojure, C, C++, Java, Python, Haskell and a couple of other languages). I had three pair programming sessions in the beginning and that was it, it took me one month to get a grasp of the codebase I have to maintain/develop further. The application is huge, but the tooling and discoverability of the programming environment (including best debugging experience I've ever seen) made it super easy to dive into the system and learn everything practically by myself. This and the fact that everything follows the same basic design principles (objects all the way down) make it a perfect match for solving complex problems.<p>Honestly my experience at work was mostly with Visualworks. But I've been using Pharo in two side projects and I'm loving it. It became one of my top 3 programming languages I've ever used (together with Scheme and CL). It's impressive how much this rather small community achieved, thanks for the awesome work and this new release!
Weirdest programming language/IDE/Runtime/everything I've ever attempted learning.<p>The sheer oddity + lack of real world example code floating around made it feel impenetrable. To put it into perspective, picking up Rust and writing entry level but real world applications was a walk in the park after coming to terms with the ownership system.
Related:<p>Pharo Syntax in a Nutshell:<p><a href="http://rmod-pharo-mooc.lille.inria.fr/MOOC/PharoMOOC/Week1/C019-W1S05-PharoSyntaxInANutshell.pdf" rel="nofollow">http://rmod-pharo-mooc.lille.inria.fr/MOOC/PharoMOOC/Week1/C...</a><p><a href="https://en.wikipedia.org/wiki/Pharo" rel="nofollow">https://en.wikipedia.org/wiki/Pharo</a><p>>"Pharo is an open source, cross-platform implementation of the classic Smalltalk-80 programming language and runtime.[3]"<p><a href="https://en.wikipedia.org/wiki/Smalltalk" rel="nofollow">https://en.wikipedia.org/wiki/Smalltalk</a>
7 minutes of Pharo smalltalk for Rubyists: <a href="https://youtu.be/HOuZyOKa91o" rel="nofollow">https://youtu.be/HOuZyOKa91o</a><p>Is a pretty good overview how the environment works.
Without ever practically using this system, my first impression is that this is how mech operating systems would have to be.
At a certain complexity of vehicle, you would need all of: manufacturer base features/diagnostics, safe-mode control, an open market of source code to add in, pilot preferences, and then real nerd stuff where you customize in your own routines. All the while being able to explore a live running system as it is running without having to trust closed binary only software.
Of course the world we live in would never go this way, proprietary unknowable, pre-government hacked, unrepairable trash it is for us.
How does Pharo compare to Squeak? I'm interested in doing more with Smalltalks but Pharo just does not play nice on Fedora 40 with Wayland right now
I wanted to try it out, but I couldn't change the directories in pharo launcher to anything other than ~/Pharo.<p>Also it doesn't run on wayland without explicitly setting SDL_VIDEODRIVER=x11<p>Also can't find a way to increase menu font sizes.<p>Upd: ok, I managed to change the directories (they need to be created beforehand). Somehow empty ~/Pharo/scripts is still created every time the launcher runs. Please fix.
First, congrats to the Pharo team, I mean they do a lot of work.<p>But a singular testament of Pharo is that it this amazing environment, with all this heritage, tickling many of the more popular "CS folk" buttons.<p>It's an active, busy project, with lots of committers.<p>And yet, "nobody" uses it.<p>The Pharo folks live in their sandbox, eating their dog food, making Pharo more Pharo than ever, but it seems to only be uplifting folks making Pharo. Pharo is built for Pharo makers to make Pharo, and they continue make Pharo a better place for them to live and do their work.<p>I'm certainly not going say that its because of X or Y or Z. Just that, it "is". It is "not used" in the large. Sure, folks use it, they have their success stories like any project does to some extent. But the larger "hive mind" of the "internet" hasn't seemed to have caught on, or have tasted it and moved on to something else.<p>So, at 30,000 feet, despite all their work, something is not quite clicking.
It seems too research-oriented programming IDE+language, where there is not a big market compared to other areas.<p>Who does Pharo want to compete with? Maybe developers think they shouldn't compete with other platforms? With the amount of real Pharo apps right now even on GitHub, it would be extremely difficult to "sell" Pharo to any decision maker.
Many comments in the vein that pharo is weird and different from what they're used to. I'd say programming is such a young field programmers should dedicate time to try out the weird stuff that they aren't used to, opportunities to rewire your brain for better.<p>Let's not get stuck in a local minima on how to do programming. There could be better ways not yet popular enough. Smalltalk came out of an environment of innovations that were ahead of their time.<p>EDIT: while doing the Pharo mooc, I was able to create a DSL for what I understand to be D&D dice representation without using special metaprogramming syntax of the language or parsing and tokenizing strings. Just plain old OOP of the Smalltalk/Pharo flavour. This were just basics btw