I wouldn't have.
Because these things are still in flux.
These things are interesting and are the way forward. But not ready for end users.
But this has exposed you to the realities of creating new things: it is not as clean as one would want nor are users that cool when facing them. In a unusual environment like Pharo, it gives a kind of blurring effect since a user has a hard time distinguishing between solid ground and treacherous new terrain.
I would advise you to look back at Bloc and Iceberg when Pharo 7 is released.
The occasionnal freeze of the environment is indeed a pain and a new user would cringe more than once. I actually have a REPL server running in my images to restart the UI when such stuff occurs. Not the realm of a newcomer for sure.
Pharo is great for my uses. It is not the best tool for everything, granted. But when dealing with complex domains, I haven't found anything close.
Stephane Ducasse wrote:
> I told them NOT to use github.
> I told them that Bloc was alpha. They got a large list of topics and could have picked another one.
> Now of course we should improve and they too.
This is not saying that everything in Pharo is perfect, but in future could you please frame your criticism to indicate your pain with Pharo was with alpha features.
Another problem with Pharo is the confusion with Bloc, Morphic, and Spec. With C# you have WinForms and that is pretty simple and Java has Swing. With Pharo, I can't seem to find a decent way to build a GUI. Is Spec supposed to replace Morphic?
And with Xamarin, a slew of other ways.
Not that less confusing.
There are a variety of proprietary language vendors with great products (Cincom Smalltalk, Dyalog APL, Wolfram language that is part of Mathematica), but it is a weird sale in the modern age. Why use a better tool if you have to pay for it and your entire business's IP is tied to another company pulling the strings. Even if they promise their tools are 10x more productive, is the risk acceptable?
The IDE randomly crashes, corrupts images (all your work is in the persistent image) and randomly ignores clicks making it insanely frustrating to use. Git integration is "WIP" which means it sometimes silently deletes files or you just don't get it to work at all. Branches are not implemented, glhf resolving conflicts on a team project. Oh, and it saves your passwords in plain text.
Error messages will keep opening until you kill the "IDE" and undo will sometimes delete half your code with no way back (maybe that's why you're supposed to keep methods small?). It's a bit ironic that Mr. Ducasse calls himself an "expert on software quality".
Here's our final project, the weekly reports document our "learning" experience: https://gitlab.fit.cvut.cz/taibrmar/sokoban-using-bloc
Most students had similar feelings and the response to the course was overwhelmingly negative.