2011/11/4 Adrian Scoica <[email protected]>: >>> 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ă. :) _______________________________________________ http://lists.rosedu.org/cgi-bin/mailman/listinfo/rosedu-general
