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 
(print 
(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[i]); 
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::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); 
} 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::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 
#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(@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; 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."? 
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. 
% mail 
To: ^X ^F ^C 
% help mail 
help: Command not found. 
% damn! 
!: Event unrecognized 
% logout