The Evolution of a Programmer- read to the end ...
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
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[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.
To: ^X ^F ^C
% help mail
help: Command not found.
% damn!
!: Event unrecognized
% logout
More Computer
101 Things You Do Not Want Your System Administrator To Say
10 Commandments Of Email
10 Reasons You Know You Bought A Bad Computer
10 Users
10 Years Ago
12-Step Internet Addiction Recovery Program
1776 Computers
5MB Hard Disk In 1956
AOL Diary
A Confused Computer
A Poem For Computer Users Over 40
A Y2K Solution
Abbott Win95
Abort
Abrahams Computer
Actual Japanese Error Messages
Addicted To Vi
Alien Chain Letter
Alphabet
Always Accessible
An Ode To Unix
Ancient Tech Support
Antique PC
Aol City
Aol Dict
Aol Pie
Aol Xmas
Auctual Microsoft Helpdesk Conversations
Auto Remote Key
Ballad Y2k Gilligan Parody
Bart Uses Google
Befuddled
Bill Gates Car
Bill Gates Reception Room
Bill Gates And The God
Britney Spears Vs Computer
Bumper Stickers
Can I Have My Spider Back
Celebrity Computer Viruses
Chalk Board
Chat Pinocchio
Chatting With Girl Friends
Common Computer Acronyms
Computer Better Than Everything
Computer Breasts
Computer Chat
Computer Diagnosis
Computer Exorcism
Computer Geek
Computer Gender
Computer Ho
Computer Humor
Computer Keyboard Eraser
Computer Linterature
Computer Memory
Computer Nerd
Computer Prayer
Computer Terminology
Computer Vs Air Conditioner
Conversation Gd Moses Comp
Ctrl Alt Delete
Cup Holders
Customers Do Strangest Things
Cyber Date
Diary Of An AOL User
Drag And Drop
Dvorak
E-mail Addiction Signs
Eating Mouse
Ebay User With Lowest Feedback Score
Email Forwarding
Email From Heaven
Engineer Identification Test
Evil Tv
Evolution Of Product Documentation
Evolution Of A Programmer
Extend Deadline
Feel Sorry For Tech Support People
First Appointment
First Computer In Biblical Times
Flame Response Form
Floppies
FreeBSD Fs Linux
FreeBSD Kills Linux
Funniest Gmail Phishing Email With Captcha
GM Makes Computers
Gates Coke Pointers
Getting To Know Your Computer
Girlfriend
Girlsfriend Version One
Gorilla And Computer
HTML Tattoo
Hands Free Cell Phone
Hidden Settings
Hitching On Information Highway
Homework
How Company Names Came About
How Was I Born
How It All Began
How To Pick Up Girls On Orkut
How To Be Annoying In The Computer Lab
Hundreds Of Linux Boxes Booting On An Airplane
I Love You More Than My Computer
I Love You Virus
If Aol Made Cars
If Architecht Programmers
If God Were A Computer Programmer
If People Bought Cars Like They Buy Computers
Image Loading On Internet
Installing Love
Intelligent Clip
International Calendar Y2k
Internet
Internet Cable Providers
Internet Junkie
Internet Reality
Internet Virus Warning
Is Win95 A Virus
Jesus Saves
Jobless Man At Microsoft
Junk Mail 101
Kill Windows
Laptop
Laptops In Recent Movies
Learn From The Movies
Linux Case
Linux Tech Call
Living In 2003
Lunch At HP
MSN Messenger Smilies
MS Word Clip
MS Word Doggy
MS Word Menu Tools
Make A Web Site For Me For Free
Meanings Of Abbreviations
Men And Computers
Message From An ISP
Miceball
Microsoft Engineer
Microsoft Hit Wizard
Microsoft Tech Support Award Winner
Mike Tysons Computer
Modern Life Work Home Play Sleep
Mom Dad
Mom Understand Comp
Moron Computer Operator
Mr Or Mrs Computer
Ms Automobile Gm
Ms Mcdonalds
Ms Revenue Ads Error Messages
Ms Xmas
Murphys Law In Computers
Nazis
Net Snoop
Never Marry A Software Engineer
New Chinese MSN Messenger
New Mouse For Men
New Ms Keyboard
New Way To Print
Newsgroup Etiquette Emilypost
Nite B4 Y2k
No Parking - Get Your Own Wireless Network
Nosmoke
Office 1
Office 2
Office Assistant Suicide
Office Suzie
Password
Passwords Tattoo
Perfume
Picture Of Playstation Sold On Ebay
Programmers Of Chelm
Programming Languages Are Like Women
Recursive Acronym Or Self Referral Acronyms
Redneck Computer Lingo
Remember When
Restaurant Y2k
Romeo Juliet
Sex Vs Computers
Signs Of Living In 2006
Smily
Soft Rev
Softrest
Software Engineering Glossary
Software Engineering Glossary From Marketing View
Star Trek N Computer Geeks
Sun Microsystems Sues Island Of Java
System Problem Report
Tech Support Butterdrive
Tech Support Calls
Technology Age
Technology For Country Folks
The Aircraft
The Amazing Health Computer
The Amphibious Princess
The Best Anti Virus You May Ever Buy
The Hacker Test
The Internet Explained
The Life Of A Computer Analyst
The Seven Stages Of A Usenet Poster
The Top 25 Explanations By Programmers
Toaster Makers
Toasters
Top 10 Geek Quotes
Top 10 Notes Engineering School Did Not Teach
Top Ten Usenet Users
Turkish Computer Virus
Type Chainletter
Types Of Women
U Engineers
Understanding Computer Technology
Useful Key
Useless Man
Usgov V Ms
Using Computers For A Gratuitous Screw Reference
Vacation Pay Y2k
Vanish VCR Tapes
Vision And Perseverance
WP Problems
Ways Things Would Be Different If Microsoft Was Headquartered In South Carolina
Web Drinking Game
When Airplanes Run Microsoft Windows
Where Do The Deleted Characters Go
Which Type Of Woman Is Your Girlfriend
Why Windows 95 Is Called Windows 95
WinXP
Windaz 2000
Windows75
Windows Copy
Windows Crash
Woman Vs Computer Geek Joke
WordPerfect Helpline
Words From Techsupport
Y2K Mickey Mouse Song
Y2k Hairspray
Y To K Conversion
Y Zero K
Yk Atone Email
IPhone For Everyone

