Epigrams in Programming (cit)

Massimo Ghisalberti - codexpo.org

12 Ottobre 2019 - AmareMatica 2019, Perugia

Created: 2019-10-12 lun 12:12

Chi è questo simpatico signore?

perlis.gif

Alan J. Perlis

  • 1 Aprile 1922 - 7 Febbraio 1990
  • (1943) bachelor's degree in chimica, (1949) master's degree e (1950) Ph. D. in matematica.
  • Pioniere dei linguaggi di programmazione (ALGOL)
  • 1966, vincitore del primo Premio Turing: Per la sua influenza nell'area delle tecniche di programmazione avanzata e per la costruzione di compilatori. ACM

1. One man's constant is another man's variable.

La costante di un uomo è la variabile di un'altro (uomo).

Epigrams in Programming (ACM 1982) ovvero Le Perle di Perlis

3. Syntactic sugar causes cancer of the semi-colons.

Lo zucchero sintattico causa il cancro dei punto e virgola.

7. It is easier to write an incorrect program than understand a correct one.

È più facile scrivere un programma non corretto che capirne uno corretto.

8. A programming language is low level when its programs require attention to the irrelevant.

Un linguaggio di programmazione è di basso livello quando i suoi programmi richiedono attenzione all'irrilevante.

11. If you have a procedure with 10 parameters, you probably missed some.

Se hai una procedura con dieci parametri probabilmente te ne sei dimenticato qualcuno.

14. In the long run every program becomes rococo - then rubble.

Alla lunga ogni programma diventa arzigogolato poi crolla.

16. Every program has (at least) two purposes: the one for which it was written and another for which it wasn't.

Ogni programma ha (almeno) due scopi: quello per cui è stato scritto e l'altro per cui non lo era.

17 If a listener nods his head when you're explaining your program, wake him up.

Se un ascoltatore annuisce quando gli spieghi il tuo programma, sveglialo.

19. A language that doesn't affect the way you think about programming, is not worth knowing.

Un linguaggio che non influisce sul modo in cui pensate alla programmazione, non vale la pena di conoscerlo.

24. Perhaps if we wrote programs from childhood on, as adults we'd be able to read them.

Forse se scrivessimo programmi dall'infanzia in poi, da adulti saremmo in grado di leggerli.

27. Once you understand how to write a program get someone else to write it.

Una volta che hai capito come scrivere un programma fai in modo che qualcun altro lo scriva.

33. The 11th commandment was "Thou Shalt Compute" or "Thou Shalt Not Compute" - I forget which.

L'undicesimo comandamento fu Tu computerai o Tu non computerai - Ho dimenticato quale.

34. Everyone can be taught to sculpt: Michelangelo would have had to be taught how not to. So it is with the great programmers.

A tutti può essere insegnato a scolpire: a Michelangelo si sarebbe dovuto insegnare come non farlo. Lo stesso vale per i grandi programmatori.

36. The use of a program to prove the 4-color theorem will not change mathematics - it merely demonstrates that the theorem, a challenge for a century, is probably not important to mathematics.

L'uso di un programma per dimostrare il teorema dei 4 colori non cambierà la matematica, ma semplicemente dimostrerà che il teorema, una sfida per un secolo, probabilmente non è importante per la matematica.

(La definitiva dimostrazione del teorema è stata fornita nel 1977 da parte di K. Appel e W. Haken (Università dell'Illinois), con un complesso algoritmo informatico.)

37. The most important computer is the one that rages in our skulls and ever seeks that satisfactory external emulator. The standardization of real computers would be a disaster - and so it probably won't happen.

Il computer più importante è quello che infuria nei nostri teschi e cerca sempre quel soddisfacente emulatore esterno. La standardizzazione dei computer reali sarebbe un disastro - e quindi probabilmente non accadrà.

38. Structured Programming supports the law of the excluded muddle.

La programmazione strutturata supporta la legge del guazzabuglio escluso.

40. There are two ways to write error-free programs; only the third one works.

Ci sono due modi per scrivere programmi senza errori; solo il terzo funziona.

45. The goal of computation is the emulation of our synthetic abilities, not the understanding of our analytic ones.

L'obiettivo del calcolo è l'emulazione delle nostre capacità sintetiche, non la comprensione di quelle analitiche.

45. The best book on programming for the layman is "Alice in Wonderland"; but that's because it's the best book on anything for the layman.

Il miglior libro sulla programmazione per profani è "Alice nel paese delle meraviglie"; ma è perché è il miglior libro su qualsiasi cosa per i profani.

51. Bringing computers into the home won't change either one, but may revitalize the corner saloon.

Portare i computer in casa non cambierà nessuno dei due, ma potrebbe rivitalizzare l'angolo della sala.

58. Fools ignore complexity. Pragmatists suffer it. Some can avoid it. Geniuses remove it.

Gli sciocchi ignorano la complessità. I pragmatici ne soffrono. Alcuni possono evitarla. I geni la rimuovono.

63. When we write programs that "learn", it turns out we do and they don't.

Quando scriviamo programmi che "imparano", si scopre che noi lo facciamo e loro no.

67. Think of all the psychic energy expended in seeking a fundamental distinction between "algorithm" and "program".

Pensate a tutta l'energia mentale spesa nella ricerca di una distinzione fondamentale tra "algoritmo" e "programma".

69. In a 5 year period we get one superb programming language. Only we can't control when the 5 year period will begin.

In un periodo di 5 anni otterremo un linguaggio di programmazione superbo. Solo che non possiamo controllare quando inizierà il periodo di 5 anni.

70. Over the centuries the Indians developed sign language for communicating phenomena of interest. Programmers from different tribes (FORTRAN, LISP, ALGOL, SNOBOL, etc.) could use one that doesn't require them to carry a blackboard on their ponies.

Nel corso dei secoli gli indiani hanno sviluppato una lingua dei segni per comunicare fatti interessanti. I programmatori di diverse tribù (FORTRAN, LISP, ALGOL, SNOBOL, ecc.) potrebbero usarne uno che non richieda loro di portare una lavagna sui loro pony.

75. Because of its vitality, the computing field is always in desperate need of new cliches: Banality soothes our nerves.

A causa della sua vitalità, il campo informatico ha sempre un disperato bisogno di nuovi cliché: la banalità sopisce i nostri nervi.

78. If your computer speaks English it was probably made in Japan.

Se il tuo computer parla inglese, probabilmente è stato realizzato in Giappone.

79. A year spent in artificial intelligence is enough to make one believe in God.

Un anno passato nell'intelligenza artificiale è abbastanza per far credere in Dio.

80. Prolonged contact with the computer turns mathematicians into clerks and vice versa.

Il contatto prolungato con il computer trasforma i matematici in impiegati e viceversa.

81. In computing, turning the obvious into the useful is a living definition of the word "frustration".

In informatica, trasformare l'ovvio in utile è una definizione vivente della parola "frustrazione".

87. We have the mini and the micro computer. In what semantic niche would the pico computer fall?

Abbiamo il mini e il micro computer. In quale nicchia semantica cadrebbe il pico computer?

93. When someone says "I want a programming language in which I need only say what I wish done," give him a lollipop.

Quando qualcuno dice "Voglio un linguaggio di programmazione in cui devo solo dire quello che desidero fare", dagli un lecca-lecca.

97. When a professor insists computer science is X but not Y, have compassion for his graduate students.

Quando un professore insiste che l'informatica è X ma non Y, abbiate compassione per i suoi studenti laureati.

101. Dealing with failure is easy: Work hard to improve. Success is also easy to handle: You've solved the wrong problem. Work hard to improve.

Affrontare i fallimenti è facile: lavorare sodo per migliorare. Anche il successo è facile da gestire: hai risolto il problema sbagliato. Lavora sodo per migliorare.

108. Whenever two programmers meet to criticize their programs, both are silent.

Ogni volta che due programmatori si incontrano per criticare i loro programmi, entrambi tacciono.

120. Adapting old programs to fit new machines usually means adapting new machines to behave like old ones.

Adattare i vecchi programmi alle nuove macchine di solito significa adattare le nuove macchine a comportarsi come quelle vecchie.

If there are epigrams, there must be meta-epigrams.

  1. Epigrams are interfaces across which appreciation and insight flow.
  2. Epigrams parameterize auras.
  3. Epigrams are macros, since they are executed at read time.
  4. Epigrams crystallize incongruities.
  5. Epigrams retrieve deep semantics from a data base that is all procedure.
  6. Epigrams scorn detail and make a point: They are a superb high-level documentation.
  7. Epigrams are more like vitamins than protein.
  8. Epigrams have extremely low entropy.
  9. The last epigram? Neither eat nor drink them, snuff epigrams.

Programmare è poesia?

fine

Licenza Creative Commons Quest'opera è distribuita con Licenza Creative Commons Attribuzione - Non commerciale - Non opere derivate 4.0 Internazionale.