[Flug] Voi che ci capite a pacchi: mysql

Gian Uberto Lauri saint@eng.it
Mer 19 Mar 2014 12:38:46 CET


Massimiliano Masi writes:
 > Ciao, 
 > 
 > Il giorno 19/mar/2014, alle ore 10:29, Gian Uberto Lauri <saint@eng.it> ha scritto:
 > > 
 > > Cominciamo col fatto che aggiungi strati di codice (ovvero strati di 
 > > terreno di coltura per bug), che se metti più macchine cominciano ad
 > > esserci questioni da calibrare bene a livello architetturale, che devi
 > > stare bene attento a cosa sbatti in sessione...
 > 
 > Ascolta, anche se tu lo fai in F# (il linguaggio piu' brutto che conosca)
 > tu devi garantire reliable messaging... 

Spiegati meglio.

 > E no invece! Non mi interessa nemmeno se programo in C! 

Errore. Ed anche grave. Non viviamo nel mondo della lavagna.

Non dico di arrivare a sapere dove e come ti verrà invalidata la
pipeline del processore[1], ma sapere cosa accade come oggetti
allocati et similia è dannatamente doveroso.

Piccolo quiz: hai un array di integer, ne devi caricare alcuni nei
registri (meglio avere un RISC, che con gli Intel e Intel-derivati hai
pochi registri). I dati li leggi per indirizzi crescenti o
decrescenti?

[1] almeno oggi, visto che è possibile l'esecuzione fuori ordine ed il
riordino  delle  istruzioni  assembler,   però  ai  tempi  del  Duff's
Device...

 > In che maniera l'hai vista? Io iniziai nel 1992 in basic,

Nel 92 probabilmente ci arrivò il primo compilatore C++ sul BBS di
dipartimento (il software del nostro BBS era... Unix).

Negli anni precedenti vidi passare da Pascal a Modula 2 per migliorare
l'incapsulamento.

 > venne poi Java (ovviamente non ho mai visto né ADA, né
 > Smalltalk). All'inizio non ci capii nulla, la vedevo come
 > un'inutile esercizio (perché pensare ad un oggetto Animale e un
 > Oggetto CANE??? Ma che bestia sei???)

Infatti. Quando poi capii che "classe => tipo con metodi che
permettono di manipolare gli oggetti di quel tipo in modo determinato
(incapsulamento) e non alla selvaggia.

 > Poi lessi il libro di Mr. Meyer, e il Meillir-Page-Jones. E da li
 > (era il 2002) partì tutto il mio amore per questa OOP, fatta tutta
 > di tubi e connettori.
 > 
 > L'apice della goduria lo toccai ad un ciclo di seminari di
 > dottorato del Dr. Meyer dove ci ha catechizzato sulla
 > programmazione per contratto

Oggi  oramai Java  è abbastanza  bravo da  non fare  perdere tempo  se
invece di una invokevirtual se non hai variabili volatili. Altrimenti
evitare l'estremismo di usare le interfacce localmente...

 > > Non è il linguaggio o la tecnica a permettere la manutenibilità o meno.
 > > E se lo standard di qualità non prevede i puntatori non è colpa dei
 > > puntatori.
 > 
 > Certamente invece! Con i puntatori, come fai a fare analisi statica
 > del codice?

Vieni a lavorare con me, vieni a lavorare con me. Che ti mostro come la OOP
NON ti salva.

 > > Il problema nasce dalla cattiva organizzazione del lavoro e nell'uso di
 > > personale non sufficientemente competente.
 > 

 > No. Ci sono concetti di linguaggi error prone. E' anche vero che è
 > una teoria datata, visto anche gli arrosti che fecero coi linguaggi
 > di 4 livello.

È  l'uomo  a fare  gli  errori,  è l'uomo  che  scrive  il codice.  Un
linguaggio è error prone se  richiede all'uomo di essere migliore (più
attento, più disciplinato). 

Ora cosa è veramente error prone? Accettare che lavorino le scimmie o
richiedere che la gente *sappia* fare il suo lavoro?

 > > http://www.paulgraham.com/lisp.html
 > > 
 > 
 > All'università ho fatto tanto lisp e tanto prolog.

Spesso mi obbligarono a fare una cosa, non mi dissero a cosa serviva e
la odiai. Poi mi resi conto che presentata in modo diverso e senza
l'obbligo molte cose le avrei guardate in modo diverso.

Quando sarebbe toccato a me fare LISP, il LISP ancora non ce lo
potevamo permettere. Quindi andarono avanti certi luoghi comuni...

Anni dopo, arrivarono le macchine che potevano supportare il vero
Emacs.

All'inizio la sua configurazione mi risultò strana. Poi mi ci abituai.
Anzi, cominciai a vedere un nuovo modo di pensare.

Senza contare l'illuminazione di vedere il sistema darti informazioni
sulla funzione +...

Quindi oggi l'affermazione del mio collega di studi (la cui stima va
come 1/t) che parlava felice di una applicazione LISP buttata via in
favore di una applicazione C++ mi fa solo pensare ad una applicazione
LISP scritta molto molto molto male.

-- 
 /\           ___                                    Ubuntu: ancient
/___/\_|_|\_|__|___Gian Uberto Lauri_____               African word
  //--\| | \|  |   Integralista GNUslamico            meaning "I can
\/                 coltivatore diretto di software       not install
     già sistemista a tempo (altrui) perso...                Debian"

Warning: gnome-config-daemon considered more dangerous than GOTO


Maggiori informazioni sulla lista flug