c’era una volta( int argc char ** argv€¦ · LINGUAGGIO FIGURATO (metafore, esempi,...

21
c’era una volta( c’era una volta( int argc int argc , , char char ** ** argv argv ) ) Parma, 14-15 aprile 2004 Marco Malaspina

Transcript of c’era una volta( int argc char ** argv€¦ · LINGUAGGIO FIGURATO (metafore, esempi,...

Page 1: c’era una volta( int argc char ** argv€¦ · LINGUAGGIO FIGURATO (metafore, esempi, similitudini) ... Lo diceva anche il buon vecchio Will … Slide 13 Parma, 14-15 aprile 2004

c’era una volta(c’era una volta(int argcint argc,, charchar ****argvargv))

Parma, 14-15 aprile 2004

Marco Malaspina

Page 2: c’era una volta( int argc char ** argv€¦ · LINGUAGGIO FIGURATO (metafore, esempi, similitudini) ... Lo diceva anche il buon vecchio Will … Slide 13 Parma, 14-15 aprile 2004

Un “buon testo” è un testo “ben scritto”?Un “buon testo” è un testo “ben scritto”?Parma, 14-15 aprile 2004

Slide 01

Cambiando contesto:

un buon programma è un programma ben scritto?

Anzitutto, un buon programma è un programma che

FUNZIONA

Poi, di solito, se è “ben scritto” è più probabile che funzioni bene. Però, è una condizione né necessaria né sufficiente.

Anche un buon testo è un testo che FUNZIONA.Ma cosa significa “funzionare”, per un testo? Vediamone alcuni…

Page 3: c’era una volta( int argc char ** argv€¦ · LINGUAGGIO FIGURATO (metafore, esempi, similitudini) ... Lo diceva anche il buon vecchio Will … Slide 13 Parma, 14-15 aprile 2004

Per decidere se un testo funziona…Per decidere se un testo funziona…Parma, 14-15 aprile 2004

Slide 02

…osserviamone gli effetti più evidenti:…osserviamone gli effetti più evidenti:MANUALE

UTENTE DI UNA CALCOLATRICE

IL LETTORERIESCE A USARE

TUTTE LE FUNZIONI CHE GLI SERVONO

ROMANZO DIHARRY POTTER

J.K. ROWLEY DIVENTA LA

DONNA PIÙ RICCA DEL REGNO UNITO

TESI DILAUREA

L’AUTOREPRENDE OTTO

PUNTI ALLADISCUSSIONE

SI GUADAGNALA COPERTINA

DI SCIENCE

ARTICOLOSCIENTIFICO

Page 4: c’era una volta( int argc char ** argv€¦ · LINGUAGGIO FIGURATO (metafore, esempi, similitudini) ... Lo diceva anche il buon vecchio Will … Slide 13 Parma, 14-15 aprile 2004

Scopo e destinatarioScopo e destinatarioParma, 14-15 aprile 2004

Slide 03

• Non ci sono regole generali: un testo funziona se raggiunge il PROPRIO scopo

• Lo SCOPO di un testo non dipende solo dall’argomento, ma dalla relazione fra ARGOMENTO e DESTINATARIO

• ����Gli informatici,in questo, hanno unvantaggio:

SONO ABITUATISONO ABITUATIA SCRIVEREA SCRIVERESECONDO LESECONDO LEREGOLE DELREGOLE DELDESTINATARIO DESTINATARIO

Page 5: c’era una volta( int argc char ** argv€¦ · LINGUAGGIO FIGURATO (metafore, esempi, similitudini) ... Lo diceva anche il buon vecchio Will … Slide 13 Parma, 14-15 aprile 2004

… ma non tutti sono come gli informatici…… ma non tutti sono come gli informatici…Parma, 14-15 aprile 2004

Slide 04

SI SENTE SPESSO DIRE CHE STAMPA E TELEVISIONE

HANNO OFFERTO UN’IMMAGINEDISTORTA DELLA RIFORMA

SCOLASTICA…

Page 6: c’era una volta( int argc char ** argv€¦ · LINGUAGGIO FIGURATO (metafore, esempi, similitudini) ... Lo diceva anche il buon vecchio Will … Slide 13 Parma, 14-15 aprile 2004

Parma, 14-15 aprile 2004

Slide 05

Page 7: c’era una volta( int argc char ** argv€¦ · LINGUAGGIO FIGURATO (metafore, esempi, similitudini) ... Lo diceva anche il buon vecchio Will … Slide 13 Parma, 14-15 aprile 2004

La difficoltà non sta nell’argomento…La difficoltà non sta nell’argomento…Parma, 14-15 aprile 2004

Slide 06

Per controllare se un elettroneelettrone ha

attraversato una barriera, dobbiamo localizzarlo con una precisione almeno

uguale allo spessore della barriera stessa. Tale misura imprime

all’elettrone una quantità di moto tanto più grande

quanto più è sottile la barriera. Oltre un

certo limite, la spinta è sufficiente per

valicare la barriera. Abbiamo così

l’effetto tunnel.

Un’aziendaazienda che si rispetti tiene un libro contabile molto aggiornato e preciso, e non permetterebbe mai agli impiegati di prendere a prestito a fini propri somme di denaro anche piccole, nemmeno sotto la promessa di renderle in toto e in tempi brevissimi. Un’azienda quantisticasarebbe invece molto più tollerante, e chiuderebbe un occhio, ponendo solamente un limite superiore al prodotto dell’entità per la durata del prestito.

Consideriamo un’automobileautomobile che si

sposti lungo una strada pianeggiante, incontri un

cavalcavia e rimanga senza benzina all’inizio

della salita, e chiediamoci se riuscirà a passare

dall’altra parte. […]Per un’automobile della

massa di 1 tonnellata e un cavalcavia con un

dislivello di 10 m, la durata del prestito

energetico non può superare 10-41 s. L’effetto

tunnel non si presta a snellire il traffico automobilistico.

da Tullio Regge, Infinito, Mondadori 1994

Page 8: c’era una volta( int argc char ** argv€¦ · LINGUAGGIO FIGURATO (metafore, esempi, similitudini) ... Lo diceva anche il buon vecchio Will … Slide 13 Parma, 14-15 aprile 2004

Essere umano: destinatario esigente…Essere umano: destinatario esigente…Parma, 14-15 aprile 2004

Slide 07

Non si accontenta di RISOLVERE il messaggio

• Vuole COMPRENDERLO• NON vuole ANNOIARSI• NON vuole PERDERE TEMPO• Vorrebbe “DIVERTIRSI”

…molto più esigente di un compilatore…molto più esigente di un compilatore

E HA RAGIONE!

Quale linguaggio comprende meglio?

• LINGUAGGIO FIGURATO (metafore, esempi, similitudini)• LINGUAGGIO CHE SUSCITA EMOZIONI ���� AZIONE

Page 9: c’era una volta( int argc char ** argv€¦ · LINGUAGGIO FIGURATO (metafore, esempi, similitudini) ... Lo diceva anche il buon vecchio Will … Slide 13 Parma, 14-15 aprile 2004

Comunicare con stile, comunicare con Comunicare con stile, comunicare con lolo stilestileParma, 14-15 aprile 2004

Slide 08

Feynman e l’O-ring del Challenger

Da A Structure for DNA, l’articolo di Watson e Crickapparso sul numero 171 di Nature il 2 aprile 1953:

[…] Non è sfuggito alla nostra attenzione che

l’accoppiamento specifico che abbiamo postulato

suggerisce immediatamente un possibile meccanismo di

replicazione del materiale genetico.

Page 10: c’era una volta( int argc char ** argv€¦ · LINGUAGGIO FIGURATO (metafore, esempi, similitudini) ... Lo diceva anche il buon vecchio Will … Slide 13 Parma, 14-15 aprile 2004

Testi scientifici vs. altri testiTesti scientifici vs. altri testiParma, 14-15 aprile 2004

Slide 09

•• QUANTIFICANOQUANTIFICANO PARECCHIOPARECCHIO•• SONO QUASI SEMPRE IN SONO QUASI SEMPRE IN INGLESEINGLESE

•• PRESENTANO STRUTTURE DESCRITTIVE RICORRENTI:PRESENTANO STRUTTURE DESCRITTIVE RICORRENTI:

•• DEFINIZIONI DEFINIZIONI (simili ai (simili ai NOMINOMI del linguaggio comune)del linguaggio comune)•• PROPRIETPROPRIETÀÀ (simili agli (simili agli ATTRIBUTIATTRIBUTI del linguaggiodel linguaggiocomune)comune)

•• PROCESSIPROCESSI (simili ai (simili ai VERBIVERBI del linguaggio comune)del linguaggio comune)

•• SI AVVALGONO SPESSO DI SI AVVALGONO SPESSO DI MEZZI NON VERBALIMEZZI NON VERBALI

Alcune peculiarità…Alcune peculiarità…

Page 11: c’era una volta( int argc char ** argv€¦ · LINGUAGGIO FIGURATO (metafore, esempi, similitudini) ... Lo diceva anche il buon vecchio Will … Slide 13 Parma, 14-15 aprile 2004

Strumenti: e non solo per scrivereStrumenti: e non solo per scrivereParma, 14-15 aprile 2004

Slide 10

• ����Gli informatici hanno un secondo vantaggio: SANNO USARESANNO USAREGLI STRUMENTI CHE SERVONO PER CREARE TESTI EFFICACIGLI STRUMENTI CHE SERVONO PER CREARE TESTI EFFICACI

DEFINIZIONI EPROPRIETÀ

PROPRIETÀ EPROCESSI

Page 12: c’era una volta( int argc char ** argv€¦ · LINGUAGGIO FIGURATO (metafore, esempi, similitudini) ... Lo diceva anche il buon vecchio Will … Slide 13 Parma, 14-15 aprile 2004

Alcuni trucchi per rendere un testo illeggibileAlcuni trucchi per rendere un testo illeggibileParma, 14-15 aprile 2004

Slide 11

• ����Gli informatici hanno un terzo (!) vantaggio: SANNO BENISSIMOSANNO BENISSIMOCOME RENDERE UN TESTO INCOMPRENSIBILECOME RENDERE UN TESTO INCOMPRENSIBILE

ROEDY GREEN, AUTORE DI

HOW TO WRITE UNMAINTAINABLE CODE

(http://www.mindprod.com/unmain.html)

È UNO DI LORO

GODIAMOCI ALCUNI SUOI CONSIGLI,IN TESTI INFORMATICI E NON…

Page 13: c’era una volta( int argc char ** argv€¦ · LINGUAGGIO FIGURATO (metafore, esempi, similitudini) ... Lo diceva anche il buon vecchio Will … Slide 13 Parma, 14-15 aprile 2004

NOMI NOMI -- I nomi di variabili sono come il vetro…I nomi di variabili sono come il vetro…

Slide 12

Parma, 14-15 aprile 2004

Scegliere un nome per una variabile è come scegliere il nome perun figlio: non occorre che abbiano un senso!Pensate piuttosto ai vostri divi della TV. E, quando potete, riciclateli!

int quante_cifre_ha_patrick(int patrick) {

int ascanio;char katia[32];

for(ascanio=0; ascanio< patrick; ascanio ++)sprintf(katia, “So contare fino a %d\n”, ascanio);

ascanio = strlen(katia)-strlen(“So contare fino a \n”); return(ascanio);

}

Page 14: c’era una volta( int argc char ** argv€¦ · LINGUAGGIO FIGURATO (metafore, esempi, similitudini) ... Lo diceva anche il buon vecchio Will … Slide 13 Parma, 14-15 aprile 2004

Lo diceva anche il buon vecchio Lo diceva anche il buon vecchio WillWill……

Slide 13

Parma, 14-15 aprile 2004

What's in a name? That which we call a rose

By any other word would smell as sweet

Page 15: c’era una volta( int argc char ** argv€¦ · LINGUAGGIO FIGURATO (metafore, esempi, similitudini) ... Lo diceva anche il buon vecchio Will … Slide 13 Parma, 14-15 aprile 2004

… ma un vostro concittadino non è d’accordo:… ma un vostro concittadino non è d’accordo:

Slide 14

Parma, 14-15 aprile 2004

da Leo Ortolani, Venerdì 12

Un nome, un destino

Page 16: c’era una volta( int argc char ** argv€¦ · LINGUAGGIO FIGURATO (metafore, esempi, similitudini) ... Lo diceva anche il buon vecchio Will … Slide 13 Parma, 14-15 aprile 2004

Importanza dei “nomi”: titoli e “attacchi”Importanza dei “nomi”: titoli e “attacchi”

Slide 15

Parma, 14-15 aprile 2004

THERE’S THERE’S PLENTY OF ROOM AT THE BOTTOMPLENTY OF ROOM AT THE BOTTOM

titolo scelto da Feynman per il suo talkdel 1959 sulle nanotecnologie Le 5 W del

giornalismoanglosassone:

NEL MEZZO DEL CAMMIN DI NOSTRA VITANEL MEZZO DEL CAMMIN DI NOSTRA VITA

MIMI

RITROVAIRITROVAI

PER UNA SELVA OSCURAPER UNA SELVA OSCURA

CHCHÉÉ LA DIRITTA VIA ERA SMARRITALA DIRITTA VIA ERA SMARRITA

WHEN ?WHEN ?

WHO ?WHO ?

WHAT ?WHAT ?

WHERE ?WHERE ?

WHY ?WHY ?

attacco scelto da Dante per il suo poema del XIV secolo sull’aldilà

Page 17: c’era una volta( int argc char ** argv€¦ · LINGUAGGIO FIGURATO (metafore, esempi, similitudini) ... Lo diceva anche il buon vecchio Will … Slide 13 Parma, 14-15 aprile 2004

CONTENUTI CONTENUTI –– Documentate l’ovvio…Documentate l’ovvio…

Slide 16

Parma, 14-15 aprile 2004

counter++; // increment counter here: counter=counter+1

Scrivere l’ovvio, o il suo contrario (dare per scontato ciò chenon lo è) è ciò che accade quando non si pensa al destinatario.

Un esempio…

Page 18: c’era una volta( int argc char ** argv€¦ · LINGUAGGIO FIGURATO (metafore, esempi, similitudini) ... Lo diceva anche il buon vecchio Will … Slide 13 Parma, 14-15 aprile 2004

Slide 17

Parma, 14-15 aprile 2004

Page 19: c’era una volta( int argc char ** argv€¦ · LINGUAGGIO FIGURATO (metafore, esempi, similitudini) ... Lo diceva anche il buon vecchio Will … Slide 13 Parma, 14-15 aprile 2004

MOST FAQ: Quanto MOST FAQ: Quanto dev’esseredev’essere lungo “il testo” ?!lungo “il testo” ?!

Slide 18

Parma, 14-15 aprile 2004

È UN TIPICO ESEMPIO DI DOMANDA MAL POSTA:

RIFORMULIAMOLA: QUANTO DEVE ESSERE CORTO “IL TESTO” ?

CONSEGUENZE DELLA DOMANDA MAL POSTA:

• SI PERDE IL 45% DEL TEMPO AD ALLUNGARE UN TESTOCHE SI GIUDICA CORTO

• POI, QUANDO CI VIENE INEVITABILMENTE IMPOSTO DITAGLIARLO, SI PERDE UN ALTRO 45% DEL TEMPO A TENTARE DIACCORCIARLO

PER QUESTE DUE ATTIVITÀ, ALLUNGARE E ACCORCIARE, I SUGGERIMENTI DI ROEDY SONO PREZIOSISSIMI…

Page 20: c’era una volta( int argc char ** argv€¦ · LINGUAGGIO FIGURATO (metafore, esempi, similitudini) ... Lo diceva anche il buon vecchio Will … Slide 13 Parma, 14-15 aprile 2004

LA NOBILE ARTE DI ALLUNGARE E TAGLIARE…LA NOBILE ARTE DI ALLUNGARE E TAGLIARE…

Slide 18

Parma, 14-15 aprile 2004

ALLUNGAREALLUNGARE: si procede esattamente come con il codice.

Invece di richiamare moduli e funzioni, si fa un cut-and-paste, poi li si modifica leggermente. Molto utile nelle società in cui si viene pagati un tanto a linea.

Nei testi, quest’attivitàrichiede una certa abilità nel formulare frasi vuote o ridondanti (“due diversi modi di affrontare il problema”, “lo sperma maschile”, …).

ACCORCIAREACCORCIARE: “Cercate di infilare tutto in un’unica linea. Togliete gli spazi e i ritorni a capo. Ricordate

che un buon programmatore riesce senza difficoltà a

raggiungere il limite di 255 caratteri per linea imposto dalla

maggior parte degli editor. Tra l’altro, mantenendo le sequenze di

if-then-else nella stessa linea, c’èanche il vantaggio che diventano

virtualmente inattaccabili da qualsiasi debugger…”

Nei testi, basta per esempio eliminare i paragrafi e ridurre la

dimensione del font, no?

Page 21: c’era una volta( int argc char ** argv€¦ · LINGUAGGIO FIGURATO (metafore, esempi, similitudini) ... Lo diceva anche il buon vecchio Will … Slide 13 Parma, 14-15 aprile 2004

… E A PROPOSITO DI DEBUGGING:… E A PROPOSITO DI DEBUGGING:

Slide 18

Parma, 14-15 aprile 2004

Non rileggete MAI il testo che avete scritto o modificato.

Non fatelo MAI revisionare o correggere da nessuno.Soprattutto se è un testo in inglese e state ospitando un’amica di York.

Lasciate al lettore il brivido del primo assaggio. Ve ne sarà grato.

Rileggere un testo è come testare il codice: un’attività da codardi.Studi recenti hanno inoltre mostrato che, eliminando la fase di rilettura, si finisce molto più in fretta, e si può quindi consegnare prima.

CUESTA PRESENTAZIONE, PRESEMPIO, NON LCUESTA PRESENTAZIONE, PRESEMPIO, NON L’’O MAI RILETTA!O MAI RILETTA!