Bedno.com
Evolution of a Professional Programmer

Laziness can be a virtue.
High School/Junior 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)
  ]
... 200 lines clipped
  // 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



 UP 
2003.02.10