* * * * *
Hello world! Care to read your email?
> Yes, this really is the classic program that prints “Hello, world!” when
> you run it. Unlike the elementary version often presented in books like K&R
> (The C Programming Language), GNU (GNU's Not Unix) hello processes its
> argument list to modify its behavior, supports internationalization [1],
> and includes a mail reader.
>
“hello - GNU Project - Free Software Foundation [2]”
> Every program attempts to expand until it can read mail. Those programs
> which cannot so expand are replaced by ones which can.
>
> “Law of Software Envelopment”
>
I didn't even realize GNU (GNU's Not Unix) [3] had a “Hello world” program
available for downloading, much less one that succumbed to the Law of
Software Envelopment. Granted, GNU then goes on to say:
> The primary purpose of this program is to demonstrate how to write other
> programs that do these things; it serves as a model for all of the GNU
> coding standards [4].
>
It's quite amusing that GNU can turn this [5]:
-----[ C ]-----
#include <stdio.h>
main()
{
printf("hello, world\n");
}
-----[ END OF LINE ]-----
into a 400k compressed download, complete with its own configuration script,
m4 macros (who uses m4 anymore?), man pages (and here I thought GNU was big
on info pages) along with documentation in TeX [6], plus the various language
files for Russian, Slovanian, Japanese and I even think English is included
in there somewhere.
Quite amusing.
Note: technically, the code should be written as:
-----[ C ]-----
#include <stdio.h>
#include <stdlib.h>
int main(void)
{
printf("hello, world\n");
return(EXIT_SUCCESS);
}
-----[ END OF LINE ]-----
to be fully ANSI (American National Standards Institute) compliant, but hey,
who am I to argue with the authors of C?
Then again, if you really want to be anal retentive about it, then:
-----[ C ]-----
#include <stdio.h>
#include <stdlib.h>
int main(void)
{
(void)printf("hello, world\n");
return(EXIT_SUCCESS);
}
-----[ END OF LINE ]-----
But that's just being silly …
[1]
http://www.gnu.org/prep/standards_25.html#SEC25
[2]
http://www.gnu.org/software/hello/hello.html
[3]
http://www.gnu.org/
[4]
http://www.gnu.org/prep/standards_toc.html
[5]
https://boston.conman.org/
[6]
http://www.tug.org/
Email author at
[email protected]