awesome-c icon indicating copy to clipboard operation
awesome-c copied to clipboard

blend2d

Open myd7349 opened this issue 5 years ago • 5 comments

https://github.com/blend2d/blend2d

myd7349 avatar Apr 11 '19 10:04 myd7349

This is C++ project.

Bfgeshka avatar Apr 11 '19 11:04 Bfgeshka

Blend2D is written in C++ but it provides both C and C++ APIs.

myd7349 avatar Apr 11 '19 11:04 myd7349

Sorry for the delay @myd7349 - I'm definitely torn about this one. While CONTRIBUTING.md technically doesn't prohibit this from being included, I'm curious just how likely it is that C++ knowledge or understanding would need to creep in when using the C API. For example: Suppose I write something daft and have to debug. Do I need to know C++ to debug use of this library from C successfully?

kozross avatar May 31 '19 22:05 kozross

Hi! @kozross Some knowledge about C++ is necessary if the users want to debug the source code. We do not have to be a C++ expert, however. Besides, this library doesn't use too much advanced C++ features at first glance. AFAIK, C++ is not the hardest part when hacking this library, especially compared to those professional graphics algorithms & JIT compiler knowledge the users may have to learn if they want to totally understand the source code. Some other libraries, like ZeroMQ, also implemented with C++, and provides C APIs. If C++ is not a problem for ZeroMQ users, then I think it should not be a problem for blend2d users either. Anyway, I think C programmers may benefit from this library. :-)

myd7349 avatar Jun 03 '19 12:06 myd7349

@myd7349 Thanks for getting back to me. Sorry if I wasn't clear - my specific question was this: suppose I, a C programmer who knows nothing of C++, want to use blend2d's C API. In the process of doing that, I write something that requires use of the debugger to fix. As a C programmer, would I find it difficult to do this, knowing no C++ at all? Or are the bindings fairly 'opaque' to the fact that blend2d itself is implemented in C++?

kozross avatar Jun 07 '19 22:06 kozross