Quote Originally Posted by lepidosteus
@ Lifepower : the reason you get such big exe (in delphi and lazarus) is, for what I understand, the VCl (and it's lazarus version). It's like a "delphi framework" your exe get with them. It's the same for every language with such runtimes, Visual basic has it's runtimes, .net has it's framework.
Yes. The problem with object oriented frameworks is that the virtual method tables of objects always depend on all virtual methods, i.e. if you use an object, all of its virtual methods are included in the exe; with normal dependency analysis (which is what both Delphi and FPC do) the linker has no way to remove them. This is the reason why most OOP frameworks are reasonably large, i.e. Borland's VCL, Trolltech's QT, Microsoft's Foundation Classes are all huge. Some frameworks hide their code in DLL's, but the code is there.

Expect some compiler tricks in the future. But do not expect that the compiler can vapourize the exes: the right way is to shrink the libraries.