Как несколько языков взаимодействуют в одном проекте? - PullRequest
57 голосов
/ 12 марта 2009

Я слышал, как некоторые люди программируют на нескольких языках в одном проекте. Я не могу представить, как языки взаимодействуют друг с другом.

Я имею в виду, что нет такого метода Java, как

myProgram.callCfunction(parameters);

никогда не бывает или я не прав?

Ответы [ 12 ]

0 голосов
/ 12 марта 2009

Существует несколько способов непосредственного взаимодействия кода на языках. Пока данные, передаваемые между кодом, имеют правильный формат, на уровне битов и байтов, нет никаких причин, по которым разные языки не могут взаимодействовать. Этот подход используется в традиционной разработке Windows DLL. Даже на разных платформах, если вы можете получить правильный формат (посмотрите на big / little endian, если интересно), он будет работать до тех пор, пока ваш компоновщик (не компилятор) знает, как объединить код.

Помимо этого, существует множество других способов общения языков друг с другом. В мире .Net код компилируется в код IL, который одинаков для всех языков, таким образом, C #, VB.Net все одинаковы и могут без проблем вызывать / работать друг с другом.

0 голосов
/ 12 марта 2009

Зависит от типа проекта. Если вы хотите поэкспериментировать, вы можете настроить веб-проект в .NET и менять язык для каждой страницы отдельно. Это не работает, как вы показываете в своем псевдокоде, но это несколько языков. Конечно, каталог фактических кодов должен быть одним языком.

...