6 ms·
Not having heard of Pharo before 10 minutes ago, I wish this website did a better job of explaining what it is. "... an object-oriented programming language an
by StevePerkins 12y ago
Not having heard of Pharo before 10 minutes ago, I wish this website did a better job of explaining what it is.
"... an object-oriented programming language and a powerful environment... (think IDE and OS rolled into one)"
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?
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?).
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?
- schemezealot 12y ago"Does it compile to executables, or does it require an interpreter or VM at runtime?" It looks like they are still using (since 2010) the COG VM, which is a fast jitting VM, but I think they have others in works to replace/improve it.
- kilon 12y agoCOG JIT VM is still the main VM, though the old one is also supported for mobile platforms like Raspbery Pi. There is also work to move Pharo to 64 bit.
- fstephany 12y agoThey hesitate to include "Spur", a new memory manager in the VM. Check Clement Bera's blog post for more: https://clementbera.wordpress.com/2014/02/06/7-points-summary-of-the-spur-memory-manager/ https://clementbera.wordpress.com/2014/02/06/7-points-summar... This is the first step towards a 64bits VM (yay!)
- kilon 12y agoBecause if you don't understand "an IDE , OS rolled into one" then you don't understand what Smalltalk is anyway. Its not easy to explain what Pharo is , the same way its not easy to explain what Emacs is , etc. There are may ideas and workflow integrated into it and its development workflow is radically different to normal programming languages. "Does it compile to executables" No it does not , but there is no need. Pharo can be distributed with your application and it does need to installed its a standalone. "or does it require an interpreter or VM at runtime?" its interpreted to byte code and it has a JIT VM. It is always runtime ;) Meaning everything is live and running even your source code. Compilation happens under the hood without the user being aware of it. "Can applications be built from command-line (or a build script on a CI server), or is it tightly coupled with the IDE?" There is a command line interface , also any method can be exported to command line and Pharo can run without a GUI. "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?)." There is a web framework which quite popular and actively developed Seaside that allow you to use javascript , html and the usual suspect. Plenty of others frameworks exists as well but not so actively developed. Most success stories in the web site use those frameworks. "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?" you can also drop in IRC for general directions, and ask questions to the mailing list, the community is very welcomed for newcomers. But give pharo a try and ask questions and you wont regret it Pharo is a great way and fun way to create software. I have made also video tutorial for newcomers https://www.youtube.com/watch?v=Ol5ivaEATLQ&list=PLqbtQ7OkSta0ULYAd7Qdxof851ybh-_m_ https://www.youtube.com/watch?v=Ol5ivaEATLQ&list=PLqbtQ7OkSt... I have also made this simple guide to explain what Pharo really is http://thekilon.wix.com/pharo-about http://thekilon.wix.com/pharo-about
- reymus 12y ago> then you don't understand what Smalltalk is anyway Sorry, but I think that is just wrong. As far as I know, Pharo is one of the best and more approachable alternatives to enter the Smalltalk world. They should be doing a better job at welcoming people to "their world". If they want people to just come already knowing what they are going to get, I don't see how are they going to go mainstream, ever (assuming they would like to.)
- MadcapJake 12y ago> So why not just say that on the main page? Because most people would not be intrigued by a site that said: Pharo Basically a modern smalltalk implementation Personally I think the site is really nice and explanatory. But I agree that a "Learn More" button at the way bottom which brings you to a tour-style page would be a useful addition to their homepage.
- Homunculiheaded 12y agoFrom the amazing "Design Principles Behind Smalltalk"[0], which is short, beautiful and everyone interested in programming and software should read at least once: "Operating System: An operating system is a collection of things that don't fit into a language. There shouldn't be one." Syntactically, the SmallTalk language is relatively straightforward, but the power of SmallTalk is that the designers envisioned so much more from what a programming language should be. SmallTalk has a "World" which is an incredible concept (this is the OS/IDE combo). Of course, this means that you must abandon every tool you use to start working in the language. But in exchange you can click on any window and view the source code for it, see where it fits in the object hierarchy etc. Every part of your development world can be interacted with and modified. You can open the same world from a usb drive on Windows, Mac and Linux. Unlike Haskell, it's not the language itself that will expand your vision of programming, it's the approach to what it even means to have a programming language. http://www.cs.virginia.edu/~evans/cs655/readings/smalltalk.html http://www.cs.virginia.edu/~evans/cs655/readings/smalltalk.h...
- seandenigris 12y agoPart of the confusion stems from the term "Smalltalk" being overloaded. When most people hear the word, they think "Smalltalk-80" - the version released over 30 years ago. What they probably don't know is that Smalltalk-80 was just one in a series of Smalltalks marching their way closer and closer to the "Dynabook" dream - a live, dynamic, turtles-all-the-way-down environment to provide “support for the creative spirit in everyone”. So Pharo is a modern iteration of the Smalltalk series. Although it uses Smalltalk-80 syntax (almost), syntax is the least important part of Smalltalk. The real juice is the idea of a computing environment small and beautiful enough for one person to understand entirely - and fun! Toward that end, we feel that Pharo is evolving far enough beyond St-80 that it's more useful to think about it on its own terms. Unfortunately, ideas that are truly different than the status quo are impossible to describe in a sound bite. Like learning to play a musical instrument, there is no shortcut - extended play is the price one must pay to shift to a more powerful perspective. But I hope this gives you a taste. If you're interested, I go a bit more in depth [on my blog](http://seandenigris.com/blog/?p=1092 http://seandenigris.com/blog/?p=1092)