程序員的進(jìn)化——從學(xué)生到首席執(zhí)行官(轉(zhuǎn))
/*-------------------------------------------
? 程序員的進(jìn)化——從學(xué)生到首席執(zhí)行官
翻譯 2002 王詠剛 http://www.contextfree.net/
轉(zhuǎn)譯自 Omri's Computer Humor Page
http://www.cs.bgu.ac.il/~omri/Humor/
-------------------------------------------*/
--------------------------------------------------------------------------------
中學(xué)階段
? ? ? 10 PRINT "HELLO WORLD"
? ? ? 20 END
--------------------------------------------------------------------------------
大學(xué)一年級(jí)
? ? ? program Hello(input, output)
? ? ? ? begin
? ? ? ? writeln('Hello World')
? ? ? ? end.
--------------------------------------------------------------------------------
大學(xué)高年級(jí)
? ? ? (defun hello
? ? ? ? (cons 'Hello (list 'World))))
--------------------------------------------------------------------------------
初級(jí)程序員
? ? ? #include <stdio.h>
? ? ? void main(void)
? ? ? {
? ? ? ? char *message[] = {"Hello ", "World"};
? ? ? ? int i;
? ? ? ? for(i = 0; i < 2; ++i)
? ? ? ? printf("%s", message );
? ? ? ? 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
--------------------------------------------------------------------------------
初級(jí)經(jīng)理
? ? ? 10 PRINT "HELLO WORLD"
? ? ? 20 END
--------------------------------------------------------------------------------
中級(jí)經(jīng)理
? ? ? mail -s "Hello, world." bob@b12
? ? ? Bob, could you please write me a program that prints "Hello, world."?
? ? ? I need it by tomorrow.
? ? ? ^D
--------------------------------------------------------------------------------
高級(jí)經(jīng)理
? ? ? % zmail jim
? ? ? I need a "Hello, world." program by this afternoon.
--------------------------------------------------------------------------------
首席執(zhí)行官
? ? ? % letter
? ? ? letter: Command not found.
? ? ? To: ^X ^F ^C
? ? ? % help mail
? ? ? help: Command not found.
? ? ? % damn!
? ? ? !: Event unrecognized
? ? ? % logout
--------------------------------------------------------------------------------
posted on 2006-05-18 17:14 fisher 閱讀(1058) 評(píng)論(0) 編輯 收藏 所屬分類: Other