飞翔的鱼 发表于 2012/1/27 17:30

程序员的进化

不知道排版有没有问题…
如果把程序员分级,那么就是:

高中时期

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

杰出的小邦绑 发表于 2012/1/27 19:27

{:1003:}看不懂。。。。。

xpc 发表于 2012/1/27 21:20

看来我只到职业新手的水平{:634:}

manager 发表于 2012/1/29 00:40

除了大师级有点晕其他的都懂了…… 然后我惊讶的发现了黑客是多么的强大…… 最后我终于知道了 原来我是超级黑客…… 还有那些经理和CEO 看完后我笑翻了……

manager 发表于 2012/1/29 00:44

xpc 发表于 2012-1-27 21:20看来我只到职业新手的水平

大家刚开始学C的时候 都是用的这一段

小樱 发表于 2012/1/29 17:21

一堆乱码?

飞翔的鱼 发表于 2012/1/29 18:32

小樱 发表于 2012-1-29 17:21 static/image/common/back.gif
一堆乱码?

编程的源代码啦~~~~~~~~~~~~~~~

jianshen1015 发表于 2012/2/1 17:56

天书啊..... 根本看不懂

jianshen1015 发表于 2012/2/1 17:57

纯乱码啊......

飞翔的鱼 发表于 2012/2/1 20:46

jianshen1015 发表于 2012-2-1 17:57 static/image/common/back.gif
纯乱码啊......

淡定,慢慢学吧,计算机语言说难是难,说容易也容易~~~~~~~~~~~~~

发誓卜在发誓 发表于 2013/1/30 18:20

花事了 发表于 2013/8/13 17:46

我不够爱你吗 发表于 2013/8/17 15:47

补懂 发表于 2013/8/21 02:31

页: [1]
查看完整版本: 程序员的进化