Re: A slightly surprising and good thing

"Tim Bradshaw (as tfb at tfeb dot org)" <[email protected]>
Newsgroups gmane.lisp.lispworks.general
Message-ID <[email protected]>
On 24 Mar 2026, at 14:38, David McClain <[email protected]> wrote:
> 
> Isn’t this how software development (of the unknown) always happens? Called the "2nd-System Effect" by Fred Brooks. Sounds, from the tone of your note, that you have now embarked on the 3rd version.

Yes, it has serious second-system effect, which I really knew was coming.  The first thing, which I wrote really by mistake, was really simple & fast, but there were no actual structures at all: it was all vectors in drag (which is not a bad thing).  But it only dealt with a single type (because there was only one vector) and there was no notion of inheritance or anything.

So then I thought, OK, multiple types, inheritance, the ability to specify grouping (so 'don't group these into one array' or 'do group them if you can'), and there should be actual wrapper objects so you can hand those around.  And the annoying thing is it wasn't in any way unknown: I knew what I wanted it to do, and (originally) was happy with single inheritance (so like defstruct not defclass) and so on.  So I had an outline idea of it, but still it just got bogged down and unpleasant.

And then of course at some point, being a Lisp person, I decided it should do the right thing in terms of things like possible redefinition (the macro needs to puke if the class has been redefined or an instance is obsolete, at least).  And surprisingly that wasn't the most unpleasant bit because most of it was already there.

So yes, second-system, but even so nastier than I think it should have been.  Partly because I decided to use CLOS & bits of the MOP and that's always a mistake (:-).

--tim


_______________________________________________
Lisp Hug - the mailing list for LispWorks users
[email protected]
http://www.lispworks.com/support/lisp-hug.html
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.