Live data from Hacker News

Pharo 11

pharo.org

121–130 of 189 posts

Re: Pharo 11

#121

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.. 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 whate…

I had no prior experience running Pharo. I wanted to see what all this was about, so I downloaded and ran the launcher (the windows one, since that's what I'd expect most people to be using). It starts with no images. Does Launch work anyway? No. How about New? That lets me select pharo versions. What happens if I pick regular pharo 11? It looks like it's downloading. What happens if I Launch that? Success.

Once the image is run, a "welcome" window appears (which you can get back to, if you already closed it, through the Help menu). The first two panes are a brief description and theme setting. The third pane is how to learn pharo, which lists a few resources and then tells me I can learn Pharo by clicking on the ProStef link. I do.

ProStef tells me to highlight the text below and right click and select "do it". It takes me a couple tries because I'm curious what happens if I select one word or the other. Learned: the entire expression has to be highlighted before telling Pharo to run it works, and both words were part of the expression.

The tutorial proceeds fairly obviously from there, teaching print and inspect. Some additional experimentation reveals that selecting the entire page runs everything, kind of like you might be used to in an IDE that sends things to a repl, and double clicking before the first character on a line selects the whole line.

If you're expecting the sort of tutorial where a guide not only tells you what to do, but shows you what to do before you do it to avoid any ambiguity, so that all you have to do is mimic it, ProfStef isn't that, but mimicry is a weaker form of learning. I'm not sure I'll like Pharo, but the tutorial looks like it starts okay to me. The launcher takes a moment to figure out, but if it's so difficult how do you get anything done that you've never done before?

Re: Pharo 11

#122
post #88

Earlier quoted context omitted.

why should people spend their time trying to convince you of the value of their project? they already know if it's valuable; why should they be interested in your opinion? if it's a commercial product, they might get your money, but most projects on github aren't

I mean sure, I have nothing to say against that. I'd just think if you write something like a programming language of all things you'd want others to use it and have a pleasant experience getting started.

> I'd just think if you write something like a programming language of all things you'd want others to use it and have a pleasant experience getting started.

You might be surprised how many different nuances exist in what motivates humans.

I have even avoided to share code in public repositories, because I didn’t want to be bothered by feedback like yours, because I didn’t bring the documentation up to a level that someone farther away from my little niche need and use case can understand it.

While such feedback isn’t going to kill me, it’s nonetheless one of a million tiny little cuts that my life is more pleasant without.

Re: Pharo 11

#123
post #53

Earlier quoted context omitted.

pharo, like other smalltalks, doesn't really have much of a text editor - that's not how you write smalltalk code. instead, you use the browser, which has a text pane, to change/add things to classes (or indeed to objects). you have to think a bit different. and how do you expect to learn anything if you won't read or watch a tutorial?

> how do you expect to learn anything if you won't read or watch a tutorial? I wanted to follow a tutorial (or another guide) to learn about Pharo, but couldn't find any, at least in the official docs. That's the point I'm making!

That is a fair criticism! It is partially (maybe 20%) mitigated by the fact that this is a different lineage of computing and so you were going to hit a huge wall somewhere and when you got it here you reached out to the community and found folks like me to help you. But 80% of the point definitely still stands, this is a big change and there is not much documentation for you.

In this lineage of computing, you do not edit text files and then run a compiler and then run your tests and then cross your fingers and ship to prod. That is, if you like, the “Frankenstein” approach, you cobble together dead body parts into a chunk of dead code and then reanimate it with a lightning bolt. And it has eaten the world so uh can't really bash it.

But another lineage is preserved in spreadsheets and smalltalks, where that general outlook is considered a little barbaric and you want to instead be surrounded by your living, breathing program, with everything available to inspect and tinker with and test and replace. You run the image and you are launched into your running program. Yeah it doesn't do anything yet, because you haven't told it what to do... but here you are, ready to mold and model the compute like clay into whatever your imagination desires. The first few pots you throw, you're lucky if they don't collapse on you.

My standard example of the mentality difference is Object.become. Imagine I tell the standard Java developer, “we search through all of memory, find all private and public variables pointing to that object, and instead point them to this object...” They will look at you like you are nuts! But that’s essentially the underlying functionality needed for “you can edit the method and the entire system will start using your new method.”

So things like versioning and inspecting and editing are generally baked into the image rather than external tools because you want to be able to debug and undo your changes in vivo ... There is going to be an impedance mismatch, and the community can certainly make it easier on you for sure but there is going to be a lot of unlearning no matter what.

Re: Pharo 11

#124

Earlier quoted context omitted.

The Pharo Launcher has an in IDE tutorial window that opens when you first open the image . Apart from links to documents it also contains an interactive in-development environment teaching you the basics. One of the images is the Pharo MOOC. The website has links to several documents to get you started. No offense but you kind of have to look around it to not find the ways in which the Pharo team attemps to get you…

Most people have Expectations about the way things work - code in a text editor, write tests, run them. Check code into Github. Go to a website to find documentation. Pharo defies all of those conventions (well, maybe not Github, but even that is unusual). People just aren't accustomed to in-IDE tutorials. It doesn't even occur to people that such things might exist. It's hard to notice that which you never even imag…

One of the most frequent criticisms of Smalltalk is that it doesn't play well with others. It's an IDE, but it's also a runtime, and, in a sense, a whole OS, with its own programs and development tools, in a virtual machine (running on your computer or, in ancient times, on bare metal).

It IS alien to those who come from text editors and IDEs.

OTOH, it makes our usual development environments look crude in comparison. In fact, Smalltalk 80 still has that effect.

Re: Pharo 11

#125
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.

Re: Pharo 11

#126

Earlier quoted context omitted.

The Pharo Launcher has an in IDE tutorial window that opens when you first open the image . Apart from links to documents it also contains an interactive in-development environment teaching you the basics. One of the images is the Pharo MOOC. The website has links to several documents to get you started. No offense but you kind of have to look around it to not find the ways in which the Pharo team attemps to get you…

In my experience if you think you've made something clear but people still don't see it, it's because you didn't really make it clear. There's no use blaming users for not looking hard enough even if you think it is really obvious.

As-in meet people where they are.

Re: Pharo 11

#127

Earlier quoted context omitted.

> how do you expect to learn anything if you won't read or watch a tutorial? I wanted to follow a tutorial (or another guide) to learn about Pharo, but couldn't find any, at least in the official docs. That's the point I'm making!

That is a fair criticism! It is partially (maybe 20%) mitigated by the fact that this is a different lineage of computing and so you were going to hit a huge wall somewhere and when you got it here you reached out to the community and found folks like me to help you. But 80% of the point definitely still stands, this is a big change and there is not much documentation for you. In this lineage of computing, you do not…

> My standard example

Ummm I daresay the vast majority of Smalltalk programmers never have (and never will) use become:

Re: Pharo 11

#128

Earlier quoted context omitted.

Most people have Expectations about the way things work - code in a text editor, write tests, run them. Check code into Github. Go to a website to find documentation. Pharo defies all of those conventions (well, maybe not Github, but even that is unusual). People just aren't accustomed to in-IDE tutorials. It doesn't even occur to people that such things might exist. It's hard to notice that which you never even imag…

One of the most frequent criticisms of Smalltalk is that it doesn't play well with others. It's an IDE, but it's also a runtime, and, in a sense, a whole OS, with its own programs and development tools, in a virtual machine (running on your computer or, in ancient times, on bare metal). It IS alien to those who come from text editors and IDEs. OTOH, it makes our usual development environments look crude in comparison…

You can always check out Lisp and its ecosystem. It too doesn't "play well with others", but in modern times, it positioned itself half-way between Smalltalk and mainstream stuff - it still makes our usual practice look crude in comparison, but it lost a lot of magic that come from fully embracing in-image living. The barrier to entry for outsiders is much lower though, and you can use git with it in a straightforward fashion - not in... whatever it is that Pharo does.

Re: Pharo 11

#129
post #117

Earlier quoted context omitted.

> On my Linux machine releases after 5 refused to as much as display anything That seems close to misrepresentation, Pharo works OK. https://benchmarksgame-team.pages.debian.net/benchmarksgame/... Pharo 9.0.21 on quad-core 3.0GHz Intel® i5-3330® with 15.8 GiB of RAM and 2TB SATA disk drive; using Ubuntu™ 22.10 x86_64 GNU/Linux 5.19.0-29-generic

GP says it didn't work for them as did the GGP, why would you suggest that this is 'close to misrepresentation' when it is simply two datapoints that may be different from the experiences of others (for instance yourself).

jventura did not say Pharo didn't work. jventura said they didn't know what to do.

Re: Pharo 11

#130

Earlier quoted context omitted.

[flagged]

Ah, yes. "Entitlement"... I'd say: to show that its authors have a sense of decency , at least. But let's not assassinate the lads any more than this.

Authors of open source projects don’t owe you anything. If you want something changed, do it yourself, or ask them. You could even go so far as to offer to pay them. If you aren’t up for any of that, well… not sure what to tell you!
Post reply on HN