Live data from Hacker News

Pharo 12

pharo.org

11–20 of 116 posts

Re: Pharo 12

#12
post #7

Weirdest programming language/IDE/Runtime/everything I've ever attempted learning. The sheer oddity + lack of real world example code floating around made it feel impenetrable. To put it into perspective, picking up Rust and writing entry level but real world applications was a walk in the park after coming to terms with the ownership system.

Fwiw, you can inspect the Pharo code from within the running Pharo itself.

If you’re looking for a good real life code base that is not the bare Pharo, you can check out Glamorous Toolkit: https://gtoolkit.com//

Re: Pharo 12

#13
post #7

Weirdest programming language/IDE/Runtime/everything I've ever attempted learning. The sheer oddity + lack of real world example code floating around made it feel impenetrable. To put it into perspective, picking up Rust and writing entry level but real world applications was a walk in the park after coming to terms with the ownership system.

Learning Rust is at least an order of magnitude harder than learning Smalltalk. This is not to dismiss what you have said. On the contrary, it highlights what must be an enormous miss in how Pharo presents documentation on its landing page.

Re: Pharo 12

#14
post #7

Weirdest programming language/IDE/Runtime/everything I've ever attempted learning. The sheer oddity + lack of real world example code floating around made it feel impenetrable. To put it into perspective, picking up Rust and writing entry level but real world applications was a walk in the park after coming to terms with the ownership system.

Did you try the MOOC? At first the environment may feel a bit confusing, but the videos in the MOOC help to walk through it, visually, and get familiar: https://mooc.pharo.org/

Also there's lots of free books at https://books.pharo.org/

Re: Pharo 12

#15
post #9
post #7

Weirdest programming language/IDE/Runtime/everything I've ever attempted learning. The sheer oddity + lack of real world example code floating around made it feel impenetrable. To put it into perspective, picking up Rust and writing entry level but real world applications was a walk in the park after coming to terms with the ownership system.

I had a similar experience when I tried to learn Smalltalk. Pharo By Example is a thing. I haven't read it, but I assume it is forked from or inspired by Squeak By Example, which made things click for me (at least a little). https://books.pharo.org/pharo-by-example9/

IIRC, Squeak By Example is heavily Morphic centric, which is going to immediately diverge from other language Getting Started sections. Not sure if one exists but a Getting Started that focuses on just the Workspace, the Transcript and data processing might be a better introduction to those with experience in more traditional languages.

Re: Pharo 12

#16

Related: Pharo Syntax in a Nutshell: http://rmod-pharo-mooc.lille.inria.fr/MOOC/PharoMOOC/Week1/C... https://en.wikipedia.org/wiki/Pharo >"Pharo is an open source, cross-platform implementation of the classic Smalltalk-80 programming language and runtime.[3]" https://en.wikipedia.org/wiki/Smalltalk

Syntax is the easy part. The real difficulty is in trying to make sense of the whole ecosystem, including the strange runtime-IDE-hybrid approach.

Just imagine that is:

- docker image - vscode preibstalled - and everything used the same programming language.

Re: Pharo 12

#17
post #7

Weirdest programming language/IDE/Runtime/everything I've ever attempted learning. The sheer oddity + lack of real world example code floating around made it feel impenetrable. To put it into perspective, picking up Rust and writing entry level but real world applications was a walk in the park after coming to terms with the ownership system.

I agree with you. I've worked for a while at a company using it in production [1].

For learning Pharo (while not working at a company), I've learned that going to ESUG [1] and Pharo Days [2] (2 conferences) is the best way to actually learn. On ESUG there are many professional Smalltalkers, including people that write Pharo. And on Pharo Days there are many OG Pharo devs. They can teach you certain things much quicker than any course can.

For example, on ESUG, I was shown how to write a debugger extension on the spot for a particular debugging case (with animations) that had no good working debugging support yet. It was amazing to see how quick people can develop it when they have strong knowledge on it. The fact that the language is inspectable helps a ton.

Another way to learn is by asking many questions on their Discord channel [4]. The community seems really active there and I found them to be really friendly. The Pharo website [5] sort of understates how active their spun off communities are as they simply mention that they exist, but the site doesn't really convey the vibe of how lively the communities are. I'm not sure how one would go about that, but it's a shame you can't directly see that from a website.

[1] https://yesplan.be

[2] https://esug.org

[3] https://days.pharo.org

[4] https://discord.gg/QewZMZa

[5] https://pharo.org/community

Re: Pharo 12

#19

Related: Pharo Syntax in a Nutshell: http://rmod-pharo-mooc.lille.inria.fr/MOOC/PharoMOOC/Week1/C... https://en.wikipedia.org/wiki/Pharo >"Pharo is an open source, cross-platform implementation of the classic Smalltalk-80 programming language and runtime.[3]" https://en.wikipedia.org/wiki/Smalltalk

Syntax is the easy part. The real difficulty is in trying to make sense of the whole ecosystem, including the strange runtime-IDE-hybrid approach.

Yes last time I checked they had their own versioning system as well... it's one thing to learn a language but having to learn a whole new set of tools put me off in the end. I guess I can see the argument that the Smalltalk files are not plain text but rather images (or something), but having to basically download a second OS within the OS just to write Hello World was off putting. I realise that that's also can make Smalltalk so powerful, at least in principle.

Also lack of retina display support put me off. Of course it is purely cosmetic but when it's literally the only app I used that looks like shit, it is sufficient to nudge me away. Maybe fixed now, not sure.

Re: Pharo 12

#20
post #7

Weirdest programming language/IDE/Runtime/everything I've ever attempted learning. The sheer oddity + lack of real world example code floating around made it feel impenetrable. To put it into perspective, picking up Rust and writing entry level but real world applications was a walk in the park after coming to terms with the ownership system.

I would like to disagree with you, but I can’t. Pharo, and Squeak that it is derivative from, is an odd development experience.

A long time ago I experimented with making web apps with Pharo, fun, but I wouldn’t use it in production.

When I saw this announcement I was motivated to update my Pharo NLP library https://github.com/mark-watson/nlp_smalltalk but I may not. Many NLP tasks are now done infinitely better using deep learning and LLMs.

I just looked for OpenAI API support and found 2 year old Pharo project library https://github.com/pharo-ai/open-ai and maybe more promising 1 year old project by Bracken https://github.com/brackendev/OpenAI-Pharo

EDIT: to be fair to Pharo, I am not really a Smalltalk person. In 1983 someone at Xerox arranged for me to get a trial Smalltalk system on My Xerox 1108 Lisp Machine, and I removed it within a few weeks.

Post reply on HN