Really ? Look at this code: <a href="https:&#x2F;&#x2F;github.com&#x2F;danfis&#x2F;libccd&#x2F;blob&#x2F;master&#x2F;src&#x2F;ccd.c" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;danfis&#x2F;libccd&#x2F;blob&#x2F;master&#x2F;src&#x2F;ccd.c</a>
Looks like great C code doesn&#x27;t it?<p>Still you see lots of plumbing: 
1. call of init functions
2. unsafe array&#x2F;pointer usage
3. goto<p>I rather use C++&#x27;s functional constructs rather than the imperative ones.
It is less code, that directly self-explains the business logic; instead of being littered with (unsafe) plumbing code.<p>And IF I find a performance bottleneck - I can still opt to use&#x2F;develop an unsafe lowlevel version.