Vero programmatore
Per vero programmatore si intende un qualunque individuo di razza nerd o geek che conosca almeno uno tra le centinaia di malefici linguaggi di programmazione e lo parli correntemente. Il vero programmatore capisce e parla il binario correttamente.
Riconoscere un vero programmatore
Il vero programmatore è solitamente un uomo tra i 18 e i 10.0E+18 anni che, dopo anni o vite di addestramento in una delle arti oscure della programmazione, si cimenta nella scrittura di codice (maligno e non).
Da questa passione deriva spesso una trascuratezza nel vestirsi o, raramente, viene adottata la tipica uniforme nerd: pantalone nero, scarpa nera, camicia bianca a maniche corte e cravatta nera.
I veri programmatori socializzano solo tra di loro e tendono a schernire chiunque non capisca il significato di banalissime istruzioni tipo:
matrix.personaggio[++VettPersonaggi.length]=Chuck->death.calciorotante;
I veri programmatori tendono a sfottere e schernire gli ingegneri in quanto questi ultimi, dopo 5-7 secoli di laurea in ingegneria, tendono ad avere prestazioni minori di loro sotto molti punti di vista.
Il vero programmatore va sempre in giro portandosi dietro il fido Notebook, moderna versione dei libri di magia nera. Tramite il suo notebook un vero programmatore può tutto (tranne conquistare le tipe).
Il vero programmatore non è abituato a parlare col sesso femminile in quanto raramente ne vede uno, non essendo presenti nel suo corso di laurea.
Categorie di veri programmatori
Tra i veri programmatori si possono definire varie categorie, ognuna fondamentalmente legata a un particolare linguaggio di programmazione:
Programmatore macchina
La categoria di più basso livello nella scala evolutiva dei veri programmatori. Questa categoria esiste dalla notte dei tempi e si vanta di programmare nel difficile e spesso incomprensibile linguaggio macchina, anche noto come "satanico codice binario". Questo tipo di programmazione necessita di anni e anni di addestramento e porta il programmatore macchina a rinunciare a ogni forma di vita sociale, party, gnocca, uscita, amico/a. Sono una razza spacciata perché hanno inserito in un loro programma la linea di codice:
01000011 01101000 01110101 01100011 01101011 00100000 01110011 01110101 01100011 01101011 01110011
che in linguaggio umano significa "Chuck sucks" ovvero "chuck fa schifo". Questo bug porterà il nostro nobile invincibile Dio ad arrabbiarsi e a decidere di cancellare i programmatori macchina a suon di calci rotanti binari. Esistono solo 10 programmatori macchina, uno è bravo l'altro no.
Programmatore assembly
È una razza leggermente più evoluta della precedente, i suoi membri si vantano di saper programmare in linguaggio assembly, un linguaggio di fatto in disuso anche se venne utilizzato per scrivere l'universo. La sfortuna di questi veri programmatori sta nel fatto che per dire in assembly "ciao tipa, usciamo sta sera?" ci vogliono circa 15 minuti più un'intensa sessione di debug. Questo fa intuire perché l'etnia dei programmatori assembly si sta mano mano estinguendo.
Programmatore COBOL
Il programmatore COBOL è una razza in via d'estinzione. I primi cobolisti risalgono alla fine dell'800, quando tutte le più grandi banche ed assicurazioni iniziarono ad usare i mainframe. Oggi al mondo ne esistono solo pochi esemplari in quanto questa lingua antica sta per essere abbandonata. Con il linguaggio COBOL è possibile interagire con linguaggi più evoluti tipo Java, ma non ditelo ai programmatori Java perché si offenderebbero. L'accoppiata vincente sta nell'accoppiata JCL - BATCH: si narra che un giorno un uomo si alzò la mattina e non trovò il caffè pronto. Perciò scrisse un JCL che, lanciando un BATCH, questo gli faceva il caffè. La sera prima bastava inserire in input parametri come il numero dei cucchiaini di caffè e la quantità di acqua da mettere nella moka. Il programmatore poi eseguiva un SUB prima di andare a dormire. Il programmatore COBOL ha un JCL per qualsiasi evenienza, scritto con i comandi base CC CC PASTE. STOP RUN.
Programmatore C
È la più potente e malefica etnia di veri programmatori. Peggio dei Sith, peggio di Al Qaeda, peggio delle lezioni di religione e sì, anche peggio di un calcio rotante. Essi sfruttano le potenzialità del linguaggio C per piegare ai loro voleri orde di computer che vengono poi utilizzati come schiavi nella lotta contro gli ingegneri. Lo scopo ultimo di ogni programmatore C è scrivere qualcosa di potente e incomprensibile. I programmatori C producono solitamente del codice molto poco leggibile a qualsiasi forma vivente non "C-like". La variante più pericolosa è il C++, che solo i programmatori C più esperti possono maneggiare, dato che è in grado di distruggere gli oggetti: potrebbero far sparire Silvio Berlusconi e tua suocera con solo due righe di codice. Ma non lo faranno.
Programmatore Fortran
Grazie alla potenza del loro linguaggio, i programmatori Fortran riescono a scrivere codice che sembra corretto ma poi fa esplodere il satellite Mariner 1 durante il lancio. Sono ferratissimi in teologia: Dio è REALE, tranne quando viene dichiarato INTERO.
Programmatore Java
Dopo aver passato anni luce dentro oscure caverne chiamate laboratori, e fattosi tatuare il sacro manuale di Kernighan e Ritchie sul corpo, il programmatore C viene iniziato con una cerimonia massonica al linguaggio ad oggetti per antonomasia, Java. I programmatori Java non nascono, ma vengono istanziati dalla loro mamma durante il parto. Solitamente raggiungono l'orgasmo quando creano la loro prima interfaccia grafica con Swing dopo atroci sofferenze. Sono profondamente religiosi ed ogni giorno si alzano recitando una preghiera rivolti alla Santissima Trinità della fede JAava (JVM padre, JRE figlio e JDK Spirito Santo). Combattono duramente ogni giorno contro le sette eretiche del C++ e del C#, colpevoli di aver disgiunto la fede ad oggetti. Una volta ricevute le tavole della compilazione a run time da Oracle, cominciano a viaggiare per il mondo e a predicare la fede. Quando l'estrema fine si avvicina, accettano la fine con serenità e chiedono al Garbage Collector di fare un dispose() su di loro, prima di svanire nel null.
Giornata lavorativa
Un programmatore, a seconda del gruppo di appartenenza, ha diverse giornate lavorative. Di seguito un piccolo elenco:
Programmatore macchina:
- Ti svegli sdraiato nel letto, la mattina, e ti metti subito in piedi. Ragionando solo con uno zero o un uno, il tuo comportamento sembra un'onda quadra: dritto o sdraiato, con leggerissime inclinazioni.
- Tiri una moneta per decidere se lavarti, fare colazione e vestirti (1) oppure se uscire così come sei (0). Casualmente, esce sempre zero.
- Vai al lavoro. A piedi, perché la macchina ha un comportamento troppo variabile per la tua logica. Camminando, conti i passi in binario: 0, 1, 10, 11... appena incontri un passante decidi, sempre con la monetina, se stenderlo con un pugno (1) o passare oltre (0). Viene sempre uno fino al primo occhio nero che ti fanno, poi per uno strano mistero probabilistico tendi a fare uscire zero.
- Arrivato al lavoro, trovi subito dei colleghi che chiedono informazioni. Li bolli come "zero" e passi oltre. Sdraiato sulla scrivania, ti attacchi a un contatto e cominci a programmare un computer col codice macchina. Stranamente, dopo qualche minuto comincia a fare rumori strani.
- Arriva il tuo capo mentre fantastichi su come starebbe bene un "uno" dentro uno "zero". Nel mentre, non ti accorgi che il rumore di prima si intensifica. Il capo chiede di trovare un compromesso a un problema, ma lo tramortisci con una mazzetta da 5 Kg. Tu ragioni in binario, nessun compromesso. MAI!!!!.
- Ti accorgi che il rumore di prima era il contatto che, fulminatosi, prendeva fuoco. In preda alla disperazione, ti disattivi.
- Recuperano il tuo corpo mezzo carbonizzato dall'incendio. Ti riavvii e, resoti conto della situazione, opti per un suicidio. Fine del tuo primo (ed ultimo) giorno di lavoro.
Programmatore assembly:
- Prima di svegliarti, sposti tutti i dati che ti servono nei registri dedicati al risveglio. Dopo diecimila istruzioni, sei in piedi.
- Dopo altre trecento istruzioni, sei riuscito ad andare in bagno. Mentre ti lavi i denti, a metà operazione sbagli la sintassi di un comando. Immergi la testa nel cesso e ci vuole un reset per farti riaffiorare dalla tazza.
- Mentre ti lavi e ti asciughi col fon (trecentomila istruzioni in tutto, canticchiate alla velocità della luce), un altro errore di sintassi ti blocca il busto e fa si che i tuoi capelli prendano fuoco per la troppa vicinanza del fon. Altro reset e rasatura della testa, con alto rischio di decapitazione.
- Canticchiando "mov colazione mestesso" ti sposti per fare colazione, ma un interrupt (aka: l'orario) ti avverte che forse è meglio muoversi. Urlando "jmp lavoro", salti fuori dalla finestra. Sei al nono piano.
- Raccolgono i tuoi poveri resti sull'asfalto. Al lavoro si chiedono ancora che fine tu abbia fatto. Un poliziotto raccoglie i tuoi ultimi sospiri: "Errore di sintassi: istruzione "stop jump" non presente".
Programmatore C:
- Ti svegli. Lanci la routine per alzarti, ma un errore nel codice fa bloccare il tuo braccio a mezz'aria. Torni a dormire per correggere e riavviare il tutto.
- Torni a svegliarti, questa volta dopo due ore. Appena la variabile "orologio" viene passata alla funzione "giornata", si avvia il programma "avvio rapido". Scappi fuori di casa nudo e a nulla valgono i segnali lanciati dalle subroutine "gente_che_fugge" e "polizia_che_ti_insegue". Tramortisci un passante e gli ciuli i vestiti.
- Fermi un automobilista e lo ammazzi con una crack ideata allo scopo. Arrivi in un qualche modo in ufficio. Tutti si chiedono come mai indossi pantaloncini corti con la camicia, ma non ci dai peso. Fai puntare una variabile all'indirizzo "macchina_del_caffe" e ti fiondi là. L'unica cosa che riesci a dire è "printf("Non rompetemi le palle!\n");"
- Per tutto il giorno stai seduto davanti al tuo PC, entrando in un loop infinito quando pensi alle strutture nude. Il capo ti riporta nella realtà, chiedendoti un progetto incredibile da completare entro un'ora. Lo fulmini con una word e ne nascondi il cadavere.
- Finita la giornata, torni a casa. Un errore di protezione della memoria ti blocca mentre guidi a 90 in tangenziale. L'ultima cosa che vedi è Topo Gigio che ti prende per mano, poi una schermata blu.
Vero Programmatore Facts
- Il Vero Programmatore non sa che ora è: conosce solo il numero di secondi trascorsi dal 1° gennaio 1970;
- Il Vero Programmatore mangia wafer di silicio;
- Il Vero Programmatore può eludere qualsiasi intercettazione telefonica semplicemente dicendo "slash slash" all'inizio della conversazione;
- Il Vero Programmatore si dichiara alla donna che ama dicendo "private Object VeroProgrammatore";
- Il Vero Programmatore entra in casa dalla porta 80;
- Il Vero Programmatore va a fare la spesa con una lista concatenata;
- Il Vero Programmatore può contare fino a 1023 con le dita delle mani;
- Quando Il Vero Programmatore da bambino impara a parlare, le sue prime parole non sono "mamma" o "papà" ma "Hello, World!";
- Il Vero Programmatore può scrivere un metodo che lancia un'eccezione che conferma la regola;
- Il Vero Programmatore non porta fuori la spazzatura: si fida del garbage collector;
- Il Vero Programmatore ha sulla parete di casa sua un quadretto con la scritta "127.0.0.1 sweet 127.0.0.1" (per i più aggiornati, "::1 sweet ::1");
- Il Vero Programmatore chiama qualsiasi interfaccia più complessa di una shell a riga di comando con un unico nome: "spreco di RAM";
- Il Vero Programmatore non si ferma col rosso. Si ferma col #FF0000;
- Il Vero Programmatore legge e posta su Facebook tramite le API;
- Il Vero Programmatore scrive codice su una sola riga senza inutili spazi per risparmiare spazio su disco;
- Il Vero Programmatore finisce tutte le sue frasi con un punto e virgola; ...anche quando parla; (notare che tutti i facts terminano in punto e virgola...);
- La Vera Programmatrice si preoccupa quando ha un ritardo nel ciclo for;
- Il Vero Programmatore non usa strumenti di debug o checkpoint. Calcola il valore della variabile eseguendo a mente ogni istruzione del programma;
- Quando il Vero Programmatore si ferma a fare benzina a un distributore IP, si meraviglia di non poterlo usare come server DHCP;
- Quando il Vero Programmatore si ferma a fare benzina a un distributore Shell, si chiede perché non possa usarlo a riga di comando;
- Ma soprattutto quando si ferma a fare benzina a un distributore API si meraviglia di non poterlo usare come API di Windows;
- Il Vero Programmatore quando va a letto esclama sleep (0x7080);
- Quando due Veri Programmatori si scontrano, o vanno subito in buffer overflow, o si affrontano per mille cicli di clock senza che vi sia un vincitore;
- Nel caso perda le chiavi di un lucchetto, il Vero Programmatore si cimenta in un lungo ed estenuante brute force;
- Quando il Vero Programmatore viene invitato a una festa, può scoprire quali ragazze sono single e quali no semplicemente esclamando ls -l (stranamente sono tutte già impegnate);
- Il Vero Programmatore muore con exit status 1;
- Almeno un Vero Programmatore su cinque ha sognato di costruirsi un hardware aggiuntivo per fare debugging. Gli altri 4 lo hanno fatto;
- Gli agrumi del Vero Programmatore contengono molta vitamina C++ e C#;
- Prima di mangiare una prugna il Vero Programmatore ne compila il kernel (nocciolo);
- Il Vero Programmatore va in vacanza a Java per fare il cacciatore di Perl;
- Il Vero Programmatore non ha un animale domestico comune, ha solo un Python;
- Il Vero Programmatore gode con poco: gli basta cimentarsi in una serie di mount (o eventualmente un finger);
- Quando a uno sportello gli viene chiesto di compilare un modulo, il Vero Programmatore esclama: "gcc modulo.c";
- Una recente teoria sostiene che gli universi paralleli esistono: li fa girare il Vero Programmatore con VMWare;
- Il Vero Programmatore può scacciare le zanzare con il RAID 5;
- Se il Vero Programmatore non riesce a ritrovare una cravatta nell'armadio, invece di cercarla dice: "grep cravattaRossa armadio";
- A casa del Vero Programmatore la porta del bagno non è chiusa a chiave: è protetta da mutex;
- Se il Vero Programmatore sbaglia indirizzo, finisce in segmentation fault;
- Il Vero Programmatore non smonta, fa reverse engineering;
- Il Vero Programmatore ha un BST piantato in giardino;
- Il Vero Programmatore non interpreta i sogni, li compila;
- Il Vero Programmatore non lascia mai parentesi aperte in un discorso: non si compilerebbe;
- Il Vero Programmatore è sempre restio a sposarsi. Preferirebbe prima provare il matrimonio con un Live CD;
- Una programmatrice può indossare calze a rete. La Vera Programmatrice può indossare calze a VPN;
- Il Vero Programmatore ha un filtro antispam nella cassetta della posta;
- La casa del Vero Programmatore non è orientata a sud: è orientata ad oggetti;
- La Vera Programmatrice non usa cosmetici. Per cambiare aspetto le basta modificare il suo CSS;
- Il Vero Programmatore lava i pavimenti con AJAX, le piastrelle con Vim e la biancheria con Bash liquido;
- Il Vero Programmatore ordina la sua stanza con il QuickSort;
- Il Vero Programmatore può leggerti nel pensiero urlando "select * from TuoCervello";
- La porta di casa del Vero Programmatore è chiusa da una chiave RSA a 128 bit;
- Il Vero Programmatore può ucciderti urlando DELETE tu FROM world;
Preghiera
int Main()
{chap only sex;
Padre base,
che sei definito in class
sia definito il tuo costruttore di copia
venga la tua chiamata,
sia fatta la tua routine,
come nel file, cosi nell'overloading.
Dacci oggi la nostra programmazione ricorsiva,
e rimetti a noi i nostri puntatori,
cosi come noi rimettiamo a conati violenti alberi e liste,
e non ci indurre in eccezioni, debug, o overriding, NullPointerExceptions, BSOD, segmentation fault
e liberaci dai coglioni tumefatti, sia i nostri ormai in loop senza fine, che quelli che ce li fanno andare in loop.
Per l'Assemblerissimo Nostro Signore.
Return only sex;}