[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Object creation discussion (at last!)



    Date: Mon, 20 Apr 87  16:10:57 CDT
    From: Patrick H Dussud <DUSSUD%Jenner%ti-csl.csnet@RELAY.CS.NET>

    I did a census of :before and :after :init methods on our system:

    There are 864 flavors,
	      192  :before :init methods,
	      336  :after :init methods.

    The :after :init methods seem to be more common than :before :init.
    Did you come up with a different count?

When I make these counts I try to exclude the window system, because I
don't consider its design representative of how things would be programmed
today.  Unless you've redesigned the MIT window system a lot more than we
have, that's probably true of your system as well.

Here are the make-instance methods I found (in my CLOS object creation
proposal these would be initialize-instance methods, and I have translated
the method qualifiers to the terminology of that proposal):
	224 methods total
	138 unqualified methods
	 81 :after methods
	  5 :around methods

I expected the fraction of :after methods to be lower than 36%.  I suppose
it would be good to study them and see why so many are being used, but that
would take more time than I wish to spend today.  Maybe later.

For completeness, here are the :init counts, but they are mostly window
flavors:
	293 methods total
	 92 :before methods
	 23 unqualified methods
	170 :after methods
	  8 :around methods

There is the same preponderance of :after methods, but because :init uses
:daemon method combination (thus almost anything that uses an unqualified
method is, in fact, broken) and because of the influence of the window
system, I don't think there is much to be learned from these numbers.