[Cuis-dev] How many lines of code is Cuis? (both alone and Cuis+Cog)

Juan Vuletich juan at cuis.st
Wed Mar 27 05:59:17 PDT 2024

Hi Ian,

On 3/26/2024 2:55 PM, Ian Jeffries via Cuis-dev wrote:
> Hi folks,
> I'm trying to get a rough count of how many lines of code make up 
> Cuis. I was also curious how many source lines of code (SLOC) are in 
> the whole tech stack, which I understand to be Cuis itself + the Cog VM.
> Here's what I've currently got:
> Cuis is about 100 thousand SLOC, mainly in the `./packages` folder. I 
> wasn't sure if `./CoreUpdates` should be counted as well. If it is 
> then the total is about 120 kSLOC.

But those packages are not part of Cuis. It would be like including 
OpenCV when counting the LOC of Python. A more useful measure could be 
`Smalltalk allClasses sum: [:cl | cl linesOfCode]`. That counts the 
lines of code of the actual Cuis image.

> The Cog VM is enormous, almost 3 million SLOC in `./src`. I'm guessing 
> that's even missing some code, for instance on Unix I should probably 
> count `./platforms/unix` as well, though at 85 kSLOC it hardly matters.

You'd need to understand how the code for the VM is handled. Which parts 
are human written and which parts are automatically generated.

> Corrections, clarifications, or elaboration would all be appreciated!
> ~ Ian
> Details...
> # Cuis
> https://github.com/Cuis-Smalltalk/Cuis-Smalltalk-Dev
> Cuis-Smalltalk-Dev/packages: 101 kSLOC
> Cuis-Smalltalk-Dev/CoreUpdates: 22 kSLOC
> # Cog
> https://github.com/OpenSmalltalk/opensmalltalk-vm
> opensmalltalk-vm/src: 2,955 kSCLOC
> opensmalltalk-vm/platforms/unix: 85 kSLOC
> (all line counts taken with github.com/AlDanial/cloc 
> <http://github.com/AlDanial/cloc> v 1.82)

I think that before you can get a useful answer you need deeper 
knowledge of Cuis and Smalltalk systems in general.

Hope this helps.

Juan Vuletich

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.cuis.st/mailman/archives/cuis-dev/attachments/20240327/7725b72a/attachment.htm>

More information about the Cuis-dev mailing list