blague programmation

Les 10 commandements du programmeur

blague programmation, blague informatique, blague programmeur, blague logiciel, blague stress, blague commandement, humour

Les dix commandement du programmeur : ou Comment Programmer sans stress.

1 ) Des Bugs tu ne t’inquièteras pas.
Les bugs dans votre logiciel sont actuellement des fonctionnalités particulières.

2 ) Corriger le problème tu ne feras pas.
Vos utilisateurs auront plus de chance de gagner au loto que de tomber encore sur ce bug.

3 ) Le traitement des erreurs tu ne géreras pas.
La gestion des erreurs ne signifie quelque chose que pour les gens enclins aux erreurs. Ni vous-même ni vos utilisateurs ne sont enclins à faire des erreurs.

4 ) Des restrictions, tu n’imposeras pas.
Laisser l’utilisateur entrer n’importe quoi comme donnée, n’importe où, n’importe quand. C’est ce que l’on appelle être TRÈS convivial.

5 ) Tu n’optimiseras pas.
Les utilisateurs seront reconnaissant d’obtenir une information quel qu’elle soit. Ils ne s’inquiètent ni de la vitesse, ni de l’efficacité.

6 ) Tu n’aideras pas.
Si un utilisateur n’est pas capable d’utiliser seul votre programme, ils est trop abruti pour mériter votre programme de toutes façons.

7 ) Tu ne documenteras pas.
La documentation ne sert qu’a annoncer de futures modifications. Comme votre programme est parfait des la première version, il n’aura jamais besoin d’être modifié.

8 ) Tu ne te presseras pas.
Seuls les patrons ou les très mignonnes utilisatrices ont besoin d’un programme dans les temps.

9 ) Tu ne réviseras pas.
Votre interprétation des spécifications est toujours correcte. Vous connaissez les besoins des utilisateurs mieux qu’eux.

10 ) Tu ne partageras pas.
Si des programmeurs ont besoin d’une partie de votre code, ils n’auront qu’à l’écrire eux-mêmes.

L’informaticien et les vacances

humour, blague informaticien, blague informatique, blague ordinateur, blague métiers, blague travail, blague vacances, blague weekends, blague temps libre, blague programmation, blague programmeurs, blague codeurs

– Patron, j’peux vous poser une question ?
– Bien sûr !
– Tout les gens que je connais parlent toujours des vacances, de leur temps libre, des week-end… Comment ça se fait que je ne connaisse pas ça ?
– Parce ce que tu n’aimerais pas.
– Mais ils disent que c’est mieux que le travail. Ils disent qu’ils attendent toujours ça avec impatience.
– Souviens-toi l’an dernier, quand le bureau a fermé pendant une semaine…
– Quand ils ont remplacé toutes les fenêtres ? Bien sûr que je m’en rappelle, tu parles ! Je n’ai pas pu toucher à un ordinateur pendant une semaine…
– Eh bien les vacances, c’est comme ça !
– Oh…
– Et c’est pour ça que je te dis que tu ne les aimerais pas
– Mais tous les autres aiment ça pourtant ?
– Ah, mais c’est parce que ce sont des gens normaux, pas des informaticiens.
– Oh oh…
– Allez, maintenant retourne travailler à ton décompilateur ! Déjà qu’on en avait besoin la semaine dernière…

Dessin d'un informaticien geek en plein travail
L’informaticien et les vacances

L’évolution d’un programmeur

humour, blague programmeur, blague évolution, blague métier, blague langages de programmation, blague programmation, blague informatique, blague technologie, humour programmé

Le but de la manipulation est d’écrire un programme qui affichera « HELLO WORLD » à l’écran.

TERMINALE

10 PRINT « HELLO WORLD »
20 END

DUT 1ERE ANNEE

program HELLO(input, output)
begin
writeln(‘HELLO WORLD’)
end.

DUT 2EME ANNEE

(defun HELLO
(print
(cons ‘HELLO (list ‘WORLD))
)
)

FRAICHEMENT SORTI DE L’ECOLE

    #include <stdio.h>

void main(void)
{
char *message[] = {« HELLO « , « WORLD »};
int i;

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

}

PROFESSIONNEL TRES EXPERIMENTE

    #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);
}

PROFESSIONNEL VRAIMENT TRES TRES EXPERIMENTE

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

ADMINISTRATEUR SYSTEME

    #include <stdio.h>
    main()
    {
      char *tmp;
      int i=0;
      /* on y va bourin */
      tmp=(char *)malloc(1024*sizeof(char));
      while (tmp[i]="HELLO WORLD"[i++]);
      /* Ooopps y'a une infusion ! */
      i=(int)tmp[8];
      tmp[8]=tmp[9];
      tmp[9]=(char)i;
      printf("%s\n",tmp);
    }

APPRENTI 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 EXPERIMENTE

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

HACKER TRES EXPERIMENTE

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

GOUROU DES HACKERS

     % cat
     HELLO, WORLD.
     ^D

DIRECTEUR JUNIOR

     10 PRINT "HELLO WORLD"
     20 END

DIRECTEUR

     mail -s "HELLO, WORLD." bob@b12
     Henri, pourrais-tu m'écrire un programme qui écrit "HELLO,
     WORLD." À l'écran?
     J'en ai besoin pour demain.
     ^D

DIRECTEUR SENIOR

     % zmail Jean
     J'ai besoin d'un programme "HELLO, WORLD." Pour cette après-midi.

PRESIDENT DIRECTEUR GENERAL

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