Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Yes, it's great that C++ enables you to make aesthetic design decisions. What I dislike is the way they interact in complicated ways with architectural decisions.

Libraries like MTL (the matrix template library) are completely architected around providing their nifty syntax. They do insane things like have operators return types representing a symbolic computation, so that template specialization can be used to do a kind of peephole optimization. The end-user experience is aesthetically improved, but do not stare into the abyss of the template definitions.



> The end-user experience is aesthetically improved, but do not stare into the abyss of the template definitions.

That is getting better and better with time. C++14 with generic lambda, C++17 with constexpr and C++20 with concepts imrpoved all of that.

It made the writing of template expression switch from "obscure C++ gourou dark magic " to "Kinda readable C++ dude".




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: