[
Lists Home |
Date Index |
Thread Index
]
Can you find the bug? The price is Helsingør castle!
On Thursday, March 13, 2003, at 04:28 PM, Niels Peter Strandberg wrote:
> ============================
> HAMLET
> ============================
>
> if (2b & !2b) {
> out("That is the question!");
> }
>
>
> From a dane (!prince), Niels Peter
>
>
> On Thursday, March 13, 2003, at 10:58 AM, Michael Kay wrote:
>
>> I once saw a version that added:
>>
>> ======================================================
>> Ex-programmer who has been promoted to project manager
>> ======================================================
>>
>> "Write me a program that says 'Hello World'"
>>
>> ==========================================
>> Ex-programmer who has been promoted to CEO
>> ==========================================
>>
>> "What is the business benefit of all this code we are writing?"
>>
>>
>> Michael Kay
>>
>>
>>> -----Original Message-----
>>> From: Jonathan Robie
>>> [mailto:jonathan.robie@datadirect-technologies.com]
>>> Sent: 12 March 2003 18:35
>>> To: xml-dev@lists.xml.org
>>> Subject: [xml-dev] Off Topic: Evolution of a Programmer
>>>
>>>
>>> This was forwarded to me - I have no idea where it came from
>>> originally.
>>>
>>> Jonathan
>>>
>>> ===================
>>> 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
>>> CoInitiali, 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
>>>
>>> =====================
>>> AXE System programmer
>>> =====================
>>>
>>> LL0:
>>> .seg "data"
>>> .seg "text"
>>> .proc 04
>>> .global _main
>>> _main:
>>> !#PROLOGUE# 0
>>> sethi %hi(LF26),%g1
>>> add %g1,%lo(LF26),%g1
>>> save %sp,%g1,%sp
>>> !#PROLOGUE# 1
>>> .seg "data1"
>>> L30:
>>> .ascii "Hello, World\012\0"
>>> .seg "text"
>>> .seg "data1"
>>> L32:
>>> .ascii "Hello, World\012\0"
>>> .seg "text"
>>> set L32,%o0
>>> call _strlen,1
>>> nop
>>> mov %o0,%i5
>>> set L30,%o0
>>> call _printf,1
>>> nop
>>> cmp %o0,%i5
>>> bne L2000000
>>> nop
>>> mov 0,%o0
>>> b L2000001
>>> nop
>>> L2000000:
>>> mov 0x1,%o0
>>> L2000001:
>>> call _exit,1
>>> nop
>>> LE26:
>>> ret
>>> restore
>>> LF26 = -96
>>> LP26 = 96
>>> LST26 = 96
>>> LT26 = 96
>>> .seg "data"
>>>
>>> 0000000 0103 0107 0000 0060 0000 0020 0000 0000
>>> 0000020 0000 0030 0000 0000 0000 0054 0000 0000
>>> 0000040 033f ffff 8200 63a0 9de3 8001 1100 0000
>>> 0000060 9012 2000 4000 0000 0100 0000 ba10 0008
>>> 0000100 1100 0000 9012 2000 4000 0000 0100 00 ba10 0008
>>> 0000100 1100 0000 9012 2000 4000 0000 0100 0000
>>> 0000120 80a2 001d 1280 0005 0100 0000 9010 2000
>>> 0000140 1080 0003 0100 0000 9010 2001 4000 0000
>>> 0000160 0100 0000 81c7 e008 81e8 0000 0000 0000
>>> 0000200 4865 6c6c 6f2c 2057 6f72 6c64 0a00 4865
>>> 0000220 6c6c 6f2c 2057 6f72 6c64 0a00 0000 0000
>>> 0000240 0000 000c 0000 0608 0000 006e 0000 0010
>>> 0000260 0000 060b 0000 006e 0000 0014 0000 0286
>>> 0000300 ffff ffec 0000 0020 0000 0608 0000 0060
>>> 0000320 0000 0024 0000 060b 0000 0060 0000 0028
>>> 0000340 0000 0186 ffff ffd8 0000 004c 0000 0386
>>> 0000360 ffff ffb4 0000 0004 0500 0000 0000 0000
>>> 0000400 0000 000a 0100 0000 0000 0000 0000 0012
>>> 0000420 0100 0000 0000 0000 0000 001a 0100 0000
>>> 0000440 0000 0000 0000 0020 5f6d 6169 6e00 5f70
>>> 0000460 7269 6e74 6600 5f73 7472 6c65 6e00 5f65
>>> 0000500 7869 7400
>>> 0000504
>>>
>>> % axe_generate -f system.uhdl
>>> Application 'Exchange' generated
>>> 2324042350000000 source code lines
>>> No Errors detected.
>>> Hardware retrieval...done OK
>>> Certification Test...done OK
>>> Packing..............done OK
>>> Delivery.............done OK
>>> Application 'Exchange' delivered to customer
>>> 23456000 bytes/sec.
>>> End processing, 2345 seconds.
>>>
>>> ===========================
>>> Ultra high level programmer
>>> ===========================
>>>
>>> system.uhdl :
>>>
>>> SYSTEM
>>> CREATE ScreenWin
>>> SIZE 20000000/Unit=One
>>> DESTINATION Order.dest[One]
>>> OUTPUT CHARACTER['Hello world']
>>> END
>>> END
>>>
>>>
>>> -----------------------------------------------------------------
>>> The xml-dev list is sponsored by XML.org
>>> <http://www.xml.org>, an initiative of OASIS
>> <http://www.oasis-open.org>
>>
>> The list archives are at http://lists.xml.org/archives/xml-dev/
>>
>> To subscribe or unsubscribe from this list use the subscription
>> manager: <http://lists.xml.org/ob/adm.pl>
>>
>>
>>
>> -----------------------------------------------------------------
>> The xml-dev list is sponsored by XML.org <http://www.xml.org>, an
>> initiative of OASIS <http://www.oasis-open.org>
>>
>> The list archives are at http://lists.xml.org/archives/xml-dev/
>>
>> To subscribe or unsubscribe from this list use the subscription
>> manager: <http://lists.xml.org/ob/adm.pl>
>>
>>
>
>
> -----------------------------------------------------------------
> The xml-dev list is sponsored by XML.org <http://www.xml.org>, an
> initiative of OASIS <http://www.oasis-open.org>
>
> The list archives are at http://lists.xml.org/archives/xml-dev/
>
> To subscribe or unsubscribe from this list use the subscription
> manager: <http://lists.xml.org/ob/adm.pl>
>
>
|