A code size analysis

Currently, the GT code is loaded on top of a full Pharo distribution. Pharo ships with 564157 lines of code. GT adds 898973. This is a significant amount of code. Let's look closer at it.

GT comes with a whole new graphical stack, and tools that completely replace the default tools of Pharo. Specifically, there are 30 projects from Pharo totalling 228709 lines of code that are not needed in GT. Still, we ship the complete Pharo code because we are in a transition period, and for the time being we want people to be able to easily access the default Pharo tools.

Now, if we take a closer look at the code from GT, there are a number of abilities that are not present in Pharo. For example, GT includes 23 SmaCC parsers for other languages. These alone total 153513 lines of code. It includes 40747 lines of code to support code analysis of systems written in other languages. On top of that, we complement the already existing JSON support from Pharo with support for XML which adds another 94328 lines of code. We do that because we believe that a development environment should offer convenient support for various data formats.

All in all, we ship the extra libraries to support other languages and technologies out of the box. But, the size of the core of GT plus the size of the Pharo code we do rely on is about the same size as the size of the standard Pharo distribution.