[rosedu-general] Pure mathematics and programming

Mihai Maruseac mihai.maruseac at gmail.com
Fri Nov 4 13:29:55 EET 2011


2011/11/4 Adrian Scoica <adrian.scoica at gmail.com>:
>>> In template metaprogramming am vazut cele mai frumoase si elegante
>>> implementari pentru lazy evaluation, function closures, si alte
>>> concepte ce tin de programarea functionala, despre care puteti citi
>>> aici[0]. C++0x o sa mai depaseasca o limitare a limbajului permitand
>>> function literals.
>>>
>>> Is this going in the right direction? Well, in mod clar implementarile
>>> nu mai sunt black box, ceea ce iti da un sentiment placut de control.
>>> Pe de alta parte, gramaticile devin rupte din iad (fun fact: g++ nu
>>> parseaza corect C++, m-am lovit de mai multe ori de asta).
>>
>> Deci facem un franken-C++. Exact cum o sa avem un franken-Java, un
>> franken-C# (numit F# acum) și tot așa. Nu sunt împotrivă, consider un
>> semn bun faptul că din ce în ce mai mult se împumută features din
>> programarea functională (oare de ce? -- e mai greu să te obișnuiești
>> să gândești doar așa, cqnd ai nevoie de ceva functional apelezi la un
>> patch de ăsta și gata). Pe viitor, din ce în ce mai mult o să se
>> meargă pe direcția funcțională, lightweight threads (green threads),
>> STM, bracket, iteratees, etc. O să vezi cum o să se introducă și de
>> astea în C++ în câțiva ani, după ce se testează în Racket/Scheme și
>> Haskell și LISP.
>
> Eu nu sunt de acord cu notiunea de "Franken-C++" si de faptul ca e
> artificial ce se face. Tranzitia de la language la metalanguage nu e
> deloc ceva trivial si nici nu ma astept sa fie corecta din prima. Mai
> mult, in C++ NU exista threading tocmai pentru ca e dependent de
> implementare. Daca ai nevoie de thread-uri, poti implementa o clasa
> care descrie ce inseamna asta... sau un template... si apoi sa "plug
> in" thread-urile din C.
>
> Gandeste-te la gramatica care descrie gramatica expresiilor
> regulate... totul incepe sa devina greu de exprimat de la un punct,
> dar asta nu inseamna ca e artificial sau hacky. Noi ca oameni avem
> HUGE issues la a descrie descrierea descrierii.

E mutant în sensul că e o paradigma diferită de cea originală. :)


More information about the rosedu-general mailing list