Win Base Win Adv Win XP Vista Windows 7 Registri Software Manuali Humor Hardware Recensioni Blog Download Foto
INDICE SEZIONE NEWS WEB NEWS SOFTWARE PUBBLICITA'
IL VERO PROGRAMMATORE - Parte I

Su segnalazione di Alessandro B.

IL VERO PROGRAMMATORE

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...


TOOL DI PROGRAMMAZIONE

Quali tool di programmazione necessita realmente un Vero Programmatore?

In effetti, come detto prima sono sufficienti un terminale a 1200 baud o un lettore di schede perforate, ma anche una semplice tastiera esadecimale sarebbe gia' piu' che sufficiente.

Ma purtroppo adesso i computer non hanno piu' tastiere esadecimali, come pure non hanno piu' quei magnifici pannelli frontali pieni di lucine e tastini che facevano tanto futuro.

I primi veri programmatori sapevano a memoria l'intero settore di boot del- l'hard disk, e lo potevano riscrivere a memoria ogniqualvolta che il loro programma lo rovinava.

La leggenda narra che Seymore Cray (creatore del Cray I) scrisse il SO del primo CDC7600 usando il pannello frontale del computer la prima volta che questo venne acceso. Senza bisogno di dirlo Seymore era un Vero Programmatore. Uno dei migliori Veri Programmatori che abbia mai conosciuto e' un sistemista della Texas Instrument.

Una volta rispose alla telefonata di un cliente a cui si era bombato il sistema durante il salvataggio del lavoro. Il Vero Programmatore rimise a posto tutto facendo scrivere le istruzioni per terminare il lavoro di I/O sul pannello frontale (allora c'erano ancora), riscrivendo i dati rovinati in esadecimale e facendosi dire i risultati per telefono.

La morale della storia e' che se un tastierino ed una stampante possono far comodo un Vero Programmatore puo' arrangiarsi anche con solo un telefono.

Un altro tool fondamentale e' un buon text editor. Molti dicono che il migliore sia quello della Xerox di Palo Alto, ma, come gia' detto, il Vero Programmatore non parla al suo computer attraverso un mouse.

Altri preferiscono EMACS o VI, ma in effetti il concetto di WYSYWYG (quello che vedi e' quello che ottieni) si applica ai computer malissimo, cosi' come si applica alle donne.

Quello che un vero programmatore vuole e' in effetti qualcosa di piu' complesso, che implementi la filosofia del "You asked for it, you got it !!!" (YAFIYGI, avrai solo quello che chiedi).

Insomma, l'editor perfetto e' il TECO.

Alcuni hanno osservato che una linea di comandi per TECO assomiglia molto di piu' al rumore sulle linee telefoniche che ad una linea di comandi, ed in effetti uno dei giochi piu' divertenti da fare e' quello di scrivere il proprio nome sulla linea di comando e vedere cosa succede.

Inoltre ogni piccolo errore avra' come risultato quello di distruggere il vostro programma, o, peggio, di introdurre subdoli errori che saranno in seguito difficilmente rintracciabili.

Per questa ragione un Vero Programmatore e' molto riluttante a editare un programma funzionante per dargli gli ultimi ritocchi. E sempre per questa ragione un Vero Programmatore trova piu' semplice fare le modifiche finali utilizzando un programma come lo Zap.

Alcuni Veri Programmatori utilizzano lo Zap stesso come editor, altri scrivono il programma direttamente in codice eseguibile, ma e' forse esagerato.

Procedendo su questa linea il risultato e' che tra il codice sorgente e quello che in effetti c'e' scritto su disco c'e' una discrepanza sempre maggiore, con il risultato che il lavoro e' sempre piu' sicuro, perche' solo un Vero Programmatore potra' lavorarci sopra in modo proficuo, nessun mangiatore di Quiche potra' fare manutenzione, minimizzando cosi' i rischi di malfunzionamenti ulteriori del programma. Questa e' SICUREZZA.

Altri tool importanti sono le documentazioni su cui il vero programmatore basa gran parte del suo lavoro:

- Il Vero Programmatore non legge mai i manuali introduttivi, bastano ed avanzano i Reference Manual.
- Il Vero Programmatore ha imparato il C sul K&R, qualunque altro testo e' inutile e deviante.
- Il Vero Programmatore se possibile legge i manuali in lingua originale, anche se questo a volte pone dei problemi di reperibilita'.
- Il Vero Programmatore non colleziona libri di raccolte di algoritmi. Questo perche' e' piu' lento cercare l'algoritmo in 3000 pagine di manuale che scriverlo di getto.
- Il Vero Programmatore non ha bisogno di manuali sull'assembler, sono sufficienti i data sheet dei microprocessori.
- Il Vero Programmatore non scrive MAI i manuali dei programmi che fa, non ne ha il tempo materiale.

Il Vero Programmatore generalmente ha da qualche parte la documentazione completa del SO su cui lavora, pubblicata dalla casa che ha fatto il SO, ma sa che SICURAMENTE nelle 3500 pagine che in media compongono la documentazione non trovera' quello che cerca.

Se nelle vicinanze del terminale sono presenti piu' di 5 manuali ci sono delle forti probabilita' che NON sia un Vero Programmatore.


Alcuni Tool NON usati da un Vero Programmatore:

- Preprocessori di linguaggio.
- Traduttori di linguaggio.
- Full Screen Debugger a livello sorgente. Il Vero Programmatore e' in grado di capire quello che dice il Debug.
- Compilatori ottimizzanti. L'ottimizzazione del programma scritto dal Vero Programmatore e' gia' il massimo, e percio' altre modifiche non farebbero altro che peggiorare la situazione.

 

Vai alla parte 2

 

 In evidenza Registrare la TV da iPhone e iPad



Nel Web in WinTricks
Copyright © 1999-2012 Master New Media s.r.l. p.iva: 02947530784
COPYRIGHT . PRIVACY . REDAZIONE . STORIA . SUPPORTA