[squeak] Re: SLOC in Squeak History

michael.cole at nimiq.net michael.cole at nimiq.net
Tue May 11 02:01:01 UTC 2004

Hi Tim,

Squidgy ground it is.

I agree that LOC comparisons across languages are so shaky as to be
meaningless. The measures here are within a language and the question is
the rate of growth over versions. So that is perhaps less squidgy.

As for what counts, as you pointed out that's a matter of definition. I
am inclined to count multiple messeges to the same object as multiple
LOC. Composite lines are one LOC. So maybe the easy response is to say,
count ';' and '.' as signalling a LOC.

Of course this LOC business doesn't do justice to those writing
beautiful code. But then writing beautiful code also involves properties
of readability and resuability. These considerations will generate more
LOC than strictly required. For the purposes of this exercise I am
willing to live with the uncertainty of the SLOC needed to implement the
image of a version. It might be an interesting question to ask what is
the minimal SLOBC (software lines of beautiful code) for Squeak. I'll
buy the beer.

That said, I really am interested in counting LOC using more or less
arbitrary rules to define the line of code. From a historical
perspective it is interesting to see how the core of Squeak (perhaps
defined by the functional classes of V1) has grown or not. Looking a
blue/pink plane efforts might also be intersting - how has Squeak
actually evolved in comparision to the design intentions. As v4 looms
and SqueakMap zooms I think these metrics for this enterprise are at
least interesting. Inquiring minds gotta know, you know. Sleep
deprivation the other night caused me to think of how one could build a
Squeak enterprise metric that would (like Google and before that
McDonalds) proudly tell us all just how much Squeaky stuff there is in
the universe on a day by day basis.

Wandering back on topic, .... My main interest is in the SLOC for the
whole enterprise, limited only by work that adds some functionality to
Squeak (so count Connectors, SqueakMap, Monticello etc., but not demos
and Squeak eyes). I doubt, however that whatever might be left out would
make that much of a difference in version SLOC to version SLOC

So, once again, anyone, what is it that I am enumerating instances of to
enable this (arbitrary) counting exercise?


PS. Tim, why the asbestos? Is there a hidden history of SLOC re: Squeak
I should know about?

Tim Rowledge <tim at sumeru.stanford.edu> wrote:

> Ooh, you're running on squidgy ground here.
> Firstly, as you said yourself apples and oranges; a line of code in one language
> is not the same as in another.
> Secondly, what are you going to count as a LOC? What about cascades -
> one LOC count per clause or one for the whole? And composite lines (ie
> 3 + 4 * 5 / 6 squared )? I wouldn't like to suggest what the 'proper'
> answer is, since I'm almost out of asbestos underwear.
> Thirdly, what are you going to count as countable? Stuff in the default
> image, stuff in the Full image, the sum total of what's on SqueakMap?
> Wow. I wish you luck in your quest, Pilgrim, but don't expect me to be
> able to help when you meet the Balrog.
> tim
> --
> Tim Rowledge, tim at sumeru.stanford.edu, http://sumeru.stanford.edu/tim
> To succeed in politics, it is often necessary to rise above your principles.

More information about the Squeak-dev mailing list