i linguaggi, era Re: [Soci SLIP] linguaggio Sass

llcfree llcfree a gmail.com
Ven 16 Nov 2012 17:25:46 CET


On Fri, 2012-11-16 at 14:28 +0100, Lucio Crusca wrote:
> Per tutti voi, ex programmatori di basic procedurale e simili, che come me 
> negli anni '90 sono stati catapultati inermi nei paradigmi object oriented, 
> per poi essere ricacciati nei più bui meandri della programmazione non 
> strutturata con l'esplosione del web attorno al 2000; sì per voi, che di notte 
> sognate un normale ciclo for come un dolce ricordo dell'infanzia felice; per 
> voi a cui il solo sentir parlare di CSS fa aumentare involontariamente i 
> battiti e la sudorazione; per voi della vecchia scuola, a cui cadono le p...e 
> quando constatate che un moderno linguaggio come CSS3 l'hanno inventato senza 
> prevedere l'esistenza delle VARIABILI, ecco soprattutto per voi ultimi, 
> segnalo questa mia scoperta che credo potrà cambiarci la vita e farci tornare 
> felici come da bambini, quando lasciavamo volare le nostre dita sulla tastiera 
> di un commodore 64:
> 
> http://sass-lang.com
> 
> (in poche parole è un CSS3 a cui hanno aggiunto variabili e macro, in modo da 
> non dover scrivere 200 volte il codice colore che ci serve o il float: left e 
> margini vari).
> 
> Già sento Loredana che prenderà spunto dal mio delirante incipit per 
> peggiorare (simpaticamente) la situazione...

Simpaticamente non son capace... prosaicamente, forse ... Bisogna che mi
eserciti... l'incipit era molto leggero, quello che segue, un
mattone ... Al contrario dei miei vicini di casa che urlano e mi
impongono le loro urlate attraverso i muri, pero', almeno scrivere e'
silenzioso e non c'e' nessun obbligo di leggere. Qualcuno sara' gia'
stanco e puo' smetter qui.

Nota storica personale: io ho riimparato il fortran una volta sola, il C
tre o quattro volte nella mia (ex) vita di programmatore (una per ogni
volta che mi e' di nuovo servito), il perl l'ho imparato in una
settimana quando mi e' servito, html in mezz'ora, java l'ho saltato a
pie' pari, xml l'ho visto da subito come il fumo negli occhi, css non ci
sono neanche arrivata, anche se non mi lascio spaventare da cose come
name space, tipi che riaffiorano come invenzioni nuove e cosa vuoi mai
che sia un tag. Per non parlare di banche dati. Giraci intorno quanto
vuoi, quello sono e quello restano. 

Per le animazioni e i video, quando ho capito che non erano altro che
immagini una dopo l'altra, e che tutto il casino veniva dopo solo
perche' le comprimevano e infilavano dentro contenitori vari,
guardandosi bene dal dirti cosa usare per decodificare quel macello, ho
smesso di fare il tifo se non per i formati liberi (ma esistono? Si', lo
so theora  bla bla ma esite chi produca CONTENUTI in formato libero, a
parte i soliti noti? E tutti i sostenitori del libero che fanno?). 
Dunque, riassumenso: non sono windows, mac, GNU/linux, debian, ubuntu
etc etc a funzionare o no. Sono quelli che usano i codec (codici) e
implementano i decoders (decodificatori) a decidere per te, quello che
devi o non devi comprare. E siccome si danno delle botte da orbi tra di
loro a suon con quello il mio video non lo vedi, al mio giochino non ci
giochi, il povero utente/cliente a cui nessuno dice quale sia il vero
problema puo' solo piu' fare il tifo, e comprare comprare comprare nella
vana speranza che poi finalmente per un po piu' di un anno il tutto
funzioni. Questo, se di meglio non sa. Almeno che questo sia chiaro, e
vale per tutti i formati. Non e' open office prima e libre office adesso
che fa schifo, e' che il formato del documento non e' standard ed e' un
giochino da nulla modificarlo perche' poi "non funzioni" piu' il
software libero di turno. Non sapendo/capendo, se non funziona il
lettore pdf o quando niente video su youtube allora si pensa che non
funziona linux, l'intera distribuzione (vedi debian verso ubuntu), la
release per i piu' sofisticati e chi piu' ne ha piu' ne metta. Certo e'
difficile che il cliente, l'unico che non si puo' licenziare e che conta
un pochino nel mercato, visto che e' 'quello che paga, faccia qualcosa
di sensato, a questo punto. Reclamando, ad esempio, qello che sarebbe un
suo sacrosanto diritto avere. Ma se non sa cos'e'?

Io ho praticamente smesso di programmare, si puo' dire. Prima,
ovviamente, mi sono fatta almeno due dozzine dei vari linguaggi, di cui
mi sono rimaste reminescenze ancora accessibili e qualche volta usate
dei piu' logici: pascal, fortran, lisp, matlab/octave e perl (giusto
giusto perche' per certe cose va bene e allora ci torno). Se serve
qualcosa, si vede cosa serve e si impara.

html lo possono imparare tutti tutti i momenti ed e' per questo che il
web e' esploso: lo hanno imparato e cominciato ad usare in tanti, cosi'
finalmente producendo contenuti anziche' bevendosi quelli
preconfezionati. Come linguaggio, una vera porcheria, ma come mezzo,
davvero eccezionale. Viva html. Tutto in chiaro, semplice, tollerante,
per tutti. La struttura di rete c'era gia', html l'ha resa visibile e
l'ha messa a portata di mano di tutti. Quello che e' successo, si e'
visto. La chiamerei una rivoluzione economica. 

Qgni tanto, per qualche ragione, mi leggo un pezzo di programma vuoi in
python o altro e credo proprio di capirlo senza aver mai imparato a
programmare in python. Basta che abbia una struttura (dati e di
programma) e tutto diventa riconoscibilissimo. 

Certo che se la generazione del web anche in Italia finalmente esiste ed
e' celebrata solo perche' si compra l'ipad e va su facebook, qualche
dettaglio si perde... e un po' di fatica a capirsi la si fa. Cioe', io
credo di capirli, ma loro come potrebbero mai capire quello che proprio
non ci tengono a sapere? Che una parte del mondo si e' inventata tutto,
mentre qui si crescevano intere generazioni a suon di grande fratello? E
mica perche' siam scemi, vedi arduino, vedi chi sviluppa e produce.
Proprio solo perche' quando non si fa o si fa altro, altro succede.

Conosco tutti i modelli di programmazione (a oggetti, funzionale bla bla
bla), ma essendo partita dalla macchina universale di Turing mi e'
sempre rimasto ben impresso nella mente che ogni linguaggio non fa che
calcolare le stesse funzioni che calcola la macchina universale di
Turing, non una di piu' non una di meno. Quelle teoricamente non
calcolabili sono le stesse per la macchina di Turing e per la diavoleria
piu' moderna. Questo schiarisce alquanto le idee, almeno a me. E' solo
una questione di comodita', quale linguaggio scegliere. Come diceva
Hofstadter, il linguaggio che usi ti porta in uno spazio di problemi per
cui quel linguaggio facilita la soluzione. In questo senso, e' davvero
importante scegliersi, in programmazione e sempre, lo strumento giusto. 
[Non so quali problemi si riescano a risolvere con i monosillabiti degli
sms e con i click, ma non dubito che ce ne siano.]

Da un punto di vista delle licenze, tutte le volte che guardo un file
xml mi rendo conto che ci hanno fregati (nel senso che diceva Vitali al
gfoss, per chi c'era). Passando dal procedurale al dichiarativo ci siamo
infilati dritti dritti su' per le scale della torre di Babele. Adesso i
pezzi da difendere come liberi sono due (il motore e il file che lo
guida, che ognuno si scrive come vuole) e percio' e' facilissimo farne
sparire uno, di pezzo, continuando a sostenere di essere open, liberi e
bla bla bla. E quando te lo danno senza spiegarti che diavolo sono i
tag? E' persino un file di testo, Loredana, cosa vuoi di piu'? Chi vuoi
che se ne accorga che ne manca un pezzo, se non chi sa che dovrebbe
esserci? E chi e' che sa? Percio': chi puo' mai difendere quello che
neppure sa esistere? E ci si stupisce se si finisce per indietreggiare?
Che sia piu' quello il problema, con annessa possibile soluzione, che
non i brutti e cattivi che sempre, per definizione, ci portano via la
felicita' e contro cui quello bravo di turno ci aizza?

Per Lucio e i nostalgici: con'era bello avere 3 dicasi 3 strutture di
programmazione con cui fare tutto: sequenza, if then else, ciclo repeat
(o while, per chi preferisce). Variabili e tipi. Le funzioni. Tanto ci
bastava, ma quello non ce lo toglieva nessuno. Si poteva insegnare e si
poteva imparare. Adesso si implora e si gioisce perche si hanno le
VARIABILI???

Nessuno avrebbe potuto non capire quando i concetti di programmazione e
le strutture dati si spiegavano in pascal. C'era persino un teorema di
Jacopini-Bohm che dimostrava che con quelle tre strutture di cui sopra
si potevano scrivere TUTTI i programmi. E che programi ricorsivi o
iterativi erano equivalenti (piacere tuo se far morire una macchina con
eleganti chiamate ricorsive o risolvere il problema in modo efficiente
con un programma iterativo, gli esteti non sono mai mancati). Parliamo
di programmi strutturati, appunto, cioe', con una struttura
intelligibile. Quella tanto difficile da capire, per intenderci, da cui
il popolino e i bambini devono stare alla larga, perche' sanno al piu'
pigiare due o tre tasti uno dietro l'altro, se si ricordano la sequenza
e non gli spostano le icone. Signori e bambini, se ascoltate me, mandate
chi vi crede deficienti a quel paese. Lui/lei vi sta fregando e voi non
lo siete, deficienti (senza contare che potreste pero' diventarlo, non
deficienti, ma frustrati e isterici, cercando dove vi hanno nascosto il
tastino o perche' il video non si vede piu' se fino a ieri si vedeva e
perche' il pdf non si stampa e la stampante con windows 7 non funziona
piu' etc etc).

Mi fido di Lucio quando dice che sass supera  vari limiti, ma non avendo
esperienza diretta non mi pronuncio. Certo che se il resto non ha le
variabili ..., poco ci vuole a fare un pochettino meglio. Almeno le
variabili ...., dichiaratico o procedurale che sia, ma che sia un
linguaggio.
Anche se non lo conosco, credo di capire di cosa parla Lucio. Anche se
quando ho letto sass, confesso, ho pensato al vecchio programma di
statistica, ma quello si chiamava sas. La memoria vacilla, l'errore e'
in agguato, leggetemi con grano salis. Di linguaggi, come di tutto il
resto, ce ne sono troppi.

Nota di colore: al gfoss c'e' stata un'interessantissima e illuminante
storia dei cellulari, fino a ipad e android. Non chiedete a me, mentre
l'ascoltavo me la ridevo da me: io li ho saltati tutti, ma la storia mi
fa piacere che sia stata cosi' ben riassunta. Faccio fatica a tenere a
bada il vecchio nokia, che difatti sta spento la maggior parte del tempo
per dissuadere i telefonatori folli istigati dalle offerte continue che
non ti lasciano piu' un minuto di pace per pensare, magari anche solo ai
fatti tuoi, o per parlare in pace con qualcuno senza interruzioni.
Comunque, vedendo la sfilata dei modelli, mi sono chiesta cosa avrei
eventualmente scelto: probabilmente il nokia, vuoi n95 o quello di
Alessandro P., ma non ci sono gia' piu'... Chi si fida a raccomandare un
solo modello che, da qui a due anni, funzioni ancora, non sia limitato
etc etc? Chi potrebbe giurare che quello che oggi e' cosi' liberissimo
da farci girar la testa che domani 1) ci sara' ancora, 2) sara' ancora
cosi?

Dove stanno i coerentoni dell'abbasso gli sprechi, viva l'ambiente?
Qualcuno ha idea del cumulo di detriti che si producono? [A proposito,
dove stanno quelli dell'ambiente mentre noi che non ce ne occupiamo
bolliamo nelle case e nei luoghi pubblici? E suggerire alla gente di
smetterla di pensare ai grandi sistemi giusto il tempo necessario per
rendersi conto che si spreca piu' energia con le finestre aperte e il
riscaldamento a manetta di quanta se ne potrebbe risparmiare con tutte
le valcole termostatiche del mondo? Li' basta un termometro, per
capire.]

Qualcuno potrebbe dire, ma se mi sono fermata a poco dopo il pascal, con
quale diritto, come faccio a parlare/scrivere di tutto e ad azzeccarci
pure con le previsioni ogni tanto? Perche' e' semplice riconoscere al
volo, quando se ne sono viste e, soprattutto, fatte tante, non si hanno
interessi personali e si hanno invece le idee chiare di cosa serva (a me
e a  moltissimi). Quaggiu', al riparo di tutto il chiasso lassu', si
vede piuttosto nitidamente (parte di) quel che e' stato e si immagina
(parte di) quel che sara'. E poi succede ormai cosi' pericolosamente in
fretta che le previsioni le possiamo verificare tutti, senza aspettare
generazioni. Basta una memoria un tantino piu' che a breve termine.
Certo quella ci vuole. Per l'usa e getta no, ma per capire un pochino di
piu' si'.

Loredana








Maggiori informazioni sulla lista Soci