The OpenNET Project / Index page

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



"Компания Apple выпустила язык программирования Swift 4.0"
Версия для распечатки Пред. тема | След. тема
Форум Разговоры, обсуждение новостей
Исходное сообщение [ Отслеживать ]
Присылайте удачные настройки в раздел примеров файлов конфигурации на WIKI.opennet.ru.
. "Компания Apple выпустила язык программирования Swift 4.0" +1 +/
Сообщение от Аноним (-), 20-Сен-17, 18:06 
> И всего этого не было в языке, который изобрели в 2014-м году
> и позиционируют как что-то свежее и удобное? Капец. По-моему JSON и
> UTF8 должны быть в самое ядро языка встроены в наше время.

Unicode там с первых дней и получше чем где бы то ни было. Над чем ломали голову можете почитать тут https://github.com/apple/swift/blob/master/docs/StringManife.... Вкратце - борьба между производительностью, корректностью и удобством: cтроки теперь хранятся в памяти в UTF-16, объект строки вернули свойство коллекции символов (до этого ввели .characters, а по самому объекту нельзя было просто так итерироваться), ввели тип Substring для производительности и многое другое. Unicode это не просто "есть utf-8 или нет", это большая головная боль в т.ч. с индексами в разных представлениях, нормализацией и т.д.

JSON в языке - спорный вопрос, хотелось бы конечно, но не критично. Он всегда был в Foundation, сейчас же добавили возможность архивировать любой объект с помощью универсального протокола - вот это в языке. А в Foundation добавили реализацию для этого протокола как обертку над существовавшим JSON. Теперь просто вручную не надо его разбирать, достаточно добавить протокол и компилятор сам сгенерирует упаковку/распаковку:

struct User: Codable {
    let name: String
    let age: Int
}

Все. Компилятор сгенерирует (условно) keyedContainer["name"] = name и т.д. осталось только сунуть объект в JSONEncoder.encode(user)

PS: вот чего не хватает, так это регулярок в самом языке, обещают в пятом, вроде..

Ответить | Правка | Наверх | Cообщить модератору

Оглавление
Компания Apple выпустила язык программирования Swift 4.0, opennews, 20-Сен-17, 08:45  [смотреть все]
Форумы | Темы | Пред. тема | След. тема



Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

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