Copy Link
Add to Bookmark
Report

Evoluzione di un Programmatore

DrWatson's profile picture
Published in 
Barzellette
 · 22 Sep 2019
Evoluzione di un Programmatore
Pin it

Liceo


 
10 PRINT "HELLO WORLD"
20 END

Primo anno di universita'


 
program Hello(input, output)
begin
writeln('Hello World')
end.

Ultimi anni dell'universita'


 
(defun hello
(print
(cons 'Hello (list 'World))))

Neolaureato


 
#include <stdio.h>
void main(void)
{
char *message[] = {"Hello ", "World"};
int i;
for(i = 0; i < 2; ++i)
printf("%s", message[i]);
printf("\n");
}

Professionista affermato


 
#include <iostream.h>
#include <string.h>

class string
{
private:
int size;
char *ptr;

public:
string(void) : size(0), ptr(new char('\0')) {};

string(const string &s) : size(s.size)
{
ptr = new char[size + 1];
strcpy(ptr, s.ptr);
};

~string(void);
{
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(void)
{
string str;
str = "Hello World";
cout << str << endl;
return(0);
}

Capo programmatore


 
[
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(void);

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 szStr)
{
printf("%ws\n", pwszStr);
return(ResultFromScode(S_OK));
}

CHello::~CHello(void)
{
//when the object count goes to zero, stop 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);
}

Hacker apprendista


 
#!/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;

Hacker esperto


 
#include <stdio.h>
#define S "Hello, World\n"
main(){exit(printf(S) == strlen(S) ? 0 : 1);}

Hacker affermato


 
% cc -o a.out ~/src/misc/hw/hw.c
% a.out

Guru Hacker


 
% cat
Hello, world.
^D

Neodirigente


 
10 PRINT "HELLO WORLD"
20 END

Dirigente di mezzo


 
mail -s "Hello, world." bob@b12
Bob, could you please write me a program that prints "Hello, World."?
I need it by tomorrow.
^D

Dirigente di alto livello


 
% zmail jim
I need a "Hello, World." program by this afternoon.

Amministratore delegato


 
% letter
letter: Command not found.
% mail
To: ^X ^F ^C
% help mail
help: Command not found.
% damn!
!: Event unrecognized
% logout

← previous
next →
loading
sending ...
New to Neperos ? Sign Up for free
download Neperos App from Google Play
install Neperos as PWA

Let's discover also

Recent Articles

Recent Comments

Neperos cookies
This website uses cookies to store your preferences and improve the service. Cookies authorization will allow me and / or my partners to process personal data such as browsing behaviour.

By pressing OK you agree to the Terms of Service and acknowledge the Privacy Policy

By pressing REJECT you will be able to continue to use Neperos (like read articles or write comments) but some important cookies will not be set. This may affect certain features and functions of the platform.
OK
REJECT