Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

One thing that held me back from Smalltalk is something I heard once that the 'system image' (or whatever its proper name is) had become something of a binary blob, no longer bootstrappable from the original sources. This sounded like a version control nightmare to me.

I assume this is no longer the case with this project?



I can't speak to all Smalltalks, but I know that isn't the case with Pharo. GNU Smalltalk can construct an image from source. Redline doesn't yet have an image, we are still working out how that would work with our play nice in the jvm ecosystem ideals.

What it means to have 'original sources' though is a rather long and complicated historical answer. There have been a couple of good Smalltalk version control systems ( Envy & Monticello come to mind ).

I don't want to go into a long explanation of what the image is and the various ways different people use it, so I'll just leave it at.

All smalltalks support some form of version control ( some svn like, some dvcs like, some git, etc etc ). Redline isn't tied to an image and we don't intend to make it a requirement to use.


This is the single most significant difference between Smalltalk and other languages. Several Smalltalk dialects use images that were last bootstrapped from scratch sometime in the late 70s. If you insist on using git for version control, yes, this is a nightmare. On the other hand, there are several high-quality version control tools for Smalltalk, and in practice, it's not a problem.

It is pretty weird for nubies, though.


>>I assume this is no longer the case with this project? Correct. Redline Smalltalk does not require an image file. Your source is kept in files just like you would Python or Ruby source. - James.




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

Search: