程序员的进化

来源:互联网 发布:清风网络 编辑:程序博客网 时间:2024/06/10 14:56
/*-------------------------------------------

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

翻译 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
--------------------------------------------------------------------------------
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 九游账号被转移怎么办 绝地求生刺激战场闪退怎么办 qq回执编号忘了怎么办 电脑开机要用户名和密码怎么办 电脑忘记用户名和密码怎么办 微信账号密码忘了怎么办 开发者账号密保忘记怎么办 华为账号忘记密保问题怎么办 fiyme账号忘记密保怎么办 id忘了密保问题怎么办 vivo账号密码忘记了怎么办 步步高账号密码忘了怎么办 步步高手机账号密码忘了怎么办 康佳电视通行证忘了怎么办 尚游通行证忘了怎么办 深圳免限行通行证忘了截图怎么办 电脑把管理员账号删除了怎么办 uc新浪加载失败怎么办红包还 微信忘记账号和密码怎么办 苹果手机忘记id密码怎么办 购买游戏账号被找回怎么办 交易猫账号忘了怎么办 爱奇艺账号怎么修改不了密码怎么办 论文目录显示错误未定义书签怎么办 银行账号被冻结了怎么办 哈罗单车账号被冻结怎么办 麻袋赚赚账号被冻结怎么办 网赌账号被冻结怎么办 梦想城镇账号被冻结怎么办 钱被银行冻结了怎么办 百度云账号密码忘了怎么办 微信钱包忘记密码了怎么办 word文档打开文件出错怎么办 有盘文件删不了怎么办 u盘文档严重损坏怎么办 wps文档打开是乱码怎么办 九游3083网资金冻结怎么办 阴阳师九游版禁止部分玩法怎么办 夜神模拟器游戏打不开怎么办 九游代金券锁定怎么办 被娱乐天地骗了怎么办