Рассматривали ли вы D ? Это довольно новый язык, он скомпилирован с собственным кодом и может напрямую ссылаться на C. (Вся стандартная библиотека C доступна даже из D, а привязки к API POSIX включены в стандартную библиотеку.) В основном все, что вам нужно сделать использовать любую библиотеку C из D - это скомпилировать ее с помощью компилятора C и перевести прототипы функций, объявления констант и т. д. в файл заголовка.
D достаточно низкоуровневый, чтобы в нем было написано экспериментальное ядро, но имеет такие современные функции, как сборка мусора (хотя ручное управление памятью все еще разрешено), встроенные строки и массивы, а также более продвинутые / более простые в использовании средства метапрограммирования шаблонов чем С ++. Самым большим недостатком является отсутствие зрелого набора инструментов и библиотек для корпоративных вещей, но для ваших целей это, вероятно, не имеет значения. Кстати, если вам нужно выполнить кучу матричных манипуляций и прочего, есть проект SciD , который предоставляет красивые шаблонные оболочки над LAPACK и BLAS.