История изменений
Исправление monk, (текущая версия) :
для тех кто пишет приложения на Си под android ndk где они так же как и автор статьи вынуждены пользоваться интерфейсом другого языка
Ага, как же. Весь JNI описан в терминах сишных структур. При этом даже если пишешь, например, на Rust, в котором есть классы и методы, то будешь общаться с Java через сишные структуры.
Java является таким же интерфейсом только для языков, компилирующихся в JVM. И также программистам, например, на Clojure приходится её изучать, даже если они на ней не собираются писать.
скоро у нас будет два интерфейса Rust и C и придётся считаться с двумя интерфейсами
Да ладно. Неужели появятся системные вызовы, передающие и получающие объекты Rust?
То что сишка позволяет склеить воедино практически всё что угодно это замечательно, куча разных языков все взаимодействуют друг с другом и с системой, да с проблемками и порой не маленькими!
Только для склейки всё приходится делать сишкой. В результате нет нормального интерфейса для публикации классов, замыканий, чисел (сишный не всегда совместим даже внутри одной ОС), бесконечных списков, нестрогих функций, …
В питоне есть классы и в Си++ есть классы. Но PyQt работает через сишные структуры.
Исходная версия monk, :
для тех кто пишет приложения на Си под android ndk где они так же как и автор статьи вынуждены пользоваться интерфейсом другого языка
Ага, как же. Весь JNI описан в терминах сишных структур. При этом даже если пишешь, например, на Rust, в котором есть классы и методы, то будешь общаться с Java через сишные структуры.
Java является таким же интерфейсом только для языков, компилирующихся в JVM. И также программистам, например, на Clojure приходится её изучать, даже если они на неё не собираются писать.
скоро у нас будет два интерфейса Rust и C и придётся считаться с двумя интерфейсами
Да ладно. Неужели появятся системные вызовы, передающие и получающие объекты Rust?
То что сишка позволяет склеить воедино практически всё что угодно это замечательно, куча разных языков все взаимодействуют друг с другом и с системой, да с проблемками и порой не маленькими!
Только для склейки всё приходится делать сишкой. В результате нет нормального интерфейса для публикации классов, замыканий, чисел (сишный не всегда совместим даже внутри одной ОС), бесконечных списков, нестрогих функций, …
В питоне есть классы и в Си++ есть классы. Но PyQt работает через сишные структуры.