阅读:1248回复:4
一个程序员的成长
一个程序员的成长
中学: 10 PRINT \"HELLO WORLD\" 20 END 大学一年级: program Hello(input, output) begin writeln(\'Hello World\') end. 大学高年级: (defun hello (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); 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 << endl; 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. To: ^X ^F ^C % help mail help: Command not found. % damn! !: Event unrecognized % logout |
|
沙发#
发布于:2002-04-29 19:51
那我可是骨干程序员了 :D :D
|
|
板凳#
发布于:2004-06-08 10:05
有意思!
|
|
|
地板#
发布于:2004-06-08 10:20
有意思! 还挺形象的 |
|
|
地下室#
发布于:2004-06-08 13:14
[quote]有意思! 还挺形象的 [/quote] |
|