On 11/3/14 4:37 PM, Walter Bright wrote:
On 11/3/2014 9:36 AM, Tobias Müller wrote:
Presenting OpenSSL as a case for good interface design is a crime by
itself!

Not at all. I presented it as an example of a C library that has a
metaprogramming interface, but that interface has not prevented bug fix
updates to the shared library itself without requiring recompiling of
apps that call it.

All shared C libraries have a metaprogramming interface if they have
macros in the .h file.


I had a very nasty experience with using a template-based API. I vowed to avoid it wherever possible.

The culprit was std::string -- it changed something internally from one version of libc++ to the next on Linux. So I had to recompile everything, but the whole system I was using was with .so objects.

templates do NOT make good API types IMO.

-Steve

Reply via email to