Під API, що саме ви маєте на увазі?
На багатьох платформах ви могли б зв’язатися з DLL або подібною конструкцією, але вам доведеться перекомпілювати для конкретної націленої цілі (Intel / ARM) або все-таки кваліфікованість? У певному бінарному інтерфейсі все ще можуть виникнути труднощі з певними мовами через проблеми або конструкції типу даних (вказівники, які намагаються повернутись до мов, які не підтримують їх добре), тому вам також доведеться врахувати дизайн самого API, щоб не щоб виключити деякі мови або зробити їх використання з цих мов громіздкими.
Щось таке портативне, як C та інтерфейс, заснований на бінарних кінцевих точках у DLL, може бути відмінним та загальним для дзвінка на більшості платформ та з більшості мов, але, можливо, його потрібно скласти по-різному та / або запропонувати в різних смаках або пов'язати з різними статичними бібліотеками.
Мені здається, що вибір мови, якою ви пишете свою бібліотеку чи службу, або що б там не було, за визначенням не суттєвий для цього питання, поки ви не дасте більше інформації про платформу / службу, яку API викриває. Якщо ви можете припустити, що мережевий стек доступний, а продуктивність на рівні прямого зв’язку функціонування на рівні виклику не є вимогою, API може бути легко заснований на HTTP з якоюсь хиткою для мови клієнта, щоб зробити запити прозорими.
Я думаю, що в цілому це питання є надто широким, щоб бути корисним у реальному світі, оскільки ви не дали вказівки щодо того, який тип API може бути придатним з огляду на тип послуги, що пропонується.