有意思的文章:The Evolution of a Programmer

时间: 2007-09-14 / 分类: 人生百态, 收藏推荐 / 浏览次数: 559 views / 0个评论 发表评论
High SchoolJunior 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 &stringoperator=(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)
  ]
  module CHelloLib
  {
 
      
some code related header files
     
importheader();
     
importheader();
     
importheader();
     
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
  #include
  #include
  #include
  #include thlo.h
  #include pshlo.h
  #include shlo.hxx
  #include mycls.hxx
 
  int CHellocObjRef = 0;
 
  CHelloCHello(IUnknown pUnk) 
CHelloBase(pUnk)
  {
     
cObjRef++;
     
return;
  }
 
  HRESULT 
__stdcall  CHelloPrintSz(LPWSTR pwszString)
  {
     
printf(%wsn, 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
  #include
  #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
  #include
  #include
  #include
  #include
  #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 specifiedn);
     
return(1);
     
}
 
   get print string
  if(argc  2)
     
mbstowcs(wcsT, argv[2], strlen(argv[2]) + 1);
  else
     
wcscpy(wcsT, LHello World);
 
  printf(Linking to object %wsn, wcsPath);
  printf(Text String %wsn, 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
  #!usrlocalbinperl
  $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, Worldn
  main(){exit(printf(S) ==
strlen(S)  0  1);}
Seasoned Hacker
  % cc -o a.out ~srcmischwhw.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

分享 |

发表评论

您的昵称 *

您的邮箱 *

您的网站