From: Julian Fitzell Date: 2002-04-30T05:09:12+09:00 Subject: Re: Squeak - was Re: RubyConf.new(2002) - ideas for agenda Curt Hibbs wrote: > Smalltalk is a great language. It was my first exposure to Object Oriented > programming. As a language it still holds its own to modern day OO languages > (its probably over 25 years old now!). It was my last exposure to OO so far... > It has its blemishes, too (I won't go into that here). But I found Smalltalk > particularly frustrating for team development where you wanted to have good > version control (like CVS), because Smalltalk, traditionally, is not file > based. > > I haven't used Squeak, but I would be interested to know how well it works > in a team development environment. I understand your frustrations. I felt the same way initially and still do to some degree. Avi and I developed a simple version control system we call SSVS (Simple Squeak Versioning System) which pulls/commits changesets from/to a web cgi. It keeps track of current version numbers, etc. It works pretty well but that is with only two of us developing. Without code-merging, etc. I have serious doubts about whether it would scale to many more developers. I don't think the non-file basedness *prevents* having good version control, however. It's just that existing version control systems are designed to work with files. The same paradigms can be applied to squeak/smalltalk, it's just that you either need to convert the squeak methods/classes into files that can be versioned, or develop a solution that actually works in smalltalk but models similar processes to existing version control systems. We have been toying with ideas around using CVS or Subversion to version classes as if they were directories and methods as if they were files. I personally would like to use Subversion once it is released because by using the client library we can be notified of deletions, renames, etc. But then we introduce a need for users to have the client library and we restrict it to one version control system instead of any one that works with files. So we may end up trying to implement something that actually creates the files in the filesystem so that you can update/commit with your choice of command line tool. I don't know though.. then you have to parse the output of all the programs, hoping they give you all the information in a clear way, and you rely on windows users having and using command line version control programs which is probably more annoying than making them have a Subversion client library .dll. Anyway, solutions may be forthcoming at some point. But our system works great for the two of us so It Can Be Done(tm). Julian -- julian@beta4.com Beta4 Productions (http://www.beta4.com)