Fare programmi oggi è una corsa fra gli ingegneri del software che si sforzano di sviluppare programmi migliori e a prova di idiota, e l'Universo che si sforza di produrre idioti sempre più grossi.
Per ora sta vincendo l'Universo. (Rich Cook)
Tornando indietro ai vecchi e gloriosi giorni dell'informatica primordiale era relativamente facile distinguere tra veri uomini e ragazzini (o "mangia-quiche"). .. E' perciò necessario stabilire una netta distinzione tra il Vero Programmatore ed un universitario giocatore di PacMan.. Se questa distinzione sarà chiara, questi giovani inesperti potranno avere un modello guida, un padre spirituale a cui ispirarsi.
Il sistema più rapido per distinguere un Vero Programmatore dal resto del mondo è considerare il linguaggio che usa: il Vero Programmatore programmava in FORTRAN, mentre ora programma in C. .. Se per caso il C non fosse sufficiente, il Vero Programmatore lavorerà in assembler, e se neppure questo fosse sufficiente allora il lavoro non è fattibile (ma la cosa è impossibile: un Vero Programmatore, in C ed Assembler può fare TUTTO, per definizione).
Programmazione strutturata: gli accademici negli ultimi anni hanno stabilito, dall'alto delle loro cattedre, che un programma è più facilmente leggibile se il programmatore utilizza particolari tecniche, strutture e costrutti. Ovviamente essi non sono d'accordo su quali questi costrutti e queste tecniche precisamente siano, e perciò le loro teorie sono discordanti ed erratiche. In questo modo, solo alcuni mangiatori di quiche si lasciano convincere dai loro assiomi.
Un tipico lavoro del mondo reale (e non un lavoro teorico da università) è di prendere un sorgente di 100.000 o 200.000 linee e farlo andare il doppio più veloce. In questo caso qualunque Vero Programmatore vi potrà dire che la programmazione strutturata non serve a nulla, quello che in realtà serve è del talento..
Alcune rapide considerazioni del Vero Programmatore sulla programmazione strutturata:
..Che sistema operativo usa, un Vero Programmatore? Unix? No: .. qualunque Vero Programmatore non trova alcun divertimento nel tentare di indovinare come cavolo il comando PRINT viene chiamato questa settimana.
..Una cosa sicuramente possiamo dire: il Vero Programmatore non usa il mouse e le icone, infatti il Vero Programmatore non capisce perchè mai per compilare un programma uno debba staccare le mani dalla tastiera e cliccare su un menù, quando è tanto semplice battere:
CL pippo.c -k -iC:/all -q -w -e -r +t -y +cvb +f -g +g +p=l/f/a/s
In ogni caso il Vero Programmatore ha una sola nostalgia: il sistema IBM OS/370. .. L'OS/370 è VERAMENTE un sistema operativo potente, infatti è possibile distruggere giorni e giorni di lavoro con la semplice pressione di un tasto. Questo incoraggia l'attenzione sul lavoro e forma una mentalità che servirà in futuro, quando per distruggere giorni di lavoro saranno sufficienti TRE tasti.
..I primi Veri Programmatori sapevano a memoria l'intero settore di boot dell'hard-disk, e lo potevano riscrivere a memoria ogniqualvolta che il loro programma lo rovinava..
..il concetto di WYSIWYG (quello che vedi è quello che ottieni) si applica ai computer malissimo, così come si applica alle donne.. Quello che il Vero Programmatore vuole, è in effetti qualcosa di più complesso, che implementi la filosofia del "You asked for it, you got it!!!" (YAFIYGI, avrai solo quello che chiedi). ..
..un Vero programmatore è molto riluttante a editare un programma funzionante per dargli gli ultimi ritocchi [così edita direttamente l'eseguibile.].. Procedendo su questa linea, il risultato è che tra il codice sorgente e quello che in effetti c'è scritto su disco c'è una discrepanza sempre maggiore, con il risultato che il lavoro è sempre più sicuro, perchè solo un Vero Programmatore potrà lavorarci sopra in modo proficuo, nessun mangiatore di quiche potrà fare manutenzione, minimizzando così i rischi di malfunzionamenti ulteriori del programma: QUESTA, è sicurezza!
In generale, il Vero Programmatore gioca nello stesso modo in cui lavora: con i computer. In generale, lo stesso lavoro è un gioco, ad alla fine del mese il Vero Programmatore è sempre abbastanza stupito di ricevere un compenso per quello che, a tutti gli effetti, è per lui un divertimento. .. Ad un party, i Veri Programmatori sono quelli che stanno in un angolo parlando di sistemi operativi, mentre di fianco a loro passano ragazze che si fermano, ascoltano per alcuni secondi e poi, dato che non capiscono una parola, se ne vanno. A volte un Vero Programmatore incontra una Vera Programmatrice.. Vi risparmio per decenza il racconto di come si svolgono i fatti.. .. Sulla spiaggia, il Vero Programmatore è quello che disegna flowchart sulla sabbia.
L'habitat del Vero Programmatore: ..Attaccato al muro c'è un ritratto di Spock con in mano l'Enterprise, stampato con una becchia stampante a margherita. .. Fino a qualche tempo fa si concedeva dei pisolini mentre il computer stava compilando il programma, ma purtroppo il diffondersi di computer e periferiche veloci ha reso questa pratica difficile.
In generale, un Vero Programmatore, se ha 5 settimane per terminare un programma, passa le prime 4 cincischiando con aspetti secondari ma interessanti del programma, mentre il grosso del lavoro viene fatto in una settimana di lavoro ininterrotto. Questo provoca sempre grosse preoccupazioni al principale, che teme sempre che il lavoro non sia mai pronto in tempo, ed offre al Vero Programmatore una buona scusa per non scrivere la documentazione.
LA LISTA DELLA SPESA DEL VERO PROGRAMMATORE
Come ragionano i programmatori, quando vanno a fare la spesa? Dipende da che linguaggio di programmazione usano.
Lista Normale
Programmatore C
Programmatore C++
Programmatore C# su .Net
Programmatore Java
Programmatore Perl
Programmatore Python
Programmatore Ruby