3 ms·
So, how do you distribute the program you've just written? That's the issue I have with image based languages.
by spc476 9y ago
So, how do you distribute the program you've just written? That's the issue I have with image based languages.
- shalabhc 9y agoYou distribute the image + interpreter. I presume you could strip the image, but haven't tried it.
- dragonwriter 9y agoImage + VM is the short answer. Slightly longer discussion here: https://pharo.fogbugz.com/default.asp?W78 https://pharo.fogbugz.com/default.asp?W78 Really, not much different than any interpreted language, where you do source + runtime; the image just replaces the source.
- igouy 9y agoIt varies from one Smalltalk language implementation to another. For MS Windows based Dolphin Smalltalk -- "The Lagoon Deployment Wizard strips out redundant components from your image and shrinks your code down to a tight, single click EXE file. Alternatively, you can choose to additively compose your application by building it up from the raw Dolphin boot image."
- vanderZwan 9y agoWell, Pharo seems to have quite a few contributors, so they probably figured something out. Let me have a look.. So, based on these slides about Pharo 6[0], it seems that they use multiple things. First, they have a tool called Epicea, which is a more modern way of tracking changes to an image[1]. Then, for git integration, they have a bunch of tools at pharo-vcs, specifically Iceberg[2]. [0] https://www.slideshare.net/pharoproject/pharo-6 https://www.slideshare.net/pharoproject/pharo-6 [1] http://smalltalkhub.com/#!/~MartinDias/Epicea http://smalltalkhub.com/#!/~MartinDias/Epicea [2] https://github.com/pharo-vcs https://github.com/pharo-vcs, https://github.com/pharo-vcs/iceberg https://github.com/pharo-vcs/iceberg
- igouy 9y agoYou seem to be answering the question - How do you distribute the software development? - and I read the question as - How do you distribute the finished app?
- vanderZwan 9y agoI honestly don't know how I misread GP so badly... too late to edit now.
- ben-coman 9y agoPharo doesn't need to be "installed". It can run from any directory. Typically your Image may be 30MB and the VM 5MB, so you just need to drop the two in the same folder via a zip file or whatever platform packaging tool you like. Typically with Smalltalk you would have an Image live on and on and maybe forget how to create it from scratch. And depending on your audience, you may have wanted to strip out development tools, something like this old example for Squeak... http://squeak.preeminent.org/tut2007/html/205.html http://squeak.preeminent.org/tut2007/html/205.html Pharo has put a lot of effort into "bootstrapping" the Image via CI to address this weakness of Image based systems. So you only need to load the parts you want in a reproducible way.