Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
Humor - Il vero programmatore
Forum - Humor - Il vero programmatore

Avatar
()
Newbie


Messaggi:
Iscritto:

Segnala al moderatore
Postato alle 1:00
Giovedė, 01/01/1970
Un inconfutabile documento che spiega chi č veramente un programmatore. Per motivi di spazio lo suddivido in 3 post.
_____________________________________________________
IL VERO PROGRAMMATORE
=====================

Tornando indietro ai vecchi e gloriosi giorni dell'informatica
primordiale era relativamente facile distinguere tra veri uomini e
ragazzini (nella letteratura classica la distinzione e' tra "veri
uomini" e "mangia-quiche").
Durante quei tempi i Veri Uomini erano gli unici che si intendevano di
computer, gli altri (i ragazzini o "mangiatori di quiche") erano quelli
che di computer non se ne intendevano.
I Veri Uomini dicevano cose come "DO 10 I=1,10" o "ABEND" (ovviamente
parlando in lettere maiuscole, mi sembra ovvio), mentre il resto della
gente diceva semplicemente che i computer erano cose troppo complicate
per loro.  (sempre il lavoro [1] dice appunto che non esistono cose
troppo complicate per il vero uomo).
Ma, come in tutte le cose, i tempi cambiano, adesso viviamo in tempi in
cui anche le vecchiette hanno dei computer dentro i loro forni a
microonde, in cui qualunque Vero Uomo puo' essere battuto da un
ragazzino di 12 anni in qualunque videogioco, in cui chiunque puo'
comperare, usare e capire un computer.
Il Vero Programmatore rischia di intraprendere la via dell'estinzione,
sopraffatto da universitari che basano la loro vita su Mouse ed Icone.
E' percio' necessario stabilire una netta distinzione tra Il Vero
Programmatore ed un universitario giocatore di Pac-Man. Se questa
distinzione sara' chiara questi giovani inesperti potranno avere un
modello guida, un padre spirituale a cui ispirarsi. Inoltre sara'
possibile spiegare ai datori di lavoro perche' non e' ne' necessario
ne' giusto sostituire dei Veri Programmatori con dei giocatori di Pac
Man, anche se il risparmio sugli stipendi sarebbe considerevole.

LINGUAGGI
=========
Il sistema piu' rapido e sicuro per distinguere un Vero programmatore
dal resto del mondo e' considerare il linguaggio che usa: il Vero
Programmatore programmava in FORTRAN, mentre ora programma in C.
I mangiatori di Quiche programmano in Pascal. Da questo si deduce che
sicuramente Niklaus Wirth era un mangiatore di Quiche e NON un Vero
Programmatore.
Ad un Vero Programmatore non servono tutte le strutture ed i meccanismi
del pascal, un Vero Programmatore puo' essere felice con un perforatore
di schede o un terminale a 1200 baud, un C a standard K&R (ANSI... a
che serve, il K&R e' fin troppo chiaro), ed una birra.
A proposito, Kerningan e Ritchie sicuramente erano dei Veri Uomini.
probabilmente anche dei veri programmatori.
- Il Vero Programmatore processa liste in C
- Il Vero Programmatore processa numeri in C
- Il Vero Programmatore manipola stringhe in C
- Il Vero Programmatore elabora programmi di IA in C
- Il Vero Programmatore fa contabilita' in C
- Il Vero Programmatore crea simulatori di reti neuronali in C
- Il Vero Programmatore starnutisce in C
- Il Vero Programmatore fa TUTTO in C
Se per caso il C non fosse sufficiente il Vero Programmatore lavorera'
in assembler, se neppure questo fosse sufficiente allora il lavoro non
e' fattibile, ma la cosa e' impossibile, un Vero Programmatore in C ed
assembler puo' fare TUTTO, per definizione.

PROGRAMMAZIONE STRUTTURATA
==========================
Gli accademici negli ultimi anni hanno stabilito, dall'alto delle loro
cattedre, che un programma e' piu' 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 percio' le loro teorie sono discordanti
ed erratiche.  In questo modo solo alcuni mangia-Quiche si lasciano
convincere dai loro assiomi.
Un tipico lavoro del mondo reale (e non un lavoro teorico da
universita') e' di prendere un sorgente di 100.000 o 200.000 linee e
farlo andare il doppio piu' veloce. In questo caso qualunque Vero
Programmatore vi potra' dire che la programmazione strutturata non
serve a nulla, quello che in realta' serve e' del talento.
Alcune rapide considerazioni del Vero Programmatore sulla programmazione
strutturata:
- Il Vero Programmatore non ha paura di usare GOTO
- Il Vero Programmatore puo' scrivere un ciclo DO lungo 5 pagine senza
fare confusione.
- Il Vero Programmatore usa i costrutti CASE basati su calcoli
aritmetici, essi rendono un programma piu' divertente.
- Il Vero Programmatore scrive del codice automodificante, soprattutto
se questo puo' salvare 20 nanosecondi all'interno di un ciclo.
- Il Vero Programmatore utilizza l'area di memoria di un codice gia'
eseguito e che non servira' piu' come area di memoria per i dati, ottimizzando
in questo modo lo spazio a disposizione.
- Il Vero Programmatore non ha bisogno di commenti, il codice e' gia'
  autoesplicante a sufficienza.
Dopo aver parlato di programmazione strutturata si e' anche parlato
molto di strutture di dati. Tipi di dati astratti, stringhe, liste e
chi piu' ne ha piu' ne metta.
Wirth (il mangiatore di Quiche menzionato poco sopra) ha scritto un
intero libro [2] tentando di dimostrare che si puo' scrivere un intero
programma basandosi solo sulle strutture di dati.
Come ogni Vero Programmatore sa invece l'unica struttura che serve
VERAMENTE e' l'array, dato che tutti gli altri tipi di dato altro non
sono che sottoinsieme limitati di questi. e dato che sono limitati egli
usa solo puntatori, soprattutto se questi rendono possibile bombare irrimediabilmente il computer, se no dove starebbe il divertimento?
SISTEMI OPERATIVI
=================

Che SO usa un Vero Programmatore?
UNIX? NO!, Unix e' qualcosa di simile a quello che si aspetta un vero
Hacker, dato che qualunque Vero Programmatore non trova alcun
divertimento nel tentare di indovinare come cavolo il comando PRINT
viene chiamato questa settimana.  La gente non fa lavori seri su Unix,
lo usano soprattutto per fare adventure, modificare Rogue e mandarsi il
tutto via UUCP.
MS-DOS? Gia' meglio, crittico quel tanto che basta, facile da
modificare, se ce ne fosse necessita', facile da bombare, con tante
cose sconosciute e strane.
Una cosa sicuramente possiamo dire:
- Il Vero Programmatore non usa il mouse e le  icone, infatti il Vero
  Programmatore  non  capisce perche' mai per compilare un programma uno debba
  staccare le mani dalla tastiera e cliccare su un menu quando e' tanto
  semplice battere:
CL pippo.c -k -iC:\gnu\c\all -q -w -e -r +t -y +cvb +f -g +g +p =l /f /a
/s
Comunque il Vero Programmatore ha una sola nostalgia: il sistema IBM OS/370.
Questo era infatti il SO che qualunque Vero Programmatore vorrebbe vedere
implementato su TUTTI i computer del mondo.
Un Vero Programmatore sa che se vede comparire l'errore IJK3051 basta andare
a vedere nel manuale del JCL per capire cosa e' successo.
Un Grande Programmatore poi sapra' i codici a memoria, mentre un Grandissimo
Programmatore potra' trovare l'errore osservando 6 mega di dump senza neppure
usare un calcolatore esadecimale...

L'OS/370 e' VERAMENTE un SO potente, infatti e' possibile distruggere
giorni e giorni di lavoro con la semplice pressione di un tasto. Questo
incoraggia l'attenzione sul lavoro e forma una mentalita' che servira'
in futuro, quando per distruggere giorni di lavoro saranno sufficienti
tre tasti...

IL VERO PROGRAMMATORE MENTRE GIOCA
==================================

Il generale il Vero Programmatore gioca nello stesso modo in cui
lavora: con i computer.
In generale lo stesso lavoro e' un gioco, ed alla fine del mese il Vero
Programmatore e' sempre abbastanza stupito di ricevere un compenso per
quello che, a tutti gli effetti, e' per lui un divertimento, anche se
non lo dira' mai a voce alta.
Occasionalmente il Vero Programmatore uscira' dall'ufficio per prendere
una boccata d'aria e farsi una birra, ecco alcuni sistemi per
riconoscere un Vero Programmatore fuori dal suo posto di lavoro:

- Ad un party i Veri Programmatori sono quelli che stanno in 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.
- Ad una partita di football il Vero Programmatore e' quello che controlla gli
schemi delle squadre basandosi su quelli disegnati dal suo programma su di
un foglio 11x14.
- Sulla spiaggia il Vero Programmatore e' quello che disegna flow chart sulla
sabbia.
- Durante un black out un Vero Programmatore generalmente sviene in quanto
vengono a mancare i vitali afflussi di energia che gli permettono di vivere.

L'HABITAT DEL VERO PROGRAMMATORE
================================

Dal momento che un vero programmatore e', per l'azienda che lo usa,
generalmente molto costoso, vediamo come fare per farlo rendere al
meglio sul posto di lavoro.
Il Vero Programmatore vive davanti ad uno o piu' monitor, attorno,
sopra, dietro e sotto questi terminali si trovano generalmente le
seguenti cose:
- I listati di TUTTI i programmi a cui il Vero Programmatore ha mai lavorato,
accatastati, in ordine piu' o meno cronologico, su ogni superficie piatta
disponibile intorno.
- Sei o piu' tazze di caffe', quasi sempre fredde, ed alcune con alcuni
mozziconi di sigaretta galleggianti.
- Attaccato al muro c'e' un ritratto di Spock con in mano l'enterprise stampato
con una vecchia stampante a margherita.
- Sparsi per terra ci sono pacchetti vuoti di noccioline e vaccate simili.
In generale un Vero Programmatore puo' lavorare anche 30 o 40 ore di
fila, anzi, di solito lavora molto megli sotto sforzo. Fino a qualche
tempo fa si concedeva dei pisolini mentre il computer compilava 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 progetto, 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.

VARIE ED EVENTUALI
==================

- Il Vero Programmatore a volte puo' scordare il nome della moglie o della
ragazza, ma sa a memoria il codice ASCII.
- Il Vero Programmatore non si cura della tastiera, le sue dita si
adattano automaticamente a qualunque layout.
- Il Vero Programmatore sa che anche avendo 8 mega di RAM questa non
sara' mai abbastanza, e percio' tenta di fare programmi piccoli.
- Il Vero Programmatore tiene sempre i backup da quando ha dovuto
riscrivere 327000 linee di assembler 68020.
- Il Vero Programmatore scrive programmi di pubblico dominio, anche se
di solito sono programmi talmente specialistici che serviranno solo ad
altre tre persone al mondo oltre a lui.
ALTRI COROLLARI
===============

- Il Vero Programmatore si trovava a suo agio con il Fortran in quanto
consentiva la programmazione a spaghetti senza limitazioni.
- Va comunque detto che il Vero Programmatore e' in grado di scrivere
programmi a spaghetti in qualsiasi linguaggio. In questo senso, il C va
a pennello per la sua capacita' di scrivere programmi Write-only che
nessuno, a parte un altro Vero Programmatore, sara' mai in grado di
decodificare.
- Il Vero Programmatore non mette mai commenti perche' a suo parere il
codice e' autodocumentante. Questo vale anche per i dump esadecimali di
codice assembly.
- Nel tempo libero, il Vero Programmatore va abbastanza spesso in
discoteca, ma si limita ad osservare il gioco di luci. Ultimamente,
viene stranamente attratto dal terminale del controllore laser.
- Ai funerali di un collega, il Vero Programmatore commenta:
"Peccato.. la sua routine di sort O(logN) stava quasi per funzionare"
- Le Vere Programmatrici esistono in ragione di 1 per ogni 256 Vero
Programmatori, come tale la probabilita' di incontrarne una e' estremamente
bassa.
- Il Vero Programmatore ha scarsa considerazione degli utenti, ritenuti
ad un livello troppo basso. La probabilita' di trovare un utente
competente e' stimata inferiore a quella di trovare una Vera
Programmatrice.
- Il Vero Programmatore conta in base due.

ERRATA CORRIGE
==============

- QUALE hard disk? mangianastri e ferriti!
- QUALI nastri? cassetti di schede perforate! Solo i ricchi avevano i
nastri!
- QUALI tastiere e display esadecimali? File di interruttori e LED in
binario.
- l Vero Programmatore non usa commenti: se e` stato difficile da
scrivere, deve essere difficile da leggere. Ma se e` un VERO
PROGRAMMATORE lo legge ugualmente con facilita`.
- Il Vero Programmatore usa il C, e QUINDI usa anche Unix e i
Preprocessori. Unix, almeno nelle prime versioni, e' il vero sistema
operativo contemporaneo l'unico che consente ancora di azzerare un
intero file system con un comando di sette lettere blank compresi:
rm -r /
- OS/370 era seriamente migliore, ma non bastava battere un tasto per
perdere tutto, era sufficiente sbagliare la posizione di un blank.
=========
POSTILLE:
=========
- Il Vero Programmatore edita direttamente il file Postscript di un
documento, se deve modificarlo.
- il Vero Programmatore conosce sempre almeno 16 cifre di pi greco,
di cui conosce anche la rappresentazione IEEE in esadecimale, e
(se anche fisico) tutte le cifre di c (e' definito con 9 cifre), in modo
da non aver bisogno di noiosi include files.
- Il Vero Programmatore e la programmazione ad oggetti: se costretto a
simili pratiche, il Vero Programmatore PRIMA scrive il programma, e POI,
quando funziona, ne fa un'analisi ad oggetti. Per nessuna ragione
comunque modifichera' il codice gia' scritto per conformarlo
all'analisi. Comunqe inserira' nel programma un numero sufficente di
variabili globali usate da TUTTE le classi, in modo da renderne
impossibile la manutenzione da un mangiatore di Quiche (vedi praragrafo
sulla sicurezza dei programmi).
- Il Vero Programmatore chiama le variabili con nomi autoespicativi di
massimo 5 lettere (es. CVfrZ). Solo mangiatori di Quiche usano nomi
tipo "Massimo_Numero_Di_Dipendenti" per una variabile. Se un Vero
Programmatore usa un nome simile, probabilmente la variabile indica la
velocita' terminale di uno ione in una nube molecolare (il codice e'
stato riciclato efficentemente da un programma di contabilita').
- Il capitano Picard di Star Trek TNG e' un Vero Programmatore:
riprogramma Data usando un pezzo di ferro per cortocircuitarne il
circuito di input in binario. (Time's Arrow, part II, stardate
46001.3)

EDIT: Pensavo il forum fosse a pagine come gli altri...dato che non č cosė i moderatori e/0 admin possono tranquillamente spostare tutto nel primo post e cancellare i successivi due in caso...

Ultima modifica effettuata da Zizzius il 16/08/2006 alle 12:31
PM Quote