Pharo - not quite Smalltalk, possibly worse than VisualWorks

Attack of the Killer Tomatoes

Just a short one this time - it was nagging at me that I didn't try a more modern version of Smalltalk and Pharo comes up a lot in searches. Downloaded, installed, a quick test drive:

We have to convince the little housewife out there that the tomato that ate the family pet is not dangerous!

I was expecting it to be familiar but different and it definitely is. I thought I would start by porting over the AWS helper classes I made, which went fine (there is a JSON parser called "STONJSON" which is all caps for some reason, but works similar to the Xtream one in VisualWorks. I hit a fairly big snag though, there is no simple way to kick off an operating system process. There seems to have been some kind of fight in Pharo-land about OSProcess vs. OSSubProcess, neither of which is included in the standard image, neither of which can spawn a program on Windows(!), something which is both weird and a little frightening for a supposedly cross platform environment.

A good 10 minutes of wading through documentation and Stack Overflow and a decent answer came up:

STONJSON fromString: (LibC resultOfCommand: 'aws dynamodb scan --table-name mytable').

Hilariously, the "LibC resultOfCommand:" method starts a command shell on Windows (and only Windows) which overlays while it runs, then the stdout results come back as expected. OK, I could live with that I guess.

The President does tend to expect the impossible

So I have a semblence of the old classes working, including enumerating the dynamodb tables and grabbing the contents of a table, so next I need to find a GUI painter like the one in VisualWorks.

Only there isn't one. There is something called "Spec" and a pile of "Morphic" classes and entire discussions on purity and a whole load of high priest garbage that frankly put me off the whole thing. I binned it.

Maybe Squeak is better, but I couldn't be bothered finding out now. The VisualWorks stuff is ossified, the Pharo stuff is some kind of weird cult and Smalltalk is definitely no longer in my future as a rapid prototyping tool.

Popular posts from this blog

Tailscale ate my network (and I love it)

Stupid stunts with WSL2 , Python3 and AWS ECS

Time machine: Solaris 2.6 on QEMU