A Better STL



  • I decided to stick with C++ and try to make it better. But how? My first thought was to get rid of iterators. I decided to rewrite all of the STL's algorithms to accept containers instead of iterators. But more importantly, I decided to also make the algorithms (where possible) return copies of containers instead of iterators as well. This would enable the functional programming that makes Lisp code so succinct.

    (quelle: http://userpages.umbc.edu/~bcorfm1/C++-vs-Lisp.html)

    was haltet ihr davon?
    für meinen geschmack ist c++ einfach nicht für funktionale programmierung gedacht, und solche hacks machens nur noch schlimmer.



  • Scherzkeks... du kannst in C++ genauso funktional programmieren wie objektorientiert und was viel schlimmer ist, das ganze auch beliebig mischen.



  • Du meinst procedural programmieren. Functionale Programmierung bietet C++ garnicht an, auch wenn die Funktionen Funktionen heißen. 😉



  • natuerlich kannst du mit templates funktional programmieren.



  • rapso schrieb:

    natuerlich kannst du mit templates funktional programmieren.

    latürnich. siehe

    solche hacks

    aber darum geht es ja gar nicht, sondern darum, dass die stl-algorithmen aus gutem grund so geschrieben wurden, wie sie wurden, und die rückgabe von ganzen containern nicht sehr effizient ist. in lisp mag sowas noch verkraftbar sein, das hat ja auch sowas wie garbage collection und ähnliches zeugs, und da trifft "make it work, make it good, make it fast" auch zu; bei c++ ist es mehr ein "make it good and fast", rapid prototyping macht sich nicht so gut.



  • Artchi schrieb:

    Du meinst procedural programmieren. Functionale Programmierung bietet C++ garnicht an, auch wenn die Funktionen Funktionen heißen. 😉

    kannst du dich nich mal für einer sprache entscheiden? 😕


Log in to reply