| Somehow I knew the top comment was gonna be "C++ is insane!!" How would you implement pipe functions in Javascript? And I mean literally using the pipe operator, and not just chained. You can't, so you don't. In Java? You can't, do you don't. In C++ you can. You probably won't. You probably shouldn't so others can maintain your code in the future. But still, you can do very advanced things. Thanks, pfultz2, for flexing C++'s muscles. |
I highly suspect that C++ is unreasonably complicated and that all of this rvalue-reference, variadic template, meta-programming, dynamic-casting polymorphism, is all just voodoo that isn't applicable to general programming. And yet, being able to do it gives me amazing expressive power to write awesome libraries that I could never hope to accomplish in another language.
Until I find a language that's even in the same ballpark as C++ in terms of performance, and offers similar expressiveness, it really doesn't even matter how bad C++ can be for library authors. There's no other viable option right now. D is the closest we have, but its complexity already rivals, if not exceeds, that of C++.