Newsgroup: it.cultura.libri
Titolo: programmare in prolog

 editore francongeli srl, Milano, 1996 (VI edizione)
/cut
Letto con gran piacere ed edificazione.
Molto interessante questa cosa di fare la recensione sopra un libro che
dovrebbe (dovrebbe) spiegare l'utilizzo di un linguaggio di programmazione.
Anch'io a suo tempo mi sono messo in quest'impresa; anzi, periodicamente
capita che abbia dei raptus di autoapprendimento informatico. Capita così
(so che magari non è una cosa interessante, me ne rendo conto): ad un certo
punto intravedo la linea di demarcazione che passa tra utilizzatore
(avanzato o power user) dello strumento ed artefice dello stesso. Per cui,
se il pc mi propone un ambiente all'interno del quale io posso fare delle
cose più o meno complesse, nello stesso tempo mi mette nella condizione di
essere consapevole del grado di personalizzazione di quell'ambiente.
Utilizzando la stessa materia con cui l'ambiente è stato costruito, posso
ampliare il range di possibilità dello strumento, posso fargli fare delle
cose "che voglio io". Interessante è che il fare in ambito informatico vede
la distanza tra il materiale di costruzione e l'ambiente (il prodotto
finito). Voglio dire, se fabbrico una cosa con il legno, alla fine vedo la
cosa e vedo il legno. Informaticamente parlando invece vedo l'applicativo ma
non vedo il linguaggio. Tra il linguaggio di programmazione e l'applicativo
cui esso dà luogo c'è non solo un salto che potremmo chiamare sintattico,
c'è anche un altro livello di realtà.
Nel momento in cui si vuole entrare nella logica del linguaggio, quindi
pentrare nella materia informatica, avvicinarsi al "fare", ecco che si va
come all'indietro da un livello di realtà all'altro, da una sintassi
all'altra. E se l'ambiente è user friendly, il linguaggio (di
programmazione) del fare non è tenuto a nessuna socievolezza.
Interessante è notare che la valenza semantica del codice è talmente aliena
e chiusa in se stessa che cercare di decrittarla attraverso le logiche del
linguaggio comune finisce con l'essere un processo di contaminazione che dà
luogo ad un terzo livello linguistico: il codice, il linguaggio comune e il
linguaggio comune piegato alla logica del codice.
Ed è, per quanto mi riguarda, un processo strisciante. Di solito infatti
quando si comincia a leggere un manuale di programmazione ci si sente
rassicurati, ai primi approcci. Ci si sente rassicurati dall'amichevolezza
della forma del linguaggio comune, la quale si approssima al codice con la
massima permeabilità. In questa permeabilità all'inizio tu vai passo passo,
al punto che sei convinto di poter capire tutto e di poter fare, sempre
passo passo, un percorso logico (all'indietro, dall'ambiente alla materia
dell'ambiente) che ti consente di impadronirti della possibilità di
ripartire subito dopo in avanti, costruire parti dell'ambiente user friendly
a misura delle tue necessità.
Ma difficilmente va così, a meno che tu non provenga da un retroterra che
già è padrone di certe logiche codificate. Diversamente tu, anche power
user, ti allontani dal linguaggio corrente e non ti avvicini mai a
sufficienza a quello di programmazione. Rimani in una zona grigia
psicologicamente interessante, ove la comunicazione è pertinenza dei
linguaggi "insicuri", e si rapporta ad oggetti "minacciosi".
Curiosa sarebbe una realtà nella quale si misurano le cose sulla base di una
lingua nativa che potrebbe essere, per non volare bassi, il C++.
Interessante a livello sperimentale, poi, dal C++ nativo mettersi nei pressi
dell'italiano corrente, anzi, per restare alle stesse altezze, ad un
italiano "colto" per apprenderne le logiche interne. Infine nella fissione
del procedimento esplodere sintatticamente come un tricchetracche a
Spaccanapoli.
--
- Vuoi che mi giri?
- No ferma così, altrimenti sparisce telemontecarlo.
(from trans il vano lj)
--------------------------------
Inviato via 
http://arianna.libero.it/usenet/

 Spaccanapoli.
Cioи tu in pratica stai dicendo che sarebbe interessante provare a
scrivere un testo letterario utilizzando gli statement e la struttura dei
linguaggi informatici?
Federico
http://www.geocities.com/ilibrintesta
http://xoomer.virgilio.it/fedplata
-- 
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it

 linguaggi informatici?
No, non penso alla letteratura, penso piuttosto ad un processo culturale,
per quanto il mio esempio sia manifestamente paradossale. Ma se restassimo
nel paradosso ancora per un po', si potrebbe dire che in un mondo nel quale
si parla il C++ probabilmente non si scriverebbero storie o saggi.
Probabilmente non ci sarebbero gli uomini per come li conosciamo.
--
"nella sala d'attesa hai baciato i grandi
hai spazzato via gli anni come fossero briciole"
(Filippo Gatti e Bruno Lauzi - "La memoria libera")

 Ma è un casino...è un casino proprio.
/cut
Qualche tempo fa vidi da qualche parte un divertente esempio che
mostrava come il classico programma di visualizzazione della stringa
"Hello Word!" potesse complicarsi da una semplice riga di codice a un
mostruoso listato di un par di decine di pagine. La filosofia della
programmazione ad oggetti è una strada molto comoda ed utile per
gestire nascondere e in un certo senso mantenere al di sotto di una
certa soglia di accettabilità, la complessità e l'inevitabile entropia
di un progetto. La leggibilità dei codici OOP è però imho un concetto
moooolto relativo in quanto, benchè lo scheletro dei linguaggi cui fai
riferimento (Java, C++) sia costituito da lemmi comuni (open, close,
ecc.ecc), la comprensione di un progetto richiede uno "sguardo
d'insieme" che va al di là della semplice lettura sequenziale, e
spesso strumenti grafici di supporto.
Almeno per come la vedo io, che ci bestemmio sopra every day.
CalMa

 moooolto relativo [...]
Questo sì. Però direi che dal post cui hanno dato vita Venerandi e Zerneri
si evincono due concetti che condivido e che sono:
1) - I manuali di informatica sono un'esempio di cattiva editoria: costano
troppo, sono scritti male e, in genere, quando li si è finiti di leggere,
il loro contenuto è già obsoleto. L'informatica si impara sul campo (al
più su internet);
2) - I linguaggi di programmazione sono delle vere e proprie lingue, con
una loro sintassi, un loro lessico e in certi casi - ma tralascio gli
esempi - i loro dialetti. Non si ha notizia, tuttavia, di studi
glottologico-filologico-semiologico-linguistici riguardanti gli stessi.
Magari Fab e Dam tutto volevano dire tranne che questo ma io sì.


 si evincono due concetti che condivido e che sono:
/cut
Io mi dovrei anche scusare: sono stato atrocemente prolisso e fors'anche un
po' confuso in queste mie esposizioni.
Sarà la veglia. Chiedo scusa.

 glottologico-filologico-semiologico-linguistici riguardanti gli stessi.
non mi meraviglierei se esistessero...

 moooolto relativo [CUT]
A tal proposito ("Hello World" e OOP), capita a cecio l'articolo pubblicato
il mese scorso su "Communications of the ACM" (volume 46, issue 10):
"On pseudo object-oriented programming considered harmful" a firma di
Cong-cong Xing e Boumediene Belkhouche
che trae spunto dall'articolo:
Westfall, R. "Hello World considered harmful." Commun. ACM 44, 10 (Oct.
2001), 129-130.
il cui titolo è tutto dire...
(chi fosse interessato alla lettura dell'articolo completo mi scriva in
privato, visto che non è di pubblico dominio)

 approfondisce sul campo.
Ah, ah, ah! Buona questa!
Come? Non stavi scherzando?
Oh, beh, allora...
No, ma aspetta, davvero non stavi scherzando?
...
Ah!
Ah, ah!
Oddio mi sento male!
Ah, ah ah! Ah! Ah ah ah ah ah ah ah ah ah! Ah! Ah... etc.
Federico
(con lacrime agli occhi e pancia che tira per le gran risa).
P.S.: ma dì un po', sarai mica un ingegnere? No, aspetta, non rispondere o
rischio di lasciarci la pelle dalle risate. Ah, ah, ah! etc.


 Oh, beh, allora...
ebbene sì, non stavo scherzando.
per me informatica è la _scienza_ che si studia all'università... se per te
informatica è programmare, navigare in internet, scrivere con word, allora
imparala pure sul campo.

 Oh, beh, allora...
platania, vola basso sennň ti licenziano.

 platania, vola basso sennň ti licenziano.
Sei OT.
Federico
