>> 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. >> At the end of the day, totul tine de gustul personal al fiecaruia. Eu >> daca _chiar_ am nevoie de lazy eval si inchideri functionale, le >> prefer pe cele din Boost, altcineva ar putea prefera sa se orienteze >> spre alt limbaj... eventually, matematica este _unica_ stiinta reala. >> Restul e doar... stamp collecting. > > Agree. Fiecare lucrează în ce e mai performant. Mie C++ mi se pare un > monstru colosal din cauza multitudinilor de features pe care le are, > de exemplu. Haskell e atractiv pentru mine din cauza purității și a > apropierii foarte mari de matematică. > > Ce-am comentat nu se vrea a fi un bashing, doar comentariile mele > scurte pe subiectul ăsta. Oricum, ce zici de un articol pe techblog? O sa incerc sa pregatesc un articol, dar peste cateva saptamani abia o sa am timp. :) _______________________________________________ http://lists.rosedu.org/cgi-bin/mailman/listinfo/rosedu-general
