5 ms·
Nice article and effective demonstration of the FunctionalPlus library. That said, this makes me a bit nervous about shoe-horning functional programming into c
by nepstein 10y ago
Nice article and effective demonstration of the FunctionalPlus library.
That said, this makes me a bit nervous about shoe-horning functional programming into contexts where it is inappropriate. FunctionalPlus aside, C++ is very clearly designed for an object oriented style (even the name, C++, refers to "C plus objects").
Going too far down the path of working against the intent of the standards committee seems like a recipe for trouble (unless you're just talking about hobby projects).
- nmeofthestate 10y agoI completely disagree - C++ is a multi-paradigm language and the C++ standard is already chock full of non-OO stuff. The example code in the article also makes use of objects such as std::string, sets etc.
- gpderetta 10y agoIn fact the only part of the standard library that can be considered OO, iostream, is considered an overengineered disaster. I actually happen to like iostream, for the reasons of it being standard and extendible; just don't expect any particular performance out of it.
- nepstein 10y agoI'm not sure I agree that STL that containers are explicitly not OO. That said, I don't disagree that C++ can support functional programming. I would just argue there are languages better suited for this. (edited for clarity)
- hellofunk 10y agoThe author of the first STL has famously said that, even after all these decades, he has never written any C++ code that uses OO inheritance, because he hasn't found a use for it. The STL is mainly a generic library, not an OO library.
- gpderetta 10y agoYes, Stepanov is not exactly an OO fan. This interview with him, were he declared that "OO is an Hoax", is great: http://www.stlport.org/resources/StepanovUSA.html http://www.stlport.org/resources/StepanovUSA.html
- jmcomets 10y agoAs another comment points out, C++ is already full of non-OO components (take a look at the STL's <algorithm> interface for example). Moreover, the current path of the standards committee is clearly moving away from the gool-ol' OO and closer to the newer strong typing with better generics.