幽默:程序员的进化[转]
from http://coolshell.cn/?p=172
实在是搞笑 不过那个大师级的对偶来说也忒难了 --
2009年3月14日
高中时期
view plaincopy to clipboardprint?
- 10 PRINT "HELLO WORLD"
- 20 END
大学新生
view plaincopy to clipboardprint?
- program Hello(input, output)
- begin
- writeln(\'Hello World\')
- end.
高年级大学生
view plaincopy to clipboardprint?
- #include <stdio.h>
- int main(void)
- {
- printf("Hello, world!\\n");
- return 0;
- }
- </stdio.h>
职业新手
view plaincopy to clipboardprint?
- #include <stdio.h>
- void main(void)
- {
- char *message[] = {"Hello ", "World"};
- int i;
- for(i = 0; i < 2; ++i)
- printf("%s", message[i]);
- printf("\\n");
- }
- stdio.h>
职业老手
view plaincopy to clipboardprint?
- #include <iostream>
- #include <string>
- using namespace std;
- class string
- {
- private:
- int size;
- char *ptr;
- string() : size(0), ptr(new char[1]) { ptr[0] = 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);
- }
- /string></iostream>
大师级
view plaincopy to clipboardprint?
- [
- 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
- ", 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);
- }
- </stdio.h></string.h></stdlib.h></ole2.h></windows.h></ole2.h></windows.h></stdlib.h></stdio.h></ole2.h></windows.h></except.hxx></ole2.h></windows.h>
黑客学徒
#!/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;
有经验的黑客
view plaincopy to clipboardprint?
- #include <stdio.h>
- #define S "Hello, World\\n"
- main(){exit(printf(S) == strlen(S) ? 0 : 1);}
- stdio.h>
老练的黑客
% cc -o a.out ~/src/misc/hw/hw.c % a.out
超级黑客
% echo "Hello, world."
一线经理
view plaincopy to clipboardprint?
- 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. % mail To: ^X ^F ^C % help mail help: Command not found. % damn! !: Event unrecognized % logout
来源:未知
关于更多的“hello world”请参看:《Hello World 集中营》