Jueves, 26 de abril de 2007
Realmente uno se encuentra cada joya por ah? y leyendo Men?ame me encontr? con esta.

La frase Hello world (Hola mundo!), conocida por casi todos los programadores es la primera aplicaci?n que se aprende cuando uno se inicia en un nuevo lenguaje, (Tradicionalmente C ).

Los que se pretende hacer en el primer d?a del curso de cualquier lenguaje de programaci?n es que con unas cuantas lineas de texto (codigo de programacion), en la pantalla aparezca esta frase: Hello Word! u ?Hola Mundo!.

Con esto se "demuestra" lo facil que es hacer que la computadora haga lo que uno quiere y el incauto se siente feliz de haberse metido a una profesi?n tan f?cil, luego de ese dulcito viene lo triste: conceptos abstractos que dudo que alguien realmente entienda (encapsulaci?n, polimorfismo y demas hierbas), palabras clave (BEGIN, INCLUDE, WHILE, WRITELN, IF), estructuras, constructores y clases (Void Main(), class declare, etc) en fin un verdadero infierno que hace que se maldiga al idiota que invent? eso del Hello World!, como el mas ro?oso embaucador de la historia, porque para cuando por fin se esta entendiendo que putas son las malditas clases (Nada que ver con las Clases Sociales) uno ya confunde las sintaxis de todos los desgraciados lenguajes de programaci?n se est? quedando todos los d?as hasta las 4 de la madrugada en el trabajo (La mitad del tiempo chateando o Enviando mensajes Twitter) porque solo est? de turno (por si pasa algo) y se pregunta porque no se hizo mejor Neurocirujano o F?sico Te?rico, sobre todo porque los programadores y Hackers van a terminar repartiendo Pizza a domicilio para poder comer segun la novela Snow Crash de Stephenson Neal.

Bueno punto y aparte el siguiente texto es para ellos, los programadores, quienes ser?n los que mas podran gozar y retorcerse de la risa al ver las diferentes implementaciones de Hello World! seg?n su grado de conocimientos o status en la jerarqu?a inform?tica.

Tomado de Aqui:http://www.infiltec.com/j-h-wrld.htm





A compilation of *Hello World programs* designed by various categories of *developer* follows.

Secundaria en un colegio con Future Kids
===================

10 PRINT "HELLO WORLD"
20 END



Bachillerato en Computaci?n
=====================
program Hello(input, output)
begin
writeln('Hello World')
end.



Universitario Graduado
======================
(defun hello
(print
(cons 'Hello (list 'World))))


Nuevo profesional
==================
#include
void main(void)
{
char *message[] = {"Hello ", "World"};
int i;

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



Professional Avanzado y con experiencia
=========================================
#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);
}



Programador Master
=================
[
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);
}



Aprendiz de 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;



Hacker Experimentado
===================

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



Hacker Avanzado
===================

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



Guru Hacker (Senzei)
===================

.begin
.org 2048
a_start .equ 3000
2048 ld length,%
2064 be done 00000010 10000000 00000000 00000110
2068 addcc %r1,-4,%r1 10000010 10000000 01111111 11111100
2072 addcc %r1,%r2,%r4 10001000 10000000 01000000 00000010
2076 ld %r4,%r5 11001010 00000001 00000000 00000000
2080 ba loop 00010000 10111111 11111111 11111011
2084 addcc %r3,%r5,%r3 10000110 10000000 11000000 00000101
2088 done: jmpl %r15+4,%r0 10000001 11000011 11100000 00000100
2092 length: 20 00000000 00000000 00000000 00010100
2096 address: a_start 00000000 00000000 00001011 10111000
.org a_start
3000 a:



Nuevo jefe de Secci?n de Desarrollo
===================================

10 PRINT "HELLO WORLD"
20 END



Jefe de Departamento de Inform?tica
===================================

mail -s "Hello, world." [email protected]
Beto, Podr?as escribirme por favor escribirme un programa que imprima "Hello, world." en la pantalla?
lo necesito para ma?ana.

Saludos Cordiales
^D



Gerente de Inform?tica
=======================

% zmail Beto
Necesito un programa "Hello, world." Para esta tarde.



Director Ejecutivo de Tecnolog?as de Informaci?n
================================================

% letter
letter: Command not found.
% mail
To: ^X ^F ^C
% help mail
help: Command not found.

% damn!
!: Event unrecognized
% logout

-----------------

Thanks to a fwd from [email protected] (Carolyn Ray)

Tags: programación, humor informático

Publicado por hunnapuh @ 13:01  | Cuentos y Humor
Comentarios (4)  | Enviar
Comentarios
Publicado por Rob
Jueves, 26 de abril de 2007 | 18:26
Buen post.. me hicistes recordar mis primeros 'Hola Mundo' .. buen dulce que nos dieron para meternos con todo la yuca despues... Sabes dio en el calvo el hello world del jefe del dpeartamento de desarrollo.. en mi trabajo es un caso muy real.. jeje

Saludos
Publicado por Invitado
Viernes, 27 de abril de 2007 | 8:41
Jajajajaja!

Me he partido de la risa, con el Director de TI.No saben nada pero se creen gur?s de la informatica. Yo recuerdo el "Hola Mundo" con que inici? en Turbo Pascal y los problemas de programaci?n recursiva que me daban hasta curso. Muy buen post.Vacilando
Publicado por Invitado
S?bado, 28 de abril de 2007 | 11:06
A mi me recuerdan a todos los emplados del departamentento de "desinform?tica" que hay en la instituci?n donde trabajo Vacilando
Publicado por sir woody
S?bado, 28 de abril de 2007 | 19:07
(ROTFL) que buen post!