DLang Улучшает поддержку Objective-C


Появилась новая версия языка программирования D с улучшенной поддержкой Objective-C, а также улучшениями компилятора, библиотек и инструментов.

D был описан как лучший C и лучший C++, поскольку он был реализован после того, как другие языки показали, как не делать вещи. В этом смысле он занимает позицию, очень похожую на Kotlin и его отношение к Java.

D двоично совместим с C, строго типизирован с выводами типов, одиночным наследованием, интерфейсами, лямбдами, закрытием и менеджером памяти. D изо всех сил пытался добиться массового внедрения, но затем получил толчок, когда GCC объявила о поддержке D в 2017 году, наряду с крупными игроками, включая C,C++, Objective C, Objective C++, Fortran, Java, Ada и Go.

Объявление от команды программирования D включает в себя новый выпуск эталонного компилятора D (DMD) и бета-версию популярного компилятора D на основе LLVM (LDC). Разработчики говорят, что в то время как:

“Совместимость C++-это медведь, чтобы получить право, она продолжает улучшаться с каждым выпуском компилятора. Этот релиз продолжает эту тенденцию, а также усиливает поддержку Objective-C.”

DUB, инструмент сборки D и менеджер пакетов, который поставляется вместе с компилятором, также был улучшен по сравнению с тем, что разработчики описывают как “хорошая любовь”. Улучшенная поддержка Objective-C включает в себя возможность объявлять протоколы Objective-C. Это достигается путем перепрофилирования интерфейса в контексте extern(Objective-C). Кроме того, атрибуты @optional и @selector помогают выполнить работу.

Также была усилена генерация заголовков C++. Это уже было включено в экспериментальную версию. Вы можете создавать заголовочные файлы C++ из исходного кода D, что позволяет вызывать библиотеки D из C++.

Версия C++, поддерживаемая в качестве стандартной, также была обновлена, сделав C++11 стандартом по умолчанию. До сих пор код extern(C++) гарантированно связывался с двоичными файлами C++98 из коробки. Это уже не так, и вы будете переключаться в командной строке, чтобы поддерживать такое поведение. Теперь компилятор также будет связываться с C++20 с помощью переключателя командной строки.


Добавить комментарий