The OpenNET Project / Index page

[ новости/++ | форум | wiki | теги ]

20.09.2017 08:05  Компания Apple выпустила язык программирования Swift 4.0

После года разработки компания Apple представила релиз языка программирования Swift 4.0, второй значительный выпуск после открытия исходных текстов проекта. Официальные сборки подготовлены для Linux (Ubuntu 16.04, 16.10) и macOS (Xcode). Исходные тексты распространяются под лицензией Apache 2.0.

В отличие от прошлых выпусков в Swift 4.0 сохранена полная обратная совместимость с исходными текстами ветки Swift 3. Изменения в Swift 4.0 сосредоточены на расширении возможностей стандартной библиотеки и реализации таких возможностей, как архивирование/сериализация структур и перечисляемых типов (например, теперь поддерживается сериализация в JSON и plist). В состав включена новая реализация типа String, которая отличается более высокой производительностью, обеспечением корректности Unicode и предоставлением инструментов для создания, использования и манипуляций подстроками (substring, многострочные литералы). Расширены возможности словарей и коллекций (тип Collection).

Представлена новая команда "swift run" для сборки и запуска исполняемых файлов, определённых в текущем пакете. Реализована идея эксклюзивного доступа к памяти, предотвращающая ситуации, когда может быть произведено изменение переменой, которая в данный момент используется или изменяется в другой части программы. Расширены возможности пакетного менеджера, в который добавлена функциональность, упрощающая одновременную разработку нескольких пакетов (несколько пакетов одновременно могут помечаться для релиза), представлен новый Package API, позволяющий управлять настройками сборки.

Напомним, что язык Swift наследует лучшие элементы языков C и Objective-C, и предоставляет объектную модель, совместимую с Objective-C (Swift-код может смешиваться с кодом на С и Objective-C), но отличается использованием средств автоматического распределения памяти и контроля переполнения переменных и массивов, что значительно увеличивает надёжность и безопасность кода. Swift также предлагает множество современных методов программирования, таких как замыкания, обобщенное программирование, лямбда-выражения, кортежи и словарные типы, быстрые операции над коллекциями, элементы функционального программирования. Версия для Linux не привязана к Objective-C Runtime, что позволяет использовать язык в окружениях, в которых отсутствует поддержка Objective-C.

Pеализация Swift построена с задействованием технологий свободного проекта LLVM. Для обеспечения высокой производительности Swift-программы компилируются в машинный код, выполняемый в тестах Apple на 30% быстрее кода на Objective-C. Вместо сборщика мусора в Swift используются средства подсчёта ссылок на объекты. В поставку входит пакетный менеджер Swift Package Manager, предоставляющий средства для распространения модулей и пакетов с библиотеками и приложениями на языке Swift, управления зависимостями, автоматизированной загрузки, сборки и связывания компонентов.

  1. Главная ссылка к новости (https://swift.org/blog/swift-4...)
  2. OpenNews: Создатель LLVM и Swift уходит из компании Apple
  3. OpenNews: Компания Apple представила язык программирования Swift 3.0
  4. OpenNews: В язык Swift добавлена начальная поддержка платформы Android
  5. OpenNews: Компания Apple представила Swift 2.2, первый выпуск с поддержкой Linux
  6. OpenNews: Компания Apple открыла реализацию языка Swift и реализовала поддержку Linux
Лицензия: CC-BY
Тип: Программы
Ключевые слова: swift
При перепечатке указание ссылки на opennet.ru обязательно
Обсуждение Линейный вид | Ajax | Показать все | RSS
 
  • 1.1, Аноним, 08:45, 20/09/2017 [ответить] [смотреть все]    [к модератору]
  • +3 +/
    Конец Objective-C
     
     
  • 2.2, Аноним, 08:56, 20/09/2017 [^] [ответить] [смотреть все] [показать ветку]    [к модератору]
  • +3 +/
    Так Свифт с блестками и быстрее. Кому нужен несвежий Objective-C?
     
     
  • 3.10, Payday, 10:52, 20/09/2017 [^] [ответить] [смотреть все]    [к модератору]
  • –11 +/
    Нормальным разрабам без смузи на столе
     
     
  • 4.11, Аноним, 11:00, 20/09/2017 [^] [ответить] [смотреть все]    [к модератору]
  • +13 +/
    Стол - для хипстеров, чтоб подставлять его под смузи. Наши предки жили в пещерах и обедали на голой земле.
     
     
  • 5.20, Аноним, 12:51, 20/09/2017 [^] [ответить] [смотреть все]    [к модератору]
  • +/
    PR-менеджер ЕР?
     
  • 5.21, Анонимный Аналитек, 13:02, 20/09/2017 [^] [ответить] [смотреть все]     [к модератору]  
  • +2 +/
    А почему это сразу те, кто не догадался подстелить листья, лапник или травку - о... весь текст скрыт [показать]
     
     
  • 6.28, Аноним, 14:01, 20/09/2017 [^] [ответить] [смотреть все]     [к модератору]  
  • –2 +/
    Сейчас в одном известном новом кампусе лапник и травка одни из самых мягких и са... весь текст скрыт [показать]
     
     
  • 7.33, Анонимный Аналитек, 14:50, 20/09/2017 [^] [ответить] [смотреть все]     [к модератору]  
  • +2 +/
    Я правильно понимаю, что акцент тут на травке и прочих галлюциногенах Или в в... весь текст скрыт [показать]
     
     
  • 8.55, rshadow, 17:38, 20/09/2017 [^] [ответить] [смотреть все]     [к модератору]  
  • +4 +/
    Походу он передает на частоте анального зонда Там свой язык, понятный только се... весь текст скрыт [показать]
     
     
  • 9.60, Аноним, 18:08, 20/09/2017 [^] [ответить] [смотреть все]     [к модератору]  
  • +1 +/
    Я почему-то уверен, что конкретно тут маковод пел дифирамбы своему фетишу класс... весь текст скрыт [показать]
     
  • 3.71, Аноним, 22:49, 20/09/2017 [^] [ответить] [смотреть все]     [к модератору]  
  • +/
    Знакомый писал полтора года на свифте, начиная с 2 сколько-то и заканчивая треть... весь текст скрыт [показать]
     
  • 2.31, deb, 14:20, 20/09/2017 [^] [ответить] [смотреть все] [показать ветку]     [к модератору]  
  • +/
    Неа Вот есть внешняя статическая библиотека a , в objc можно написать exter... весь текст скрыт [показать] [показать ветку]
     
     
  • 3.51, Аноним, 17:13, 20/09/2017 [^] [ответить] [смотреть все]     [к модератору]  
  • +/
    В Swift точно также можно использовать C, нужен только h-файл, все символы будут... весь текст скрыт [показать]
     
  • 3.56, Аноним, 17:43, 20/09/2017 [^] [ответить] [смотреть все]     [к модератору]  
  • +/
    С преобразованиями тоже проблем нет 1 раз написать 10 строк корректность не... весь текст скрыт [показать]
     
  • 1.3, Аноним, 09:04, 20/09/2017 [ответить] [смотреть все]    [к модератору]  
  • +8 +/
    >  в Swift 4.0 сохранена полная обратная совместимость с исходными текстами ветки Swift 3

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

     
  • 1.4, Аноним, 09:17, 20/09/2017 [ответить] [смотреть все]    [к модератору]  
  • –2 +/
    подсчет ссылок - медленее gc
     
     
  • 2.6, ДяДя, 09:35, 20/09/2017 [^] [ответить] [смотреть все] [показать ветку]     [к модератору]  
  • +/
    А конкретно в Boost приводит к false sharing и просадками производительности, ес... весь текст скрыт [показать] [показать ветку]
     
  • 2.7, Аноним, 09:51, 20/09/2017 [^] [ответить] [смотреть все] [показать ветку]    [к модератору]  
  • +2 +/
    Подсчет ссылок детерминированней, чем ГЦ
     
     
  • 3.17, Аноним, 12:37, 20/09/2017 [^] [ответить] [смотреть все]    [к модератору]  
  • –4 +/
    Будущее за "недетерминированными" технологиями, например нейросети.
     
     
  • 4.34, Аноним, 14:53, 20/09/2017 [^] [ответить] [смотреть все]    [к модератору]  
  • +8 +/
    у вас смузи убежали
     
     
  • 5.45, Undefined, 16:06, 20/09/2017 [^] [ответить] [смотреть все]    [к модератору]  
  • +2 +/
    И лапку не пожали!
     
  • 4.72, й, 23:49, 20/09/2017 [^] [ответить] [смотреть все]    [к модератору]  
  • –1 +/
    ага "недетерминированная" rt os для экзоскелета, например
     
  • 3.23, Аноним, 13:22, 20/09/2017 [^] [ответить] [смотреть все]    [к модератору]  
  • +/
    Каким образом?
     
     
  • 4.63, Аноним, 19:26, 20/09/2017 [^] [ответить] [смотреть все]    [к модератору]  
  • +1 +/
    Странный вопрос. По определению.
     
  • 2.48, Аноним, 17:08, 20/09/2017 [^] [ответить] [смотреть все] [показать ветку]     [к модератору]  
  • +/
    Ваше заявление не является ложным до тех пор пока углубляешься в детали того как... весь текст скрыт [показать] [показать ветку]
     
  • 1.5, EuPhobos, 09:19, 20/09/2017 [ответить] [смотреть все]    [к модератору]  
  • +/
    Швифтанём!
    https://www.youtube.com/watch?v=I1188GO4p1E
     
  • 1.8, Онаним, 10:17, 20/09/2017 [ответить] [смотреть все]    [к модератору]  
  • +3 +/
    >  теперь поддерживается сериализация в JSON ... новая реализация типа String, которая отличается более высокой производительностью, обеспечением корректности Unicode и предоставлением инструментов для создания, использования и манипуляций подстроками (substring, многострочные литералы).

    И всего этого не было в языке, который изобрели в 2014-м году и позиционируют как что-то свежее и удобное? Капец. По-моему JSON и UTF8 должны быть в самое ядро языка встроены в наше время.

     
     
  • 2.9, Аноним, 10:36, 20/09/2017 [^] [ответить] [смотреть все] [показать ветку]     [к модератору]  
  • +4 +/
    Речь про американцев, которым переключать раскладки не нужно, поэтому очевидност... весь текст скрыт [показать] [показать ветку]
     
     
  • 3.40, Kodir, 15:42, 20/09/2017 [^] [ответить] [смотреть все]     [к модератору]  
  • +1 +/
    Узко мыслите Юникод - это не только арабская вязь, но и эмоджы, псевдографика, ... весь текст скрыт [показать]
     
     
  • 4.50, Аноним, 17:12, 20/09/2017 [^] [ответить] [смотреть все]     [к модератору]  
  • +3 +/
    Да что уж там Супер языка XXI века - это язык поддерживающий исключительно эмод... весь текст скрыт [показать]
     
     
  • 5.64, Аноним, 19:32, 20/09/2017 [^] [ответить] [смотреть все]     [к модератору]  
  • +/
    Уже есть http ekd me 2017 09 marsianskij-yazyk-kak-kitajcy-obxodyat-cenzuru-v-... весь текст скрыт [показать]
     
  • 5.80, Andrey Mitrofanov, 09:17, 21/09/2017 [^] [ответить] [смотреть все]     [к модератору]  
  • +/
    https ru wikipedia org wiki D0 95 D0 B3 D0 B8 D0 BF D0 B5 D1 82 D1 81 D0 BA D... весь текст скрыт [показать]
     
  • 4.58, Fyjybv2, 18:04, 20/09/2017 [^] [ответить] [смотреть все]     [к модератору]  
  • –1 +/
    Вас сейчас неправильно поймут и сделают операторы в виде эмоджи Будете картинка... весь текст скрыт [показать]
     
  • 2.13, anonymous, 11:33, 20/09/2017 [^] [ответить] [смотреть все] [показать ветку]     [к модератору]  
  • –4 +/
    Юникод это, конечно, хорошо, но json то зачем Сдохнет этот ваш js и всё, никому... весь текст скрыт [показать] [показать ветку]
     
     
  • 3.15, freehck, 12:00, 20/09/2017 [^] [ответить] [смотреть все]     [к модератору]  
  • +1 +/
    Ну так уж получилось, что распространение веба по миру сделало json универсальны... весь текст скрыт [показать]
     
     
  • 4.19, Аноним, 12:48, 20/09/2017 [^] [ответить] [смотреть все]     [к модератору]  
  • –1 +/
    Не, пихание JSON куда ни попадя 8212 зло Его возможность ограничены возможно... весь текст скрыт [показать]
     
     
  • 5.22, angra, 13:08, 20/09/2017 [^] [ответить] [смотреть все]     [к модератору]  
  • +/
    JSON ограничен своей спецификацией, а не js Какие проблемы у тебя с флоатами Н... весь текст скрыт [показать]
     
     
  • 6.25, Аноним, 13:47, 20/09/2017 [^] [ответить] [смотреть все]     [к модератору]  
  • +/
    Да И в каком же стандарте это прописано Покажи мне хотя бы пару реализаций, де... весь текст скрыт [показать]
     
  • 6.37, freehck, 15:19, 20/09/2017 [^] [ответить] [смотреть все]     [к модератору]  
  • +1 +/
    Нормальные числа с плавающей точкой без проблем сериализуются Комплексные и ра... весь текст скрыт [показать]
     
  • 3.42, Kodir, 15:45, 20/09/2017 [^] [ответить] [смотреть все]     [к модератору]  
  • –2 +/
    JS - сдохнет, но не JSON У нас NET проекты - ВСЁ в них висит на JSON ах, хотя ... весь текст скрыт [показать]
     
     
  • 4.54, Аноним, 17:23, 20/09/2017 [^] [ответить] [смотреть все]     [к модератору]  
  • +/
    XML - 98-й год Какие-то очень затянувшиеся 70-е А вот json, очевидно, на... весь текст скрыт [показать]
     
     
  • 5.92, Аноним, 13:12, 25/09/2017 [^] [ответить] [смотреть все]     [к модератору]  
  • –1 +/
    а что её мешает использовать у нас в проекте реализована, правда с кое-какой св... весь текст скрыт [показать]
     
  • 4.65, Аноним, 19:39, 20/09/2017 [^] [ответить] [смотреть все]     [к модератору]  
  • –1 +/
    Ну не надо, YAML очень даже приятен, но с двумя оговорками во-первых, версии 1 ... весь текст скрыт [показать]
     
  • 3.76, annualslayer, 02:40, 21/09/2017 [^] [ответить] [смотреть все]     [к модератору]  
  • +/
    js -- это не perl, php, ruby или python, держащиеся по большому счету лишь на эн... весь текст скрыт [показать]
     
  • 2.14, Аноним, 11:51, 20/09/2017 [^] [ответить] [смотреть все] [показать ветку]    [к модератору]  
  • +1 +/
    Смайлики нового айфона в старый String не влазят, надо улучшать же.
     
  • 2.59, Аноним, 18:06, 20/09/2017 [^] [ответить] [смотреть все] [показать ветку]     [к модератору]  
  • +1 +/
    Unicode там с первых дней и получше чем где бы то ни было Над чем ломали голову... весь текст скрыт [показать] [показать ветку]
     
  • 1.12, Аноним, 11:16, 20/09/2017 [ответить] [смотреть все]     [к модератору]  
  • +1 +/
    А еще он предлагает создавать алиасы всего и вся и половина встроенных методов с... весь текст скрыт [показать]
     
     
  • 2.16, Степаныч, 12:15, 20/09/2017 [^] [ответить] [смотреть все] [показать ветку]    [к модератору]  
  • +/
    Какие 25 слов? Вы о чём?
     
     
  • 3.41, leap42, 15:44, 20/09/2017 [^] [ответить] [смотреть все]     [к модератору]  
  • +2 +/
    https golang org ref spec Keywords в golang 25 зарезервированных слов, в swift... весь текст скрыт [показать]
     
     
  • 4.43, Kodir, 15:48, 20/09/2017 [^] [ответить] [смотреть все]     [к модератору]  
  • –5 +/
    Как прогер, я не против 95 слов, т к всё равно 70 из них вы не увидите в обычн... весь текст скрыт [показать]
     
     
  • 5.52, Аноним, 17:16, 20/09/2017 [^] [ответить] [смотреть все]    [к модератору]  
  • +4 +/
    > public virtual static friend void

    Боже какая чушь..

     
     
  • 6.61, Аноним, 18:20, 20/09/2017 [^] [ответить] [смотреть все]     [к модератору]  
  • –1 +/
    public static const Borscht borscht new Borscht ... весь текст скрыт [показать]
     
  • 5.66, Аноним, 19:49, 20/09/2017 [^] [ответить] [смотреть все]    [к модератору]  
  • +/
    > Как прогер, я не против 95 слов

    Хорошо, что ты не "прогер".

     
  • 4.57, rshadow, 17:49, 20/09/2017 [^] [ответить] [смотреть все]    [к модератору]  
  • +/
    Lua - 22

    https://www.lua.org/manual/5.3/manual.html

     
     
  • 5.68, nobody, 20:55, 20/09/2017 [^] [ответить] [смотреть все]    [к модератору]  
  • +1 +/
    Forth - 0
     
     
  • 6.73, й, 00:00, 21/09/2017 [^] [ответить] [смотреть все]     [к модератору]  
  • –1 +/
    ну, и парсите себе json, yaml и делайте http-запросы из forth дальше хотя нет, ... весь текст скрыт [показать]
     
     
  • 7.84, пох, 15:47, 21/09/2017 [^] [ответить] [смотреть все]     [к модератору]  
  • +/
    а в чем проблема-то, кстати Первое - прекрасно ложится, второе неудобно, но впо... весь текст скрыт [показать]
     
     
  • 8.85, й, 16:36, 21/09/2017 [^] [ответить] [смотреть все]     [к модератору]  
  • +/
    кстати, выше про 0 зарезервированных слов в forth -- не совсем правда if else... весь текст скрыт [показать]
     
  • 1.24, Аноним, 13:47, 20/09/2017 [ответить] [смотреть все]    [к модератору]  
  • +/
    Начем писать на Swift, если есть богоподобная Сишечка?
     
     
  • 2.26, Аноним, 13:57, 20/09/2017 [^] [ответить] [смотреть все] [показать ветку]     [к модератору]  
  • –1 +/
    Зачем писать на сишечке, когда можно перфокартами Зачем вычислительная техника,... весь текст скрыт [показать] [показать ветку]
     
     
  • 3.53, щи, 17:21, 20/09/2017 [^] [ответить] [смотреть все]     [к модератору]  
  • –1 +/
    Смотря что делать Если обговорить правила и протоколы, довольно просто и на асс... весь текст скрыт [показать]
     
     
  • 4.75, й, 00:09, 21/09/2017 [^] [ответить] [смотреть все]     [к модератору]  
  • +/
    вот есть jabber стандартов хоть жопой жуй ни одного сервера на ассемблере зат... весь текст скрыт [показать]
     
  • 2.35, Мяут, 14:57, 20/09/2017 [^] [ответить] [смотреть все] [показать ветку]    [к модератору]  
  • +3 +/
    Богоподобным молятся. Мирским пишут.
     
  • 2.74, й, 00:07, 21/09/2017 [^] [ответить] [смотреть все] [показать ветку]     [к модератору]  
  • +/
    на божественной сишечке не осилили написать ни одну очередь общего применения н... весь текст скрыт [показать] [показать ветку]
     
     
  • 3.88, Аноним, 23:54, 21/09/2017 [^] [ответить] [смотреть все]     [к модератору]  
  • +/
    Redis же ... весь текст скрыт [показать]
     
     
  • 4.89, й, 00:55, 22/09/2017 [^] [ответить] [смотреть все]     [к модератору]  
  • –1 +/
    ну, во-первых, redis -- это key-value storage, а не message broker как message ... весь текст скрыт [показать]
     
     
  • 5.91, Аноним, 10:33, 22/09/2017 [^] [ответить] [смотреть все]     [к модератору]  
  • –1 +/
    Да, давай, доказывай теперь, что очередь на сях вовсе не очередь Слив засчитан ... весь текст скрыт [показать]
     
  • 4.90, й, 00:59, 22/09/2017 [^] [ответить] [смотреть все]     [к модератору]  
  • –1 +/
    вы б ещё memcached как пример брокера привели теоретически драйвер под celery е... весь текст скрыт [показать]
     
  • 1.62, YetAnotherOnanym, 19:23, 20/09/2017 [ответить] [смотреть все]    [к модератору]  
  • +/
    А графовая база данных на этом языке есть?
     
  • 1.67, nc, 20:06, 20/09/2017 [ответить] [смотреть все]    [к модератору]  
  • +/
    То есть никаких новых языковых фишечек не представлено?
     
  • 1.69, Аноним, 21:05, 20/09/2017 [ответить] [смотреть все]     [к модератору]  
  • +/
    Самое лучшее в Swift 4 - наконец-то можно посчитать количество символов в строке... весь текст скрыт [показать]
     
  • 1.77, Аноним, 04:24, 21/09/2017 [ответить] [смотреть все]    [к модератору]  
  • +/
    А под какую платформу?
     
  • 1.78, Аноним, 05:08, 21/09/2017 [ответить] [смотреть все]    [к модератору]  
  • –1 +/
    Подсчет ссылок прямо скажем, очень спорное решение.
     
  • 1.79, Вареник, 07:40, 21/09/2017 [ответить] [смотреть все]    [к модератору]  
  • –2 +/
    Почем никто не сравнивает с Хрустом?

    Казалось бы прямой конкурент. Оба типа убийцы С.

     
     
  • 2.83, Аноним, 12:32, 21/09/2017 [^] [ответить] [смотреть все] [показать ветку]     [к модератору]  
  • +1 +/
    Какой же это убийца С, если он, кроме как для написания софта для девайсов Apple... весь текст скрыт [показать] [показать ветку]
     
  • 1.81, keir, 09:31, 21/09/2017 [ответить] [смотреть все]     [к модератору]  
  • –3 +/
    Правильно ли я понимаю, что swift позволяет писать кросплатформенные приложения ... весь текст скрыт [показать]
     
     
  • 2.86, Аноним, 17:01, 21/09/2017 [^] [ответить] [смотреть все] [показать ветку]     [к модератору]  
  • +/
    Не в том смысле, в котором ты подумал Под Linux доступен только компилятор язык... весь текст скрыт [показать] [показать ветку]
     

     Добавить комментарий
    Имя:
    E-Mail:
    Заголовок:
    Текст:


      Закладки на сайте
      Проследить за страницей
    Created 1996-2018 by Maxim Chirkov  
    ДобавитьПоддержатьВебмастеруГИД  
    Hosting by Ihor