2012-03-01 5 views
1

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

+2

ли вы какие-либо исследования по этому вопросу? Это довольно часто, чтобы смешивать и сопоставлять языки программирования, чтобы играть на каждой из своих сильных сторон. Например, для веб-приложения я мог бы использовать PHP, JavaScript/jQuery и SQL на одной странице. – Edwin

+0

Какой OP спросил, что я думаю, что на него не ответили, так это то, как вы можете объединить, сделать два процесса, которые были запрограммированы на разных языках, сотрудничать. Вот почему он сослался на «сокеты». –

ответ

4

Я не понимаю, почему это вредно. Программирование Polyglot распространено в наши дни: jQuery и JavaScript на клиентах, Java или .NET на серверах и т. Д.

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

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

0

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

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

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

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

1

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

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

1

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

+0

Повторное использование переоценено, на мой взгляд. – duffymo

0

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

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

Смежные вопросы