Смешивание языков программирования для одного проекта - PullRequest
2 голосов
/ 02 марта 2012

Является ли плохой идеей смешивать языки программирования, например, иметь сервер node.js, который отправляет некоторые данные в программу python, которая затем запускается и выполняет другие операции с ней.Это довольно расплывчато, но как лучше всего передавать данные между разными программами, или это просто ужасная идея, и я даже не должен ее рассматривать?розетки?

Ответы [ 5 ]

5 голосов
/ 02 марта 2012

Не понимаю, почему это вредно.В наши дни программирование полиглотов является обычным явлением: jQuery и JavaScript на клиентах, Java или .NET на серверах и т. Д.

Писать веб-службы на Java или .NET частоЭто не должно мешать никому смешивать и сочетать.

Используйте лучший инструмент для работы.

1 голос
/ 02 марта 2012

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

1 голос
/ 02 марта 2012

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

Что касается передачи данных между ними, обычно не рекомендуется смешивать языки, если вам нужно передавать данные между ними. Мне нужно больше информации о ситуации, чтобы быть более конкретным.

0 голосов
/ 03 марта 2012

Ваш общий вопрос немного расплывчатый, так как неясно, что вы пытаетесь сделать конкретно.Однако, если вы просто пытаетесь заставить программы, написанные на разных языках, общаться друг с другом, вам следует рассмотреть возможность использования библиотеки RPC.

Экономия, изначально разработанная Facebook, является одним из потенциальных (и довольно хорошим IMO)опция: http://thrift.apache.org/

0 голосов
/ 02 марта 2012

Ответ - "это зависит", но в целом в этом нет ничего плохого, нет.

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

В других случаях между языками существует барьер общения, в зависимости от того, с какими данными вы работаете, что неудобно.

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

...