Subject: Re: Common LISP: The Next Generation From: Erik Naggum <erik@naggum.no> Date: 1996/08/28 Newsgroups: comp.lang.lisp,comp.lang.dylan,comp.lang.scheme Message-ID: <3050214712631064@arcana.naggum.no> I have never understood the value of the "hello, world" that "mathew" brings up. it is not new, it is indeed prevalent in certain circles. the test shows not how small (or not) executables a programming language can produce, like so many people believe. the test shows only how tightly coupled the operating system and the programming language are. the 92-character program exit (code) { _exit (code); } main () { write (1, "hello, world\n", 13); return 0; } compiled on my sparc-sun-sunos4.1.3 with cc -o hello -n -s hello.c yields a 856-byte object file that is "sparc pure executable". most of the overhead here is from a crt0.o file that cannot junk its dynamic loading preamble. the definition of exit is to avoid the overhead of the C library's version. now, this 856-byte executable plugs right into the Unix operating system, and does its job without any hassles. however, it is an inordinately large program for what it does! under e.g., TOPS-20, one would write a program with two both system calls (and some setup) with constant string data and no other data; it would require something like 16 words of preamble, 3-4 words for the code, and 3 words for the string. clearly, programming in MACRO-20 under TOPS-20 is the most ideal programming environment there is! according to the "hello, world" test, that is. is it useful to compare languages on the basis of how tightly coupled they are with the operating system? I don't think so. #\Erik -- my other car is a cdr