I was recently reading the docs for a physics engine in c++ and they said that its initial implementation used std::vector in many places, but they instead implemented their own in later versions to accommodate maximum "portability and compatibility." I wonder what that means? Since the STL is included in C++ compilers and vector is always going to be there, why would they need to roll their own to make the engine either more portable or more compatible?
>use of templates is frowned upon
I wonder if this means the writing of templates, or using existing templates. If the latter, maybe like the STL their primary concern is compile times?