Hacker News new | past | comments | ask | show | jobs | submit login

Smalltalk has a concept of changesets. They can approximate diffs/patches.

And while the code is exposed in code browsers (some kind of IDE/text editor window) in the image, and not exposed as text files, they certainly can be. So I'd imagine it's just a matter of exposing those into files (or still classes and methods as separate "entities") and commit those into git with a bit of markup.




But the whole point of the image approach is that it's not just code, but also data, no? It would seem that it'd require some multiple-file text-based serialization format for images that would include both code and data, and would split it into files in a way reflecting the typical change patterns...


Code + data + live instances of the code/objects. Like I said, I haven't been tracking how they do it, but I'm guessing that they only track code. If you want to be able to deploy an image directly, you either have to write scripts (and check those in too, either standalone "scripts" or class-side initialisation) or save the entire image and deploy that.

Saving the development image and deploying it directly is also not done that often because the development image contains things that can stripped off, e.g. development tools or object instances you use during development. Squeak and Pharo is usually distributed in various flavours, loosely — full and minimal images (I might not get the names right). So you take the former and install packages for development and the latter + packages for deployment, or you can build your own from the minimal image.

But through this you can see how different it is and while it's great in many ways, some of the differences make it harder for newcomers to start and harder for everyone to use it in production.

I forgot to mention Dolphin Smalltalk http://www.object-arts.com. It used to be a paid product, running on Windows. It has been open source for a few years now. I think product sales wasn't sustainable for the owners. But for several years, it is was the best Windows thick client development tool. It's a great example of Smalltalk well-done. You have the same image-based approach, but the windows are all native and familiar looking, so basically a multi-window development IDE. There's a deployment tool that helps you to strip down your image and build it into an exe (which was basically the Dolphin Smalltalk image + the shrunk image). It might still run, maybe it looks a bit outdated, it was actively developed until 2004 or so. If it still works, it's a wonderful way to experience Smalltalk.




Consider applying for YC's W25 batch! Applications are open till Nov 12.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: