| 查看: 174 | 回复: 0 | |||
| 当前主题已经存档。 | |||
dirkhoo木虫 (小有名气)
|
[交流]
[转贴]The Evolution of a Programmer (新年,博大家一笑)
|
||
|
The Evolution of a Programmer High School/Jr.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 (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); 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 &string: perator=(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 CHello::cObjRef = 0; CHello::CHello(IUnknown *pUnk) : CHelloBase(pUnk) { cObjRef++; return; } HRESULT __stdcall CHello: rintSz(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 #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 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); } Apprentice Hacker =================== #!/usr/local/bin/perl $msg="Hello, world.\n" if ($#ARGV >= 0) { while(defined($arg=shift( at ARGV))) { $outfilename = $arg; open(FILE, ">" dot $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, World\n" main(){ exit(printf(S) == strlen(S) ? 0 : 1); } Seasoned Hacker =================== % cc -o a.out ~/src/misc/hw/hw.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 dot "? 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. To: ^X ^F ^C % help mail help: Command not found. % damn! !: Event unrecognized % logout [ Last edited by 幻影无痕 on 2006-11-14 at 07:42 ] |
» 猜你喜欢
想换工作。大多数高校都是 评职称时 认可5年内在原单位取得的成果吗?
已经有7人回复
需要合成515-64-0,50g,能接单的留言
已经有4人回复
自荐读博
已经有4人回复
上海工程技术大学【激光智能制造】课题组招收硕士
已经有4人回复
写了一篇“相变储能技术在冷库中应用”的论文,论文内容以实验为主,投什么期刊合适?
已经有6人回复
带资进组求博导收留
已经有10人回复
最近几年招的学生写论文不引自己组发的文章
已经有11人回复
中科院杭州医学所招收博士生一名(生物分析化学、药物递送)
已经有3人回复
临港实验室与上科大联培博士招生1名
已经有8人回复







;
perator=(const char *chrs)
rintSz(LPWSTR pwszString)
回复此楼