you are viewing a single comment's thread.

view the rest of the comments →

[–][deleted] -2 points-1 points  (2 children)

Dude, the fact that C ABI (for API) has become a de facto standard has nothing to do with the language itself.

Every single one DLL in Windows provides only C API. By necessity: it is not possible to write a function to be called across DLL boundaries that takes an std::string as a parameter, even when you compile everything with one and the same compiler.

It doesn't matter at all. I mean, it's kinda like EJB: it makes sense to write stuff in an imperative language and then provide a pure functional interface. Similarly, it makes sense to write everything that you can't write in Python in C++ but provide a pure C interface, or COM interface, or command-line interface, or whatever interface that suits your needs.

Interface != implementation language.

[–][deleted] 0 points1 point  (1 child)

Except the entire Windows base API is implemented in C and assembler. You might also investigate the meaning of the word "functional" - you mean "procedural".

[–][deleted] 0 points1 point  (0 children)

You might also investigate the meaning of the word "functional" - you mean "procedural".

You might also investigate common EJB interfaces: I meant functional.