The Evolution of a Programmer

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 <stdio.h> 
        void main(void)
         {
          char *message[] = {"Hello ", "World"};
           int i;

           for(i = 0; i < 2; ++i)
             printf("%s", message[i]);
           printf("\n");
        }

Seasoned professional

        #include <iostream>
        #include <string>
        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);
        }

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 <stdio.h> 
 #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

Guru Hacker

 % cat
 Hello, world.
 ^D

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

December 4, 1997
Mark Dettinger