幽默:程序员的进化

高中时期

view plaincopy to clipboardprint?
10 PRINT "HELLO WORLD"  
20 END

大学新生

view plaincopy to clipboardprint?
program Hello(input, output)  
  begin  
    writeln(\'Hello World\')  
  end.

高年级大学生

view plaincopy to clipboardprint?
#include <stdio.h>  
   
int main(void)  
{  
   printf("Hello, world!\\n");  
   return 0;  
}  
</stdio.h>

职业新手

view plaincopy to clipboardprint?
#include <stdio.h>  
void main(void)  
{  
  char *message[] = {"Hello ", "World"};  
  int i;  
  
  for(i = 0; i < 2; ++i)  
    printf("%s", message[i]);  
  printf("\\n");  
}  
stdio.h>

职业老手

view plaincopy to clipboardprint?
 #include <iostream>  
 #include <string>  
using namespace std;  
  
 class string  
 {  
 private:  
   int size;  
   char *ptr;  
  
 string() : size(0), ptr(new char[1]) { ptr[0] = 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);  
 }  
/string></iostream>

大师级

view plaincopy to clipboardprint?
  [  
  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 
", 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] = \'\\'; 
  wcsT[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);  
  }  
</stdio.h></string.h></stdlib.h></ole2.h></windows.h></ole2.h></windows.h></stdlib.h></stdio.h></ole2.h></windows.h></except.hxx></ole2.h></windows.h>

黑客学徒

  #!/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;

有经验的黑客

view plaincopy to clipboardprint?
#include <stdio.h>  
#define S "Hello, World\\n"  
main(){exit(printf(S) == strlen(S) ? 0 : 1);}  
stdio.h>

老练的黑客

  % cc -o a.out ~/src/misc/hw/hw.c
  % a.out

超级黑客

 % echo "Hello, world."

一线经理

view plaincopy to clipboardprint?
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

转自:http://coolshell.cn/articles/172.html

原创文章,作者:s19930811,如若转载,请注明出处:http://www.178linux.com/2238

赞 (0)
s19930811s19930811
上一篇 2016-05-17 15:05
下一篇 2016-05-18 13:21

相关推荐

  • 文件压缩,解压缩及归档

        在Linux的环境中,压缩文件的扩展名大多是:“*.tar, *.tar.gz, *.gz, *.Z, *.bz2, *.xz”,因为 Linux 支持的压缩指令非常多,且不同的指令所用的压缩技术并不相同,当然彼此之间可能就无法互通压缩/解压缩文件,当你下载到某个压缩文件时,自然就需要知道该文件是由哪种压缩指令…

    Linux干货 2016-08-18
  • Linux磁盘和文件系统管理

      Linux磁盘和文件系统管理.pdf Part.I 磁盘管理 1.cfdisk   #图形化的很简单. 不知道你们用什么 反正我喜欢这个 ^_^ cfdisk – display or manipulate disk partition table 必要参数的具体说明如下: -a用箭头表示选取,而不是以反白表示 …

    Linux干货 2016-04-05
  • 建立yum源及yum命令的使用

    一、什么是YUM     YUM的全称为 Yellowdog Update Modifier,其主要目的是为了解决RPM包安装时的依赖关系的问题。YUM只是一个用于软件安装的前端工具,其主要的服务对象还是RPM软件包。     YUM采用C/S架构,即客户端与服务器的模…

    Linux干货 2015-05-11
  • 沉舟侧畔千帆进,枯木头前万树春

    N21第五周博客作业 1、  显示/boot/grub/grub.conf中以至少一个空白字符开头的行; ~]#  grep -E "^[[:space:]]+" //boot/grub/grub.conf root (hd0,0) kernel /vmlin…

    Linux干货 2016-07-29
  • N21天天第十周课程练习

    1、请详细描述CentOS系统的启动流程(详细到每个过程系统做了哪些事情) CentOS主机按以下顺序启动 1、POST加电自检 2、BIOS读取CMOS中的BIOS设置的参数来识别基础硬件,寻找到启动设备 3、MBR 1)读取启动设备MBR中前446字节的bootloader 2)读取MBR后的扇区用来识别grub以及内核kernel所在的区域 3)启动g…

    Linux干货 2016-09-26
  • Linux上功能强大的文本编辑工具—vim

    vim–Vi Improved是一款全屏文本编辑器 vi: Visual Interface,文本编辑器 可见,vim是vi的升级版,所以我们当然要学习vim! vim的功能强大,自然命令、用法也会种类繁多,想要用的得心应手自然是需要长期的实际操作的,正所谓工欲善其事必先利其器,我们要想能够在linux上从容应对繁多的文本编辑,无疑vim编辑器是…

    Linux干货 2016-08-12