> И всего этого не было в языке, который изобрели в 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: вот чего не хватает, так это регулярок в самом языке, обещают в пятом, вроде..