Showing posts with label gnu. Show all posts
Showing posts with label gnu. Show all posts

Thursday, August 2, 2007

Hello World

The way people code Hello World depends on their age and job

High School/Jr.High
10 PRINT "HELLO WORLD"
20 END


First year in College
program Hello(input, output)
begin
writeln('Hello World')
end.


Senior year in College
(defun hello
(print
(cons 'Hello (list 'World))))


New professional
#include

void main(void)
{
char *message[] = {"Hello ", "World"};
int i;
for(i = 0; i < 2; ++i)
printf("%s", message[i]);
printf("\n");
}


Seasoned professional
#include
#include
class string
{
private:
int size;
char *ptr;
public:
string() : size(0), ptr(new char('\0')) {}
string(const string &s) : size(s.size)
{
ptr = new char[size + 1];
strcpy(ptr, s.ptr);
}
~string()
{
delete [] ptr;
}
friend ostream &operator <<(ostream &, const string &);
string &operator=(const char *);
};

ostream &operator<<(ostream &stream, const string &s)
{
return(stream << s.ptr);
}
string &string::operator=(const char *chrs)
{
if (this != &chrs)
{
delete [] ptr;
size = strlen(chrs);
ptr = new char[size + 1];
strcpy(ptr, chrs);
}
return(*this);
}
int main()
{
string str;
str = "Hello World";
cout << str << endl;
return(0);
}


System Administrator
#include
#include
main()
{
char *tmp;
int i=0;
/* on y va bourin */
tmp=(char *)malloc(1024*sizeof(char));
while (tmp[i]="Hello Wolrd"[i++]);
/* Ooopps y'a une infusion ! */
i=(int)tmp[8];
tmp[8]=tmp[9];
tmp[9]=(char)i;
printf("%s\n",tmp);
}

Apprentice Hacker
#!/usr/local/bin/perl
$msg="Hello, world.\n";
if ($#ARGV >= 0) {
while(defined($arg=shift(@ARGV))) {
$outfilename = $arg;
open(FILE, ">" . $outfilename) || die "Can't write $arg: $!\n";
print (FILE $msg);
close(FILE) || die "Can't close $arg: $!\n";
}
} else {
print ($msg);
}
1;

Experienced Hacker
#include
#include
#define S "Hello, World\n"
main(){exit(printf(S) == strlen(S) ? 0 : 1);}


Seasoned Hacker
% cc -o a.out ~/src/misc/hw/hw.c
% a.out
Hello, world.


Guru Hacker
% cat
Hello, world.

New Manager
10 PRINT "HELLO WORLD"
20 END


Middle Manager
mail -s "Hello, world." bob@b12
Bob, could you please write me a program that prints "Hello, world."?
I need it by tomorrow.
^D


Senior Manager
% zmail jim
I need a "Hello, world." program by this afternoon.

Chief Executive
% letter
letter: Command not found.
% mail
To: ^X ^F ^C
% help mail
help: Command not found.
% damn!
!: Event unrecognized
% logout

Research Scientist
PROGRAM HELLO
PRINT *, 'Hello World'
END

Older research Scientist
WRITE (6, 100)
100 FORMAT (1H ,11HHELLO WORLD)
CALL EXIT
END

###courtesy:GNU###

Funny C/C++ declarations!

Need some C/C++ knowledge :-)
May contain "explicit" words

auto accident;
register voters;
static electricity;
struct by_lightning;
void *where_prohibited;
char broiled;
short circuit;
short changed;
long johns;
long dong_silver;
unsigned long letter;
double entendre;
double trouble;
union organizer;
union jack;
float valve;
short pants;
union station;
void check; unsigned check;
struct dumb by[sizeof member];
union onion;

/*if GCC extensions are allowed*/
long long ago; /* in a galaxy far far away */


const ipated;
case closed:
double or_nothing;
short sighted;
void if_removed; /* warranty */
volatile buggy_code;
unsigned anonymous;
int erbreed;

/* Borland's additional C keywords */
huge penis;
interrupt ed;
near sighted;
far out;


men()
{
goto pub;
pub:
return pissed;
}

women()
{
goto bathroom;
bathroom:
while (1) ;
}

class dismissed : public annoyance

###Extracted from GNU's site###

Human DNA deciphered into C code!

May contain "offensive" words. Read at ur own risk!!!

For many years molecular biologists have been mystified by the fact that very
little of an organism's DNA seems to serve any useful function.

I have solved the mystery.

The reason why only 30% of human DNA performs any useful function is that the
rest of it is comments.

Once we decode a typical human genome, we see that the contents begin as
follows:

===
/* HUMAN_DNA.H
*
* Human Genome
* Version 2.1
*
* (C) God
*/

/* Revision history:
*
* 0000-00-01 00:00 1.0 Adam.
* 0000-00-02 10:00 1.1 Eve.
* 0000-00-03 02:11 1.2 Added penis code to male version. A bit messy --
* will require a rewrite later on to make it neater.
* 0017-03-12 03:14 1.3 Added extra sex drive to male.h; took code from
* elephant-dna.c
* 0145-10-03 16:33 1.4 Removed tail.
* 1115-00-31 17:20 1.5 Shortened forearms, expanded brain case.
* 2091-08-20 13:56 1.6 Opposable thumbs added to hand() routine.
* 2501-04-09 14:04 1.7 Minor cosmetic improvements -- skin colour made
* darker to match my own image.
* 2909-07-12 02:21 1.8 Dentition inadequate; added extra 'wisdom' teeth.
* Must remember to make mouth bigger to compensate.
* 4501-12-31 14:18 1.9 Increase average height.
* 5533-02-12 17:09 2.0 Added gay option, triggered by high population
* density, to try and slow the overpopulation problem.
* 6004-11-04 16:11 2.1 Made forefinger narrower to fit hole in centre of
* CD.
*/

/* Standard definitions
*/

#define SEX male
#define HEIGHT 1.84
#define MASS 68
#define RACE caucasian

/* Include inherited traits from parent DNA files.
*
* Files must be pre-processed with MENDEL program to provide proper
* inheritance features.
*/

#include "mother.h"
#include "father.h"

#infndef FATHER
#warn("Father unknown -- guessing\n")
#include "bastard.h"
#endif

/* Set up sex-specific functions and variables
*/
#include

/* Kludged code -- I'll re-design this lot and re-write it as a proper
* library sometime soon.
*/
struct genitals
{
#ifdef MALE
Penis *jt;
#endif
/* G_spot *g; Removed for debugging purposes */
#ifdef FEMALE
Vagina *p;
#endif
}

/* Initialization bootstrap routine -- called before DNA duplication.
* Allocates buffers and sets up protein file pointers
*/
DNA *zygote_initialize(Sperm *, Ovum *);

/* MAIN INITIALIZATION CODE
*
* Returns structures containing pre-processed phenotypes for the organism
* to display at birth.
*
* Will be improved later to make output less ugly.
*/
Characteristic *lookup_phenotype(Identifier *i);
===

...and so on.


[ Note that God uses three-space tabs ]

##Extracted from gnu's site##