[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

(Fwd) Re: Evolution of a programmer (fwd)







This one is from Victor. I laughed for a long time!
Please also note the "management" jokes at the bottom.

Cheers, Soren
--- Forwarded mail from victor perevoztchikov <perev>

From: victor perevoztchikov <perev>
Subject: Re: Evolution of a programmer (fwd)
To: sorensen@uther1.phy.ornl.gov (Soren), morrison@uther1.phy.ornl.gov (Dave),
        zhao@uther1.phy.ornl.gov (Yan), liuqh@uther1.phy.ornl.gov (Qihang),
        hang@uther1.phy.ornl.gov (Hang), perev@uther1.phy.ornl.gov (Victor),
        ylye@uther1.phy.ornl.gov (Yanlin)
Date: Thu, 24 Oct 1996 11:19:21 -0400 (EDT)

ATMWang@aol.com writes:
>From ATMWang@aol.com  Thu Oct 24 01:14:48 1996
From: ATMWang@aol.com
Date: Thu, 24 Oct 1996 00:47:23 -0400
Message-ID: <961024004723_1980022735@emout09.mail.aol.com>
To: labarge@worldnet.att.net, changas@pharm.medsch.ucla.edu,
        mcbride@viper.princeton.edu, pdingus@sanders.com,
        taras_masnyj@phx.mcd.mot.com, perev@uther1.phy.ornl.gov,
        bonushki@physics.ucla.edu, FISYAK@ucdhee.ucdavis.edu, david@kinetx.com
Subject: Re: Evolution of a programmer

This one is for my C++ friends, if you guys haven't seen it yet.
-Angel
--------------------------------------------------------
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
   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



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




--
-------------------------------------------------------------------------
Victor M. Perevoztchikov         perev@uther1.phy.ornl.gov  [ US
                                 perev@vxcern.cern.ch       [ CH
                                 perev@mx.ihep.su           [ RUS

Oak Ridge National Laboratory, MS 6374, Oak Ridge, TN 37831 (423-574 5928)
                                                       Fax  (423-576 5780)
University of Tennessee, Knoxville, TN 37996-1200  (secre-at 423-974 7808)
9015 Ten Mile Rd. #209 Knoxville TN 37923                   (423-693 2639)


---End of forwarded mail from victor perevoztchikov <perev>

-- 

========================================================================
Soren P. Sorensen
Dept. Physics, U. of Tennessee,  Knoxville, TN 37996-1200 (423-974-7808)
Oak Ridge National Lab., MS 6374,Oak Ridge, TN 37831-6374 (423-576-8764)
2408 Staplehurst Lane,           Knoxville, TN 37923-1321 (423-694-9213)
email: Soren-Sorensen@utk.edu                        fax: (423-576-5780)
========================================================================