|
22.10.2014 Попытка создания свободной реализации языка Swift, продвигаемого компанией AppleСообщество Ind.ie представило проект Phoenix, в рамках которого планируется разработать свободную реализацию языка программирования Swift, продвигаемого компанией Apple в качестве первичной платформы для разработки пользовательских приложений для OS X и iOS. Разработку Phoenix возглавит Грег Касаменто (Greg Casamento), лидер проекта GNUStep. В настоящее время уже создан репозиторий, содержащий начальный прототип, написанный на языках Си и Objective-C. Исходные тексты распространяются под лицензией GPLv3. До состояния рабочего прототипа компилятор планируется довести через несколько недель. В качестве причины создания Phoenix можно отметить неопределённость с намерениями компании Apple по открытию кода Swift, который основан на наработках LLVM. Изначально ожидалось, что Apple переведёт Swift в разряд открытых продуктов, но с момента первого выпуска Swift прошло уже почти 5 месяцев и никаких сдвигов или заявлений по поводу открытия кода не поступало. Как и раньше Swift остаётся плотно интегрирован в проприетарную среду разработки Xcode и не может быть использован обособленно на платформах, отличных от OS X. Судя по открытому письму, опубликованному создателями проекта Phoenix, они надеются, что компания Apple откроет исходные тексты Swift или хотя бы обозначит планы, связанные с кодом Swift, а не будет использовать Swift как ещё один механизм для привязки разработчиков приложений к своей платформе. Swift наследует лучшие элементы языков C и Objective-C, и предоставляет объектную модель, совместимую с Objective-C (Swift-код может смешиваться с кодом на С и Objective-C), но отличается использованием средств автоматического распределения памяти и контроля переполнения переменных и массивов, что значительно увеличивает надёжность и безопасность кода. Для обеспечения высокой производительности Swift-программы компилируются в машинный код, выполняемый в 1.3 раза быстрее кода на Objective-C. Вместо сборщика мусора Objective-C в Swift используются средства подсчёта ссылок на объекты, а также предоставляемые в LLVM оптимизации, такие как автовекторизация. Язык предлагает множество современных методов программирования, таких как замыкания, обобщенное программирование, лямбда-выражения, кортежи и словарные типы, быстрые операции над коллекциями, элементы функционального программирования. Источники:
|
|
|
© Злыгостев А.С., 2001-2019
При использовании материалов сайта активная ссылка обязательна: http://informaticslib.ru/ 'Библиотека по информатике' |