I got curious, downloaded and installed it on my computer. Checked the docs, and the next step was to download a stable image. Downloaded 11 (stable) and started it. Then blank stare to screen! What should I do? Lots of things to click on, and no text editor..<p>Searched for a tutorial on the website, and found nothing! I don't want to spend 30 minutes to look at some random videos of Virtual Reality in Thames or whatever, or read "Pharo for Rubyists" (I use mostly Python). I just wanted to explore a bit, and maybe if it seemed interesting, tomorrow I would continue exploring it. But now I've deleted Pharo!<p>Warning to other project maintainers: just show a tutorial, or an hands-on doc, so that newcomers may get a feeling of what it is. This is especially important for relatively unknown projects like this.<p>Some projects that have done it right:<p><pre><code> - https://www.djangoproject.com/start/
- https://go.dev/ (Search for Try Go in the main page)
- https://www.python.org/ (Carrousel showing some aspects of the language)
- https://play.rust-lang.org/?version=stable&mode=debug&edition=2021
- others I can't remember now..</code></pre>
I used Pharo in my Object Oriented course at the Univeristy (for my CS degree) and I was really surprised for this paradigm. We saw Haskell and Pharo and I was really happy to discover new things from a language point of view. It is hard to say that Java or any other imperative language is OO after seeing Smalltalk/Pharo.<p>About the question if it's used in production, the teacher for that segment of the course was a specialist who worked on big companies and showed us examples of being used and we were (again) blown away.<p>I never fully understood it (although I passed that course), but it's one of the things I'd like to know it better: not for usage, but out of curiosity.
As a rails developer - my introduction to Pharo started with this video:<p><a href="https://youtu.be/HOuZyOKa91o" rel="nofollow">https://youtu.be/HOuZyOKa91o</a><p>If you're not a ruby/rails developer you can still see how awesome it is, but for rubyists specifically it can really be quite mind blowing.
Pharo looks like a blast from the past in a good way. It harkens back to the era when a lot of work was put into carefully designing language, IDE, and UI/UX environments cohesively with an eye toward using the computer to maximize human capability and productivity.<p>Then we dumped all that and abandoned it and moved to today's visually and ergonomically inconsistent hodge podge. It mostly happened because of the web but also because the velocity of the industry increased to the point that it felt like a waste of time to think deeply about anything. It'll just be obsolete next year. Slap it together, get it out the door, repeat.
I wonder if anyone has experience with this and Amber (<a href="https://amber-lang.net/" rel="nofollow">https://amber-lang.net/</a>) and can compare the two? The languages at least appear to be very similar, but the latter uses a web browser rather than a fully custom UI like Pharo has. I assume you can't just open a Pharo program in Amber (or the other way around)?
36 years ago a very young me took a programming class in 3rd grade where learned "Small Talk", which was going to be how everybody worked with computers in the future.<p>I still credit most of my skill at programming to the fact that I was introduced to that and Forth in elementary school. I also miss those C64s....
So, is Cuis Smalltalk left behind? For a while it seemed to maybe be the path forward for a lean, Free Smalltalk?<p><a href="https://cuis.st/" rel="nofollow">https://cuis.st/</a>
I always feel like I should be doing more with Pharo. I love smalltalks and there's something really fun and playful about working with it, even those with a more "professional" shine on them like Pharo. I've been experimenting with Godot recently and I feel like there's a lot of that spirit in modern gamedev, where the tool is written in itself and gives you all of the same parts to play and build with.<p>I guess I don't really know what my usecase for Pharo is, like what niche is it filling? Maybe I need to build my next web...thing with it and see how it works out?
Installing and running Pharo when new release has been introduced; however, yet, Pharo does not support HiDPI screen and disappointed.<p>Other than this, this project and other projects dependent on this, especially, <a href="http://agilevisualization.com/" rel="nofollow">http://agilevisualization.com/</a> is looking great to me. Once, I had used Squeak MVC for my company's internal projects (though it has been replaced with Common Lisp applications), and Smalltalk is very productive.
The "fusion of a developed program and development environment" idea is very cool.<p>One (maybe dumb) question though:<p>> Simple & powerful language: No constructors, no types declaration, no interfaces, no primitive types.<p>Are constructors and primitive types really the sort of things that people find to be unnecessary complexity?
The primary challenge with Pharo is the complexity of using this in a multi-user type of environment where the image is shared between people. How does one do that?
I downloaded the launcher and there are two minor annoyances:<p>1. The font is blurry (upd: solved by increasing "SDL2 Screen Scale Factor Base DPI" in settings)<p>2. ~/Pharo/images is being created even though I changed all paths in settings<p>Anyone knows how to solve this?
I have not used Pharo yet, but I've used Cuis Smalltalk for a college class and it was one of the most fun experiences while writing code that I had since my first steps back when I was a kid. I'm pretty eager to learn more about Smalltalk and write something meaningful in it.<p>To anyone who has not yet tried it I suggest heavily that you do, even if it's just for the sake of having fun, it just can be a bit confusing at first since it's a pretty different environment.
My first time seeing Pharo. First impressions are that it reminds me strongly of Smalltalk with the single-source IDE and runtime.<p>Not a bad thing, just an observation.
I love Pharo and have written about it on my blog, but one of the most frustrating things about it is how the documentation in the various books have fallen behind the language.
"In Pharo, you can easily replace an object with another one. All references to the old object in your running program will be replaced by references to the new object."<p>This sounds like global mutable state hell.