Программирование Polyglot: Является ли создание приложений с несколькими языками хорошей практикой? - PullRequest
10 голосов
/ 27 сентября 2008

Я подумываю о создании приложения, представляющего собой смесь динамического языка (python или ruby) и скомпилированного языка, и мне нужна помощь, чтобы убедить себя в том, что это хорошая идея.

Мне кажется, что я могу использовать динамический язык для быстрого написания большого количества кода, а затем перейти на скомпилированный язык, такой как c / c ++, для реализации кода, критичного для производительности.

Я вижу много преимуществ этого подхода:

  1. Повышение производительности благодаря преимущественно кодированию на динамическом языке
  2. Наличие библиотек на обоих языках

Но есть и некоторые недостатки:

  1. Поддержание моста между двумя языками
  2. Зависимость от двух языков и языковых / библиотечных ошибок вместо одного

Каковы другие плюсы / минусы этого подхода? Кто-нибудь знает о каких-либо ресурсах и / или лучших практиках вокруг этого?

Ответы [ 11 ]

0 голосов
/ 27 сентября 2008

Это довольно часто, но убедитесь, что вы знаете, почему вы создаете его так, как вы делаете.

Один из примеров - программирование игр. Во многих играх игровой движок, критичный к производительности, написан на C, в то время как скрипты уровня выполняются на Python, Scheme, местном языке или чем-то еще.

Это означает, что специалисты по производительности работают на языке, который им нравится, и который дает им необходимый контроль низкого уровня, в то время как дизайнеры уровней могут работать на языке более высокого уровня, где им не нужно беспокоиться об управлении памятью и т.д. п.

...