It is currently May 10th, 2025, 3:58 pm

All times are UTC + 5:30 hours




Post new topic Reply to topic  [ 6 posts ] 
The Evolution of a Programmer
Author Message
 Post subject: The Evolution of a Programmer
PostPosted: July 12th, 2006, 7:34 pm 
Offline
Webmaster
Webmaster
User avatar

Joined: July 30th, 2005, 5:42 pm
Posts: 1469
Location: Mumbai, India
Friend Code: 176288381960
The Evolution of a Programmer

High School/Jr.High
Code:
10 PRINT "HELLO WORLD"
20 END


First year in College
Code:
program Hello(input, output)
  begin
    writeln('Hello World')
  end.


Senior year in College
Code:
(defun hello
  (print
    (cons 'Hello (list 'World))))


New professional
Code:
#include <stdio.h>
void main(void)
{
  char *message[] = {"Hello ", "World"};
  int i;

  for(i = 0; i < 2; ++i)
    printf("%s", message[i]);
  printf("\n");
}


Seasoned professional
Code:
#include <iostream.h>
#include < string.h>

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
Code:
[
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\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 <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);
}


Believe it or not, all these give the same output "Hello World"

_________________
Image
.:.DP-NiSh.:.
Admin/Webmaster,
DeSiPokemon.com


Top
 Profile E-mail  
 
The Evolution of a Programmer
Author Message
 Post subject:
PostPosted: July 12th, 2006, 9:51 pm 
Offline
Moderator
Moderator
User avatar

Joined: December 13th, 2005, 9:02 pm
Posts: 221
Location: Nagpur, India
wwwwwwooooooowwwwwwwww!!!!!!!!!!............ thats interesting.... :roll:

_________________
ImageImageImage


Top
 Profile  
 
The Evolution of a Programmer
Author Message
 Post subject:
PostPosted: July 12th, 2006, 10:09 pm 
Offline
Moderator
Moderator
User avatar

Joined: June 2nd, 2006, 9:15 pm
Posts: 244
Hmmm................ i saw this over the net sumwhere but i cant remember ........ :(
Anyways :shock: i didnt know that they all gave the same result :shock:

_________________
Image


Top
 Profile E-mail  
 
The Evolution of a Programmer
Author Message
 Post subject:
PostPosted: July 13th, 2006, 9:20 pm 
Offline
Webmaster
Webmaster
User avatar

Joined: July 30th, 2005, 5:42 pm
Posts: 1469
Location: Mumbai, India
Friend Code: 176288381960
Lol yea... the last few programs were filled with unnecessary variables and declarations not necessary. U can still have that output in 4-5 lines of code in all the cases, unless u fill it up that way. The New Professional program was written in C language, whereas the other following in C++ which is an advanced version of C with different operational commands

_________________
Image
.:.DP-NiSh.:.
Admin/Webmaster,
DeSiPokemon.com


Top
 Profile E-mail  
 
The Evolution of a Programmer
Author Message
 Post subject: Re: The Evolution of a Programmer
PostPosted: August 28th, 2006, 8:46 pm 
Offline
Webmaster
Webmaster
User avatar

Joined: July 30th, 2005, 5:42 pm
Posts: 1469
Location: Mumbai, India
Friend Code: 176288381960
*cough cough.... This is a hell lot more interesting lol..

List of Hello World Programs

.... looks interesting :grin: I'll see if I come across that assembly level lang program sumtime Lol, since I'm learning it..

_________________
Image
.:.DP-NiSh.:.
Admin/Webmaster,
DeSiPokemon.com


Top
 Profile E-mail  
 
The Evolution of a Programmer
Author Message
 Post subject: Re: The Evolution of a Programmer
PostPosted: August 30th, 2006, 3:58 pm 
Offline
Moderator
Moderator
User avatar

Joined: December 13th, 2005, 9:02 pm
Posts: 221
Location: Nagpur, India
wow... now dat souinds interesting... :roll:

_________________
ImageImageImage


Top
 Profile  
 
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 6 posts ] 

All times are UTC + 5:30 hours


Who is online

Users browsing this forum: No registered users and 4 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
cron
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Karma functions powered by Karma MOD © 2007, 2009 m157y

Macinscott 3 style by HighDefGeek