The Evolution of a Programmer

eelvis

新手上路
注册
2002-02-06
消息
114
荣誉分数
0
声望点数
0
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);
printf("\n");
}

Seasoned professional
=====================
#include <iostream.h>
#include <string.h>

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


[
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(<windows.h>);
importheader(
  1. );
    importheader(<except.hxx>);
    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;
    };
    };




    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 <windows.h>
    #include

    1. #include <stdio.h>
      #include <stdlib.h>





      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 <windows.h>
      #include





      1. 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 <windows.h>
        #include

        1. #include <stdlib.h>
          #include <string.h>
          #include <stdio.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 <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 :D
 
Very funny! A classic!
 
后退
顶部