Вставить слой персистентности Python в приложение C ++ - хорошая идея? - PullRequest
2 голосов
/ 15 апреля 2010

скажем, я собираюсь написать приложение с тонким слоем GUI, действительно толстым слоем вычислений (выполняющим сложные вычислительные калибровки и другие длительные операции) и довольно простым слоем персистентности. Я смотрю на создание слоя вычисления GUI + в C ++ (используя Qt для частей графического интерфейса).

Теперь - было бы сумасшедшей идеей построить слой персистентности в Python, используя sqlalchemy, и внедрить его в приложение C ++, позволяя слоям взаимодействовать друг с другом через объекты передачи данных lightweigth (написанные на C ++, но доступные из python)

(другой альтернативой, к которой я склоняюсь, было бы, вероятно, написать приложение на Python с самого начала, используя обертку PyQt, а затем вызвать C ++ для вычислительных задач)

Спасибо, Рикард

1 Ответ

6 голосов
/ 15 апреля 2010

Я бы выбрал «альтернативный» подход:

Пишите как можно больше в Python (вы можете использовать привязки GUI PyQt или PySide), а затем пишите только части, требующие большого объема вычислений (когда доказано, что они критически важны дляпроизводительность) в C ++ (посмотрите на Boost.Python ).

Разработка на Python должна быть быстрее, проще и менее подвержена ошибкам, чем в C ++ (если вы не очень опытныйC ++ разработчик, а потом еще).Разоблачение C ++ через Boost.Python должно быть проще, чем наоборот.

...