2011/9/1 Tiberiu C. Turbureanu <[email protected]>: [...] Conținutul lor >>>> era format exclusiv din paranteze închise.
Paranteze _inchise_? Daca singurul caracter pe care il aveau la dispozitie este paranteza inchisa, atunci este imposibil sa definesti un limbaj de programare cu el. O masina turing are nevoie de cel putin doua simboluri. > După parantezele care închid blocuri sigur *nu* > poți să îți dai seama despre ce limbaj din Războiul Rece este vorba, fie ele > rotunde, acolade sau pătrate [1]. Nu cred ca foile erau acoperite de paranteze care inchid blocuri, pentru ca altfel ar fi fost si respectivele blocuri. Tot ce aveau oamenii aia la dispozitie erau paranteze. Daca ai _cel putin_ doua paranteze, atunci poti scrie cu ele o infinitate de limbaje. De exemplu: ( == 1 si ) == 0 Cu astea poti sa scrii direct in cod masina, sau sa "spell out" ASCII pe biti, si asa mai departe (deci n-ai cum sa stii ce limbaj este, daca este unul). Sau, daca vrei sa se si inchida corect, poti face tot felul de izomorfisme (mai exact, o infinitate) Daca ai la dispozitie cel putin doua simboluri, poti defini cu ele limbaje oricat de complicate (pentru ca limbajele de programare au surse plain text, deci reductibile la un sir de biti). De exemplu, Whitespace[0] este un limbaj de programare care foloseste doar trei caractere: space, tab si newline. Astfel de limbaje extreme se numesc "Turing tarpits": limbaje turing-complete dpdv teoretic, dar in care trebuie sa iti parafrazezi viata ca sa exprimi ceva, si deci care nu au nici un sens practic. Un exemplu excelent este Brainfuck (look it up, it's fun) :). [0] - http://en.wikipedia.org/wiki/Whitespace_%28programming_language%29 _______________________________________________ http://lists.rosedu.org/cgi-bin/mailman/listinfo/rosedu-general
