[rosedu-general] Despre ce inseamna limbaj, metafora si... programare :).

Adrian Scoica adriansc at rosedu.org
Wed Aug 24 08:18:25 EEST 2011


Vroiam sa impartasesc un articol dragut pe care l-am citit recent.

Cu totii stim deja ca toate paradigmele de programare sunt
Turing-echivalente, si ca limbajul in sine este doar o simpla
codificare pe diferite criterii.

Avem mai multe limbaje, pentru ca fiecare dintre ele optimizeaza ceva
(putem sa ne gandim ca gramatica unui limbaj functioneaza ca un fel de
compresie Huffman... vrei ca propozitiile scurte sa exprime concepte
uzuale, si propozitiile lungi sa exprime concepte mai rar intalnite in
universul problemei). Asa cum compresia Huffman functioneaza pe un
corpus de date, si limbajele sunt specializate pentru un tip anume de
probleme.

In programare de obicei suntem obisnuiti sa privim limbajele ca fiind
ceva rigid cu interpretare neambigua. Nu prea da bine atunci cand
outputul unui compilator nu este determinist :)).

Totusi, nu ar trebui sa uitam si de un concept NP-Complet deosebit de
important atunci cand discutam limbajele in general... metaforele :).
O metafora este o constructie a unui limbaj care poate avea sensuri
multiple, in functie de context (nu trebuie confundate totusi cu
propozitiile limbajelor dependente de context).

Daca receptorul primeste suficiente informatii astfel incat sa
prioritizeze sensurile in ordinea in care le-a intentionat
emitatorul... atunci sensul descifrat este cel intentionat. Altfel,
receptorul va alege ca fiind probabila o alta interpretare, lexical
corecta (!!), a propozitiei.

Metaforele nu prea au ce cauta in inginerie, dar totusi ele fac lumea
mai frumoasa pentru ne pun sa gandim. Cele mai bune glume creaza
asociatii subtile care rastoarna interpretarile precedente sau
previzibile ale altor propozitii.

Acestea fiind zise, vroiam sa impartasesc cu voi un link[0] destul de
interesant despre cum se pot descrie "metaforic" probleme geometrice
in limbajul meu de suflet (ati ghicit... C++ :)) ) desenand literalii
semantici in codul sursa prin ASCII-art (cu un oarecare efect vizual
de 3D, as putea adauga).

Mi se pare nu numai un miracol ca acest cod compileaza, dar si ca este
corect :)). Cel putin, eu m-am distrat mult incercand sa il inteleg
:D.

Enjoy,
   Adrian.

[0] - http://weegen.home.xs4all.nl/eelis/analogliterals.xhtml


More information about the rosedu-general mailing list