On Wed, Aug 01, 2001 at 10:43:12AM -0500, doug wrote:
> Using it however seems a bit strange. I do like the interface, however
> compiling a small program turned into a huge file. I created a little clock
> using a label, timer control, and a button to exit. The file compiled into
> 408k!!! And if that's not bad enough it also requires making sure a lib*.so
> (forget the exact name right now) is in the path to use it. That file is
> part of kylix and it 1.5mb. So to package a little clock turns into 2mb!

Where have I heard this before...  Oh, yeah!  Delphi!  Very common
complaint about it, actually.  It used to be worse - before Borland
added what they call 'packages', you didn't have the 1.5M .so, but the
clock app would be 2M itself.  (Well, back when I used to have this
conversation all the time, ISTR that it was 200k instead of 2M, but
the principle is the same.)

Anyhow, that 2M is almost all infrastructure.  It contains a lot of
management and exception-handling framework, the entire component
libraray, etc.  For a small program, I agree that it makes for an
insane amount of overhead.

However, as you add to the program, it will grow very, very slowly.
I figure that 408k executable is probably about 375k boilerplate and 33k
of your code - and I'm being generous in the allocation of your code.
It's probably even more boilerplate than that.  Assuming these numbers,
though, you can add some complexity to your form (increasing it to 50k
or so), add 9 more forms, and have a fairly complex 10-form application
that takes 375k (boilerplate) + 500k (forms + code) + 1.5M (CLX library)
= 2.4M.  Much more reasonable.  (Also, before comparing it to C programs,
don't forget that they need libraries too... 1.1M for libc, 1.2M for
libgtk, etc.  That's just invisible because they're all going to be
preinstalled.)

-- 
With the arrest of Dimitry Sklyarov it has become apparent that it is not
safe for non US software engineers to visit the United States. - Alan Cox
"To prevent unauthorized reading..."         - Adobe eBook reader license