[comp.lang.ada] Executible Program size

defaria@hpclapd.HP.COM (Andy DeFaria) (06/04/90)

>/ hpclapd:comp.lang.ada / ted@grebyn.com (Ted Holden) /  7:42 pm  Jun  3, 1990 /

>>There are two pretty obvious responses to this objection, both of them
>>convincing.  (1) It's an implementation issue, not a language design issue.
>>Why can't a compiler, in principle, simply leave out the tasking part if it's
>>not used?  (2) Use a different language.  Neither Ada nor your favorite
>>language is the perfect language for every application.  If you don't need
>>tasking, and your Ada compliler insists on including a lot of extra baggage,
>>use a different language.
> 
>1.  Ada versions which I've seen leave out nothing;  small programs
>compile to several hundred K bytes.  My understanding has always been
>that this is required by the nature of the language.

HP's version of  Ada does  NOT include any of the  tasking support code for
any program that does not use any tasking constructs.  Thus is satisfies #1
and nullifies #2.   I suspect that many other  Ada compilers  also do this.
Perhaps earily versions of Ada compilers used to  leave it in.  When is the
last time that you have used an Ada compiler Ted?

pvarner@blackbird.afit.af.mil (Paul A. Varner) (06/05/90)

In article <20104@grebyn.com> ted@grebyn.com (Ted Holden) writes:
>Yes.  He is misguided.... [Stuff Deleted]
> 
>The authors are misguided.... [Stuff Deleted]

First, What makes a person misguided?  Is it because he doesn't agree
with your views???  Let me know WHY they are misguided.

>1.  Ada versions which I've seen leave out nothing;  small programs
>compile to several hundred K bytes.  My understanding has always been
>that this is required by the nature of the language.

Secondly, this is a function of the COMPILER not the language.  I agree that
Ada compilers can be pretty lacking in features and pretty stupid.  However,
they are getting there.  Using the test that you posted earlier.  I compiled
"Hello, World" in Ada, C, and Pascal on my 286 machine using Janus Ada, Turbo
C, and Turbo Pascal.  All three executible files were in the same ballpark.
Here are the results in file size:

     Janus ada   : HELLO.COM - 7265 bytes
     Turbo C     : HELLO.COM - 6048 bytes
     Turbo Pascal: HELLO.EXE - 3296 bytes

I fail to see the several hundred K bytes that you mentioned above.

Paul Varner
pvarner@blackbird.afit.af.mil