Not having heard of Pharo before 10 minutes ago, I wish this website did a better job of explaining what it is.<p><i>"... an object-oriented programming language and a powerful environment... (think IDE and OS rolled into one)"</i><p>An IDE and OS rolled into one? What does that even mean? I had to go to Wikipedia to learn that this is basically a modern Smalltalk implementation. So why not just say that on the main page?<p>I once took a glance at IBM's Smalltalk about 20 years ago (in fact, these IDE screenshots remind me of the "VisualAge" IDE that eventually morphed from Smalltalk to Java and was then re-invented as Eclipse). However, I don't know enough about Smalltalk itself for this website to be informative. Does it compile to executables, or does it require an interpreter or VM at runtime? Can applications be built from command-line (or a build script on a CI server), or is it tightly coupled with the IDE? The Wikipedia article mentions some web frameworks, but the Pharo website shows screenshots of what appear to be desktop GUI applications (or maybe data visualizations running inside the IDE, a la R with RStudio?).<p>Maybe someone with some hands-on experience could provide a TL;DR, for those who aren't willing to read the full book just to get a high-level sense of this?
The changelog is here: <a href="https://github.com/pharo-project/pharo-changelogs/blob/master/Pharo40ChangeLogs.md" rel="nofollow">https://github.com/pharo-project/pharo-changelogs/blob/maste...</a><p>Things that I find especially interesting, from new stuff:<p>> TxModel, a modern text model who works with Athens (Preview)<p>This is very, very nice. New text model was in the works for quite some time now and I'm glad it finally landed. Easy and powerful text editing is important, even in primarily GUI-driven environments. Pharo was a bit behind the times in this regard, which resulted in, for example, Shampoo (<a href="http://dmitrymatveev.co.uk/shampoo/" rel="nofollow">http://dmitrymatveev.co.uk/shampoo/</a>).<p>> OSWindow, a new way to handle windows and input events (Preview)<p>This allows for creating OS level windows from inside Pharo. IIRC it's supported only on Windows right now, but it's a very nice feature and will make creating apps that "look natively" easier.<p>> Slots model instance variables as first class enities and enable meta-programming on this level.<p>This looks rather important and I remember reading about it some time ago. There's a paper about it: <a href="http://scg.unibe.ch/archive/papers/Verw11bFlexibleObjectLayouts.pdf" rel="nofollow">http://scg.unibe.ch/archive/papers/Verw11bFlexibleObjectLayo...</a> - I'll need to read it again now that it's implemented.<p>Then there are updated things, all very nice too. Congratulations to the team and contributors!
Updated Pharo by Example book <a href="https://github.com/SquareBracketAssociates/UpdatedPharoByExample" rel="nofollow">https://github.com/SquareBracketAssociates/UpdatedPharoByExa...</a>
Awesome work!<p>I gave Pharo a test drive a few months ago and was pleasantly surprised when I had a little window with a table listing out all of the links and titles on the front page of HN in an afternoon.<p>I really enjoyed the experience of "filling in the blanks," style programming that it introduced to me. I just started by instantiating an object and calling the entry point method... and landed in the debugger. But I was able to fill in the missing methods and data-structures until it finally came out of the debugger and I had a working application.<p>Can't wait to check out the release notes. I highly recommend spending an afternoon with it just to see what can be done.
I installed this for Ubuntu 12.04. When I fired it up, it requested I choose and build a source file (different from Pharo 3). Then when it started, it said, "Pharo cannot locate the source file named /usr/lib/pharo-vm/PharoV40.sources.<p>Any ideas what to do?<p>TIA, Steve