arrow

назад

ask

Вопрос

🔥Поясни за АйТи - как разные языки программирования уживаются в одном приложении.?

repost

529

input message

напишите коммент


20 комментов

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

0

ответить

Если мы говорим об условном бэке, то есть несколько способов:

  • Можно сделать несколько маленьких приложений, который крутятся отдельно друг от друга и выполняют каждый свою функцию (микросервисы)
  • Можно разные части одного монолитного приложения писать на разных языках и вызывать инструкций одного языка из другого. Там умеют Python, Assembler и, вроде, много кто ещё если захотеть
  • А можно сделать вид, что наше приложение на разных языках, а на самом деле в конечной точке он собирается в один. Так происходит с фронтовыми фреймворками. Есть такие, в которых мы пишем на условном C#, а в конце всё равно получаем JS и Web Assembly

0

ответить

· 11.07.2024

Да легко. У меня как-то была огромная прила, где был одновременно с++, java и kotlin. Никто не сдох

0

ответить

· 10.07.2024

Они встают в одну линию, гладут руки друг на друга, и начинают танцевать. Напоминает псевдгреческий танец сиртаки. Так и танцуют и все работает.

А про язык-клей в комменте ниже – никогда подобного бреда не слышал 😐

Если серьёзно, просто загуглите IPC, там все уже придумано, и без языкового клея

0

ответить

· 10.07.2024

Некоторые языки (например питон) — это язык-клей. На нем пишут обвязку над низкоуровневыми библиотеками на других языках и даже системные скрипты (программы выполняющие и системные команды операционной системы)

0

ответить

наносится тонким слоем на языки бумагу, дерево, стекло и металл

0

ответить

Можно написать несколько сервисов на разных языках, а общаться по сокетам. Так же есть уникальные фичи у разных языков: Интерпретатор питона написан на С, поэтому он легко дружится с С и С. Частая практика, когда проект пишут на питоне для скорости разработки, а узкие места пишут на С/С для повышения производительности. Так же С# поддерживает вставки на С. А С поддерживает ассемблерные вставки. Для JS есть webassembly, который позволяет встраивать в него С++ код, который повышает производительность раз в 20.

0

ответить

А вот эти (условно) костыли не влияют на то что программа медленнее работает. Я про сокеты.

0

ответить

"легко дружится" -лучше технологию описать (хотябы с док. ЯП)!

0

ответить

по моему пониманию, алгоритмические высокоуровневые ЯП (фреймворки) -уже костыли в сравнении с прямым кодом или с хотябы мнемоникой (ассемблер). Но болшинство даже примитивные алгоритмы включателя на коде немогут написать-исползуют компиляторы которые абстрагируют их глупых от сути работы железа-уже инвалиды костылные! но можно добавить лучших костылей о чём выше кто-то сообщил. А также хуже возможно даже прогромматором кодировать и накодировать болше сигналов (вкл) чем компилятор или интопр.! Это как саблю заиметь и можно безоружному проиграть

0

ответить

помимо хваленого ассемблера, форт и подобных; важнее конечная реализация алгоритмов чтоб меньше вычислений ЭВМ/проц. и меньше считывания бит было ведь от этого и зависит скорость программы и контента

0

ответить

· 10.07.2024

Кстати, да, только вчера думал об этом. Если я бэкэнд напишу на Java, можно чтобы мне фронт написали, например на Python? И как это всё склеить тогда?

0

ответить

В наших 90% проектах, бэк на java, а фронт на react. Поэтому и питон можно ) интеграция по api

0

ответить

· 10.07.2024

Спасибо за ответ!)

0

ответить

Как у ремонтника в сумке уживаются отвертка и молоток. Разные инструменты для решения разных задачек.

0

ответить

· 10.07.2024

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

0

ответить

Вот все равно не понимаю. Языки разные, принципы работы разные, как их слепляют в одну историю не понятно.

0

ответить

Если речь об интернет-вещах, то все программы общаются между собой с помощью HTTP запросов. Их можно как отправлять, так и принимать практически с любого языка программирования. REST API, websocket

0

ответить

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

0

ответить

А как они друг с другом соединяются? По API?

0

ответить

еще контент автора

пост закреплён — пока закрепить можно только один пост

trash bin
перейти к нему не получится