首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

软件工程师的进化——从学生到首席执行官

2012-08-26 
程序员的进化——从学生到首席执行官翻译 2002 王咏刚 http://www.contextfree.net/ 转译自 Omris Computer

程序员的进化——从学生到首席执行官

  1. 翻译 2002 王咏刚 http://www.contextfree.net/
    转译自 Omri's Computer Humor Page
    http://www.cs.bgu.ac.il/~omri/Humor/
    -------------------------------------------*/


    --------------------------------------------
    中学阶段

              10 PRINT "HELLO WORLD"
              20 END
    --------------------------------------------
    大学一年级

              program Hello(input, output)
                begin
                  writeln('Hello World')
                end.
    --------------------------------------------
    大学高年级

              (defun hello
                (print
                  (cons 'Hello (list 'World))))
    --------------------------------------------
    初级程序员

              #include <stdio.h>;
              void main(void)
              {
                char *message[] = {"Hello ", "World"};
                int i;

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

              #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 << end

                return(0);
              }
    --------------------------------------------
    编程高手

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

              #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 <windows.h>;
              #include <ole2.h>;
              #include <stdio.h>;
              #include <stdlib.h>;
              #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 <windows.h>;
              #include <ole2.h>;
              #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 <windows.h>;
              #include <ole2.h>;
              #include <stdlib.h>;
              #include <string.h>;
              #include <stdio.h>;
              #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);
              }
    --------------------------------------------
    黑客初阶

              #!/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;
    --------------------------------------------
    黑客有成

              #include <stdio.h>;
              #define S "Hello, World\n"
              main(){exit(printf(S) == strlen(S) ? 0 : 1);}
    --------------------------------------------
    黑客高手

              % cc -o a.out ~/src/misc/hw/hw.c
              % a.out
    --------------------------------------------
    黑客大虾

              % cat
              Hello, world.
              ^D
    --------------------------------------------
    初级经理

              10 PRINT "HELLO WORLD"
              20 END
    --------------------------------------------
    中级经理

              mail -s "Hello, world." bob@b12
              Bob, could you please write me a program that prints "Hello, world."?
              I need it by tomorrow.
              ^D
    --------------------------------------------
    高级经理

              % zmail jim
              I need a "Hello, world." program by this afternoon.
    --------------------------------------------
    首席执行官

              % letter
              letter: Command not found.
              % mail
              To: ^X ^F ^C
              % help mail
              help: Command not found.
              % damn!
              !: Event unrecognized
              % logout
    --------------------------------------------
复制代码

热点排行