Как выбрать архитектуру приложения с учетом необходимости использования нескольких языков программирования? Требуется создать приложение так чтобы можно было использовать в при его расширении несколько языков(С/С++, Common Lisp, Prolog, Python и возможно, но не обязательно java), ну то есть как единую среду. Ну да, что-бы как MSIL у майкрософт, примерно. Можно, и это наверное правильно, организовать всё взаимодействие через Си. Но тогда не ясно как правильно, вот с си в си всё ясно, и пока в нём лисп или скажем питон - тоже. Но если я хочу скажем вызвать из питона лисп код(или наоборот), когда они оба в приложении? Поднимать сервера на локалхосте, добавлять функционал в си, или как? Дайте пожалуйста совет или скажите что про подобное можно почитать.
Для создания приложения, в котором можно использовать несколько языков программирования, нужно рассмотреть различные варианты интеграции этих языков. Один из способов - использование оберток для вызова функций на других языках программирования из основного языка (например, вызов функции на Python из C или наоборот).
Если вы рассматриваете использование Си для организации всего взаимодействия, то при вызове функций на других языках из Си можно использовать механизмы интерфейсов и API этих языков.
Для примера, для взаимодействия между Python и Lisp можно использовать библиотеки, такие как Cython (для Python), ctypes (для вызова функций на Си), и Common Lisp FFI (для вызова функций на Lisp).
Также возможен вариант использования более высокоуровневых интерфейсов, таких как gRPC или REST API, для организации взаимодействия между различными частями приложения на разных языках программирования.
Наверняка, есть и другие способы интеграции языков программирования, поэтому вам стоит изучить различные подходы и выбрать подходящий для вашего конкретного случая. Можете обратиться к специализированной литературе, курсам или форумам по мультиязычному программированию для более подробной информации и советов.
Для создания приложения, в котором можно использовать несколько языков программирования, нужно рассмотреть различные варианты интеграции этих языков. Один из способов - использование оберток для вызова функций на других языках программирования из основного языка (например, вызов функции на Python из C или наоборот).
Если вы рассматриваете использование Си для организации всего взаимодействия, то при вызове функций на других языках из Си можно использовать механизмы интерфейсов и API этих языков.
Для примера, для взаимодействия между Python и Lisp можно использовать библиотеки, такие как Cython (для Python), ctypes (для вызова функций на Си), и Common Lisp FFI (для вызова функций на Lisp).
Также возможен вариант использования более высокоуровневых интерфейсов, таких как gRPC или REST API, для организации взаимодействия между различными частями приложения на разных языках программирования.
Наверняка, есть и другие способы интеграции языков программирования, поэтому вам стоит изучить различные подходы и выбрать подходящий для вашего конкретного случая. Можете обратиться к специализированной литературе, курсам или форумам по мультиязычному программированию для более подробной информации и советов.