The Evolution of a Programmer


Note: Don't read every line of code. Nerds are exceptions.

===================
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);
             }
     
=================
Master Programmer
=================
     
             [
             uuid(2573F8F4-CFEE-101A-9A9F-00AA00342820) 
             ]
             library LHello
             {
                 // bring in the master library
                 importlib("actimp.tlb");
                 importlib("actexp.tlb");
     
                 // bring in my interfaces
                 #include "pshlo.idl"
     
                 [
                 uuid(2573F8F5-CFEE-101A-9A9F-00AA00342820) 
                 ]
                 cotype THello
              {
              interface IHello;
              interface IPersistFile;
              };
             };
     
             [
             exe,
             uuid(2573F890-CFEE-101A-9A9F-00AA00342820) 
             ]
             module CHelloLib
             {
     
                 // some code related header files
                 importheader();
                 importheader();
                 importheader();
                 importheader("pshlo.h");
                 importheader("shlo.hxx");
                 importheader("mycls.hxx");
     
                 // needed typelibs
                 importlib("actimp.tlb");
                 importlib("actexp.tlb");
                 importlib("thlo.tlb");
     
                 [
                 uuid(2573F891-CFEE-101A-9A9F-00AA00342820), 
                 aggregatable
                 ]
                 coclass CHello
              {
              cotype THello;
              };
             };
     
             #include "ipfix.hxx"
             extern HANDLE hEvent;
             class CHello : public CHelloBase
             {
             public:
                 IPFIX(CLSID_CHello);
     
                 CHello(IUnknown *pUnk);
                 ~CHello();
     
                 HRESULT  __stdcall PrintSz(LPWSTR pwszString);
     
             private:
                 static int cObjRef;
             };
     
             #include 
             #include 
             #include 
             #include 
             #include "thlo.h"
             #include "pshlo.h"
             #include "shlo.hxx"
             #include "mycls.hxx"
     
             int CHello:cObjRef = 0;
     
             CHello::CHello(IUnknown *pUnk) : CHelloBase(pUnk) 
             {
                 cObjRef++;
                 return;
             }
     
             HRESULT  __stdcall  CHello::PrintSz(LPWSTR pwszString) 
             {
                 printf("%ws\n", pwszString);
                 return(ResultFromScode(S_OK));
             }
     
     
             CHello::~CHello(void)
             {
     
             // when the object count goes to zero, stop the server 
             cObjRef--;
             if( cObjRef == 0 )
                 PulseEvent(hEvent);
     
             return;
             }
     
             #include 
             #include 
             #include "pshlo.h"
             #include "shlo.hxx"
             #include "mycls.hxx"
     
             HANDLE hEvent;
     
              int _cdecl main(
             int argc,
             char * argv[]
             ) {
             ULONG ulRef;
             DWORD dwRegistration;
             CHelloCF *pCF = new CHelloCF();
     
             hEvent = CreateEvent(NULL, FALSE, FALSE, NULL);
     
             // Initialize the OLE libraries
             CoInitiali, NULL);
     
             // Initialize the OLE libraries
             CoInitializeEx(NULL, COINIT_MULTITHREADED);
     
             CoRegisterClassObject(CLSID_CHello, pCF, CLSCTX_LOCAL_SERVER,
                 REGCLS_MULTIPLEUSE, &dwRegistration);
     
             // wait on an event to stop
             WaitForSingleObject(hEvent, INFINITE);
     
             // revoke and release the class object 
             CoRevokeClassObject(dwRegistration); 
             ulRef = pCF->Release();
     
             // Tell OLE we are going away.
             CoUninitialize();
     
             return(0); }
     
             extern CLSID CLSID_CHello;
             extern UUID LIBID_CHelloLib;
     
             CLSID CLSID_CHello = { /* 2573F891-CFEE-101A-9A9F-00AA00342820 
     */
                 0x2573F891,
                 0xCFEE,
                 0x101A,
                 { 0x9A, 0x9F, 0x00, 0xAA, 0x00, 0x34, 0x28, 0x20 }
             };
     
             UUID LIBID_CHelloLib = { /* 
     2573F890-CFEE-101A-9A9F-00AA00342820 */
                 0x2573F890,
                 0xCFEE,
                 0x101A,
                 { 0x9A, 0x9F, 0x00, 0xAA, 0x00, 0x34, 0x28, 0x20 }
             };
     
             #include 
             #include 
             #include 
             #include 
             #include 
             #include "pshlo.h"
             #include "shlo.hxx"
             #include "clsid.h"
     
             int _cdecl main(
             int argc,
             char * argv[]
             ) {
             HRESULT  hRslt;
             IHello        *pHello;
             ULONG  ulCnt;
             IMoniker * pmk;
             WCHAR  wcsT[_MAX_PATH];
             WCHAR  wcsPath[2 * _MAX_PATH];
     
             // get object path
             wcsPath[0] = '\0';
             wcsT[0] = '\0';
             if( argc > 1) {
                 mbstowcs(wcsPath, argv[1], strlen(argv[1]) + 1); 
                 wcsupr(wcsPath);
                 }
             else {
                 fprintf(stderr, "Object path must be specified\n"); 
                 return(1);
                 }
     
             // get print string
             if(argc > 2)
                 mbstowcs(wcsT, argv[2], strlen(argv[2]) + 1);
             else
                 wcscpy(wcsT, L"Hello World");
     
             printf("Linking to object %ws\n", wcsPath); 
             printf("Text String %ws\n", wcsT);
     
             // Initialize the OLE libraries
             hRslt = CoInitializeEx(NULL, COINIT_MULTITHREADED);
     
             if(SUCCEEDED(hRslt)) {
     
                 hRslt = CreateFileMoniker(wcsPath, &pmk); 
                 if(SUCCEEDED(hRslt))
              hRslt = BindMoniker(pmk, 0, IID_IHello, (void **)&pHello);
     
                 if(SUCCEEDED(hRslt)) {
     
              // print a string out
              pHello->PrintSz(wcsT);
     
              Sleep(2000);
              ulCnt = pHello->Release();
              }
                 else
              printf("Failure to connect, status: %lx", hRslt);
     
                 // Tell OLE we are going away.
                 CoUninitialize();
                 }
     
             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 
           #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
     
=====================
AXE System programmer
=====================
     
           LL0:
                   .seg    "data"
                   .seg    "text"
                   .proc 04
                   .global _main
           _main:
                   !#PROLOGUE# 0
                   sethi   %hi(LF26),%g1
                   add     %g1,%lo(LF26),%g1
                   save    %sp,%g1,%sp
                   !#PROLOGUE# 1
                   .seg    "data1"
           L30:
                   .ascii  "Hello, World\012\0"
                   .seg    "text"
                   .seg    "data1"
           L32:
                   .ascii  "Hello, World\012\0"
                   .seg    "text"
                   set     L32,%o0
                   call    _strlen,1
                   nop
                   mov     %o0,%i5
                   set     L30,%o0
                   call    _printf,1
                   nop
                   cmp     %o0,%i5
                   bne     L2000000
                   nop
                   mov     0,%o0
                   b       L2000001
                   nop
           L2000000:
                   mov     0x1,%o0
           L2000001:
                   call    _exit,1
                   nop
           LE26:
                   ret
                   restore
                  LF26 = -96
                   LP26 = 96
                   LST26 = 96
                   LT26 = 96
                   .seg    "data"
     
           0000000 0103 0107 0000 0060 0000 0020 0000 0000 
           0000020 0000 0030 0000 0000 0000 0054 0000 0000 
           0000040 033f ffff 8200 63a0 9de3 8001 1100 0000 
           0000060 9012 2000 4000 0000 0100 0000 ba10 0008 
           0000100 1100 0000 9012 2000 4000 0000 0100 00ba 
           0000120 80a2 001d 1280 0005 0100 0000 9010 2000 
           0000140 1080 0003 0100 0000 9010 2001 4000 0000 
           0000160 0100 0000 81c7 e008 81e8 0000 0000 0000 
           0000200 4865 6c6c 6f2c 2057 6f72 6c64 0a00 4865 
           0000220 6c6c 6f2c 2057 6f72 6c64 0a00 0000 0000 
           0000240 0000 000c 0000 0608 0000 006e 0000 0010 
           0000260 0000 060b 0000 006e 0000 0014 0000 0286 
           0000300 ffff ffec 0000 0020 0000 0608 0000 0060 
           0000320 0000 0024 0000 060b 0000 0060 0000 0028 
           0000340 0000 0186 ffff ffd8 0000 004c 0000 0386 
           0000360 ffff ffb4 0000 0004 0500 0000 0000 0000 
           0000400 0000 000a 0100 0000 0000 0000 0000 0012 
           0000420 0100 0000 0000 0000 0000 001a 0100 0000 
           0000440 0000 0000 0000 0020 5f6d 6169 6e00 5f70 
           0000460 7269 6e74 6600 5f73 7472 6c65 6e00 5f65 
           0000500 7869 7400
           0000504
     
           % axe_generate -f system.uhdl
           Application 'Exchange' generated
           2324042350000000 source code lines
           No Errors detected.
           Hardware retrieval...done OK
           Certification Test...done OK
           Packing..............done OK
           Delivery.............done OK
           Application 'Exchange' delivered to customer 
           23456000 bytes/sec.
           End processing, 2345 seconds.
     
===========================
Ultra high level programmer
===========================
     
           system.uhdl :
     
           SYSTEM
             CREATE ScreenWin
               SIZE 20000000/Unit=One
               DESTINATION Order.dest[One]
               OUTPUT CHARACTER['Hello world']
             END
           END
     
===========
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 all
     
             I need a "Hello, world." program by this afternoon.
     
===============
Chief Executive
===============
     
             % message
             message: Command not found
             % pm
             pm: Command not found
             % letter
             letter: Command not found.
             % mail
             To: ^X ^F ^C
             > help mail
             help: Command not found.
             >what
             what: Command not found
             >need help
             need: Command not found
             > darn!
             !: Event unrecognized
             >exit
             exit: Unknown
             >quit
             %
             % logout
     
             Bipppp ! Miss Jones? Please page Richard for me. NOW!
     
----------
Author:  John Ruggiero
     


Back Home
Nothing but Jokes by Nauman Faridi
Hosted by www.Geocities.ws

1