2004-7-20 08:02
threehair
程序员的进化--从学生到首席执行官<br /><br /><br />--------------------------------------------------------------------------------<br /><br />作者:王咏刚 来源:Omri's Computer Humor Page <br /><br /><a href='http://www.cs.bgu.ac.il/~omri/Humor/' target='_blank'>http://www.cs.bgu.ac.il/~omri/Humor/</a><br />-------------------------------------------*/<br /><br /><br />--------------------------------------------------------------------------------<br />中学阶段<br /><br />10 PRINT "HELLO WORLD"<br />20 END<br />--------------------------------------------------------------------------------<br />大学一年级<br /><br />program Hello(input, output)<br />begin<br />writeln('Hello World')<br />end.<br />--------------------------------------------------------------------------------<br />大学高年级<br /><br />(defun hello<br />(print<br />(cons 'Hello (list 'World))))<br />--------------------------------------------------------------------------------<br />初级程序员<br /><br />#include <br />void main(void)<br />{<br />char *message[] = {"Hello ", "World"};<br />int i;<br /><br />for(i = 0; i < 2; ++i)<br />printf("%s", message[i]);<br />printf("\n");<br />}<br />--------------------------------------------------------------------------------<br />编程老鸟<br /><br />#include <br />#include <br /><br />class string<br />{<br />private:<br />int size;<br />char *ptr;<br /><br />public:<br />string() : size(0), ptr(new char('{CONTENT}')) {}<br /><br />string(const string &s) : size(s.size)<br />{<br />ptr = new char[size + 1];<br />strcpy(ptr, s.ptr);<br />}<br /><br />~string()<br />{<br />delete [] ptr;<br />}<br /><br />friend ostream &operator <<(ostream &, const string &);<br />string &operator=(const char *);<br />};<br /><br />ostream &operator<<(ostream &stream, const string &s)<br />{<br />return(stream << s.ptr);<br />}<br /><br />string &string::operator=(const char *chrs)<br />{<br />if (this != &chrs)<br />{<br />delete [] ptr;<br />size = strlen(chrs);<br />ptr = new char[size + 1];<br />strcpy(ptr, chrs);<br />}<br />return(*this);<br />}<br /><br />int main()<br />{<br />string str;<br /><br />str = "Hello World";<br />cout << str << end<br /><br />return(0);<br />}<br />--------------------------------------------------------------------------------<br />编程高手<br /><br />[<br />uuid(2573F8F4-CFEE-101A-9A9F-00AA00342820)<br />]<br />library LHello<br />{<br />// bring in the master library<br />importlib("actimp.tlb");<br />importlib("actexp.tlb");<br /><br />// bring in my interfaces<br />#include "pshlo.idl"<br /><br />[<br />uuid(2573F8F5-CFEE-101A-9A9F-00AA00342820)<br />]<br />cotype THello<br />{<br />interface IHello;<br />interface IPersistFile;<br />};<br />};<br /><br />[<br />exe,<br />uuid(2573F890-CFEE-101A-9A9F-00AA00342820)<br />]<br />module CHelloLib<br />{<br /><br />// some code related header files<br />importheader();<br />importheader();<br />importheader();<br />importheader("pshlo.h");<br />importheader("shlo.hxx");<br />importheader("mycls.hxx");<br /><br />// needed typelibs<br />importlib("actimp.tlb");<br />importlib("actexp.tlb");<br />importlib("thlo.tlb");<br /><br />[<br />uuid(2573F891-CFEE-101A-9A9F-00AA00342820),<br />aggregatable<br />]<br />coclass CHello<br />{<br />cotype THello;<br />};<br />};<br /><br />#include "ipfix.hxx"<br /><br />extern HANDLE hEvent;<br /><br />class CHello : public CHelloBase<br />{<br />public:<br />IPFIX(CLSID_CHello);<br /><br />CHello(IUnknown *pUnk);<br />~CHello();<br /><br />HRESULT __stdcall PrintSz(LPWSTR pwszString);<br /><br />private:<br />static int cObjRef;<br />};<br /><br />#include <br />#include <br />#include <br />#include <br />#include "thlo.h"<br />#include "pshlo.h"<br />#include "shlo.hxx"<br />#include "mycls.hxx"<br /><br />int CHello::cObjRef = 0;<br /><br />CHello::CHello(IUnknown *pUnk) : CHelloBase(pUnk)<br />{<br />cObjRef++;<br />return;<br />}<br /><br />HRESULT __stdcall CHello::PrintSz(LPWSTR pwszString)<br />{<br />printf("%ws\n", pwszString);<br />return(ResultFromScode(S_OK));<br />}<br /><br />CHello::~CHello(void)<br />{<br /><br />// when the object count goes to zero, stop the server<br />cObjRef--;<br />if( cObjRef == 0 )<br />PulseEvent(hEvent);<br /><br />return;<br />}<br /><br />#include <br />#include <br />#include "pshlo.h"<br />#include "shlo.hxx"<br />#include "mycls.hxx"<br /><br />HANDLE hEvent;<br /><br />int _cdecl main(<br />int argc,<br />char * argv[]<br />) {<br />ULONG ulRef;<br />DWORD dwRegistration;<br />CHelloCF *pCF = new CHelloCF();<br /><br />hEvent = CreateEvent(NULL, FALSE, FALSE, NULL);<br /><br />// Initialize the OLE libraries<br />CoInitializeEx(NULL, COINIT_MULTITHREADED);<br /><br />CoRegisterClassObject(CLSID_CHello, pCF, CLSCTX_LOCAL_SERVER,<br />REGCLS_MULTIPLEUSE, &dwRegistration);<br /><br />// wait on an event to stop<br />WaitForSingleObject(hEvent, INFINITE);<br /><br />// revoke and release the class object<br />CoRevokeClassObject(dwRegistration);<br />ulRef = pCF->Release();<br /><br />// Tell OLE we are going away.<br />CoUninitialize();<br /><br />return(0);<br />}<br /><br />extern CLSID CLSID_CHello;<br />extern UUID LIBID_CHelloLib;<br /><br />CLSID CLSID_CHello = { /* 2573F891-CFEE-101A-9A9F-00AA00342820 */<br />0x2573F891,<br />0xCFEE,<br />0x101A,<br />{ 0x9A, 0x9F, 0x00, 0xAA, 0x00, 0x34, 0x28, 0x20 }<br />};<br /><br />UUID LIBID_CHelloLib = { /* 2573F890-CFEE-101A-9A9F-00AA00342820 */<br />0x2573F890,<br />0xCFEE,<br />0x101A,<br />{ 0x9A, 0x9F, 0x00, 0xAA, 0x00, 0x34, 0x28, 0x20 }<br />};<br /><br />#include <br />#include <br />#include <br />#include <br />#include <br />#include "pshlo.h"<br />#include "shlo.hxx"<br />#include "clsid.h"<br /><br />int _cdecl main(<br />int argc,<br />char * argv[]<br />) {<br />HRESULT hRslt;<br />IHello *pHello;<br />ULONG ulCnt;<br />IMoniker * pmk;<br />WCHAR wcsT[_MAX_PATH];<br />WCHAR wcsPath[2 * _MAX_PATH];<br /><br />// get object path<br />wcsPath[0] = '{CONTENT}';<br />wcsT[0] = '{CONTENT}';<br />if( argc > 1) {<br />mbstowcs(wcsPath, argv[1], strlen(argv[1]) + 1);<br />wcsupr(wcsPath);<br />}<br />else {<br />fprintf(stderr, "Object path must be specified\n");<br />return(1);<br />}<br /><br />// get print string<br />if(argc > 2)<br />mbstowcs(wcsT, argv[2], strlen(argv[2]) + 1);<br />else<br />wcscpy(wcsT, L"Hello World");<br /><br />printf("Linking to object %ws\n", wcsPath);<br />printf("Text String %ws\n", wcsT);<br /><br />// Initialize the OLE libraries<br />hRslt = CoInitializeEx(NULL, COINIT_MULTITHREADED);<br /><br />if(SUCCEEDED(hRslt)) {<br /><br />hRslt = CreateFileMoniker(wcsPath, &pmk);<br />if(SUCCEEDED(hRslt))<br />hRslt = BindMoniker(pmk, 0, IID_IHello, (void **)&pHello);<br /><br />if(SUCCEEDED(hRslt)) {<br /><br />// print a string out<br />pHello->PrintSz(wcsT);<br /><br />Sleep(2000);<br />ulCnt = pHello->Release();<br />}<br />else<br />printf("Failure to connect, status: %lx", hRslt);<br /><br />// Tell OLE we are going away.<br />CoUninitialize();<br />}<br /><br />return(0);<br />} <br />--------------------------------------------------------------------------------<br />黑客初阶<br /><br />#!/usr/local/bin/perl<br />$msg="Hello, world.\n";<br />if ($#ARGV >= 0) {<br />while(defined($arg=shift(@ARGV))) {<br />$outfilename = $arg;<br />open(FILE, ">" . $outfilename) || die "Can't write $arg: $!\n";<br />print (FILE $msg);<br />close(FILE) || die "Can't close $arg: $!\n";<br />}<br />} else {<br />print ($msg);<br />}<br />1;<br />--------------------------------------------------------------------------------<br />黑客有成<br /><br />#include <br />#define S "Hello, World\n"<br />main(){exit(printf(S) == strlen(S) ? 0 : 1);}<br />--------------------------------------------------------------------------------<br />黑客高手<br /><br />% cc -o a.out ~/src/misc/hw/hw.c<br />% a.out<br />--------------------------------------------------------------------------------<br />黑客大虾<br /><br />% cat<br />Hello, world.<br />^D<br />--------------------------------------------------------------------------------<br />初级经理<br /><br />10 PRINT "HELLO WORLD"<br />20 END<br />--------------------------------------------------------------------------------<br />中级经理<br /><br />mail -s "Hello, world." bob@b12<br />Bob, could you please write me a program that prints "Hello, world."?<br />I need it by tomorrow.<br />^D<br />--------------------------------------------------------------------------------<br />高级经理<br /><br />% zmail jim<br />I need a "Hello, world." program by this afternoon.<br />--------------------------------------------------------------------------------<br />首席执行官<br /><br />% letter<br />letter: Command not found.<br />% mail<br />To: ^X ^F ^C<br />% help mail<br />help: Command not found.<br />% damn!<br />!: Event unrecognized<br />% logout<br />--------------------------------------------------------------------------------