程序员的进化
不知道排版有没有问题…如果把程序员分级,那么就是:
高中时期
10 PRINT "HELLO WORLD" 20 END
大学新生
program Hello(input, output) begin writeln(\'Hello World\') end.
高年级大学生
#include int main(void){printf("Hello, world!\\n");return 0;}
职业新手
#include void main(void) { char *message[] = {"Hello ","World"}; int i; for(i = 0; i < 2; ++i) printf("%s", message); printf("\\n"); }
职业老手
#include #includeusing namespace std; class string { private: int size; char *ptr; string() : size(0), ptr(new char) { ptr = 0; } string(const string &s) : size(s.size) { ptr = new char; 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=(constchar *chrs) { if (this != &chrs) { delete [] ptr; size = strlen(chrs); ptr = new char; 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 headerfiles 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__stdcallCHello::PrintSz(LPWSTR pwszString) { printf("%ws", pwszString); return(ResultFromScode(S_OK)); } CHello::~CHello(void) { // when the object count goesto 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[] ) { HRESULThRslt; IHello *pHello; ULONGulCnt; IMoniker * pmk; WCHARwcsT; WCHARwcsPath; // get object path wcsPath = \'\\0\'; wcsT = \'\\0\'; if( argc > 1) { mbstowcs(wcsPath, argv, strlen(argv) + 1); wcsupr(wcsPath); } else { fprintf(stderr, "Object pathmust be specified\\n"); return(1); } // get print string if(argc > 2) mbstowcs(wcsT, argv, strlen(argv) + 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 outpHello->PrintSz(wcsT);Sleep(2000);ulCnt = pHello->Release();} elseprintf("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 #define S "Hello, World\\n" main(){exit(printf(S) == strlen(S)? 0 : 1);}
老练的黑客
% cc -o a.out ~/src/misc/hw/hw.c % a.out
超级黑客
% echo "Hello, world."
一线经理
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." programby this afternoon.
首席执行官
% letter letter: Command not found. % mail To: ^X ^F ^C % help mail help: Command not found. % damn! !: Event unrecognized % logout {:1003:}看不懂。。。。。 看来我只到职业新手的水平{:634:} 除了大师级有点晕其他的都懂了…… 然后我惊讶的发现了黑客是多么的强大…… 最后我终于知道了 原来我是超级黑客…… 还有那些经理和CEO 看完后我笑翻了…… xpc 发表于 2012-1-27 21:20看来我只到职业新手的水平
大家刚开始学C的时候 都是用的这一段 一堆乱码? 小樱 发表于 2012-1-29 17:21 static/image/common/back.gif
一堆乱码?
编程的源代码啦~~~~~~~~~~~~~~~ 天书啊..... 根本看不懂 纯乱码啊...... jianshen1015 发表于 2012-2-1 17:57 static/image/common/back.gif
纯乱码啊......
淡定,慢慢学吧,计算机语言说难是难,说容易也容易~~~~~~~~~~~~~
页:
[1]