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.