First time I have heard of this. What does it offer that other languages don't? What are the downsides?
Pharo is the most actively developed and used Smalltalk environment. There’s plenty of evangelism and information on the Web about it in a similar way to Lisp. Pharo takes the “integrated” in IDE to a whole new level, which is one of its selling points. You can find plenty more information about how Smalltalk-style OOP is superior to Java-style OOP, so I won’t rehash that here.
Pharo 7.0 released
71–80 of 236 posts
Re: Pharo 7.0 released
#72Where does the Pharo runtime run? To which platforms can I bring its solutions? are these standalone binaries or can I create libraries or code which play well with other languages and systems? Every time I look at a programming language, and at the HN it is every second day, I think about what kind of problems can it solve, and for what kind of platforms these compile/run their runtimes.. and surprisingly not many p…
For deployment, you can run it headless.
You can also deploy as Javascript for Node/Browsers via a tool called PharoJS (http://pharojs.org - full disclosure, I'm one of the principals of PharoJS), but it's a work in progress (with a Slack workspace to support it).
GNU Smalltalk can deploy to a standard executable, so you could do most development in Pharo, and then switch to GNU Smalltalk, but you'd lose the fabulous IDE.
Re: Pharo 7.0 released
#73> Pharo is a pure object-oriented programming language and a powerful environment, focused on simplicity and immediate feedback.
and seeing the initial screenshot on the announcement, I thought that this was a joke post. How you can call this "focused on simplicity" while showing that horrific hodge podge of a screen shot is beyond me.
Re: Pharo 7.0 released
#74Earlier quoted context omitted.
I looked for any useful documentation for a few minutes and just gave up. I don't want to read a book. I don't want to watch a video. This is not my first programming language, thank you. I just want a "hello world" example to get an idea what I am actually dealing with. How do I run a "hello world" program from the command line? How can I deploy that to another machine that doesn't necessarily have a GUI?
Think Smalltalk is one case where thinking incrementally from what you already know about programming might be doing yourself a disservice.
I kind of like these systems because they remind me of when computers were weird and different and had legitimate tradeoffs. People’s expectations of computers were still rooted in a physical model of interacting with the world. Computers were still very much trying to prove that they were relevant to the “real world.”
Re: Pharo 7.0 released
#75What is this thing - is it a programming language or an operating system or a desktop environment?
Re: Pharo 7.0 released
#76> IoT is now an important part of Pharo. Installing PharoThings ( https://github.com/pharo-iot/PharoThings ) provides an impressive amount of tools to develop applications in small devices. On that GH repo[0] I see: > Raspberry driven by WiringPi library > Arduino driven by Firmata, soon > Beaglebone, soon Has anyone played with this? [0] https://github.com/pharo-iot/PharoThings
Re: Pharo 7.0 released
#77- learning?
- developing personal projects?
- developing business projects?
- can be deployed to desktop platforms? mobile ? web?
- Has GUI library support?
Without a clear break down of use cases, I am just lost in the cool technology without any way of determining if it fits my needs.
A good example of how to do this well is GameMaker Studio: https://www.yoyogames.com/gamemaker
Re: Pharo 7.0 released
#78Genuinely curious: Is there any industry usage going on for Pharo?
There is, if you consider it is a Smalltalk dialect. http://www.cincomsmalltalk.com/main/ https://gemtalksystems.com/ So you can learn Smalltalk with Pharo and then get into the big boys Smalltalk. However expect the typical enterprise projects where Oracle DB licenses are footnotes on the overall budget.
Re: Pharo 7.0 released
#79Earlier quoted context omitted.
I looked for any useful documentation for a few minutes and just gave up. I don't want to read a book. I don't want to watch a video. This is not my first programming language, thank you. I just want a "hello world" example to get an idea what I am actually dealing with. How do I run a "hello world" program from the command line? How can I deploy that to another machine that doesn't necessarily have a GUI?
> I just want a "hello world" example to get an idea what I am actually dealing with. How do I run a "hello world" program from the command line? The trouble is that what you are dealing with is a graphical interactive programming environment. Sure, you can run it from the command line like /bin/perl, but to understand what you are dealing with you have to open it up and try it on its own terms. If you aren't interes…
I was curious and so downloaded and ran the default image, and I'm beyond captivated by it, but I have to agree that neither the link nor the homepage do a good job of enticing me to do so, or even hinting and what can I expect.
If I didn't feel like setting up and checking out random projects I stumble upon, I would have never even seen what Pharo is about, given the abundance of marginally different programming languages that pop up on HN.
So yeah, I also think Pharo's best "Hello, World" is just opening it and trying out stuff, but maybe it should try to sell itself, at least a little, for the uninitiated?
Re: Pharo 7.0 released
#80The Pharo website has zero mention of its relation to Smalltalk, although the Wiki article calls it a dialect. So how close are the two in reality? Is the syntax from your standard Smalltalk-80 textbook largely portable/compatible to Pharo, or is Pharo merely "inspired" by Smalltalk?
But Pharo's is inspired by Smalltalk, and I myself consider it Smalltalk, but the purpose of the detachment is to not be constrained by having to continue being Smalltalk.
E.g. in Pharo instance variables are first class objects (called "Slots").