Всё, что вам нужно знать про Swift |
[Jun. 3rd, 2014|12:10 am]
Scala, Java, JVM и другое
|
Всё, что вам надо знать про Swift, чтобы с умным видом поучаствовать в разговоре.
Swift — это Objective C с нормальным синтаксисом. C# с ARC вместо GC.
Есть классы и структуры (как в C#). Классы передаются по указателям, ARC считает, когда объекты можно удалять. Есть слабые ссылки. Всё, как в Objective C. Есть instanceof, только называется короче, и использовать удобнее.
Есть структуры, они копируются. Указателей в языке нет.
Swift использует Objective C runtime. Это значит, что всё API, которое за 30 лет написала Apple, можно продолжать использовать.
По-мелочам:
— локальный вывод типов, сигнатуру функций надо указывать, хорошо — nullable-типы как в Kotlin — это хорошо (и, вероятно, C#, не настолько хорошо знаю C#) — нормальный синтаксис для методов, а не квадратные скобки — extension functions как в C# — хорошо — есть простенький pattern matching, tuples — синтаксический сахар для массива и словаря, удобно — integer overflow по-умолчанию — ошибка — хорошо, безопасность — есть перегрузка операторов, и даже можно писать нестандартные операторы (типа +++). Один из авторов Clay (в котором тоже можно сделать любую последовательность знаков препинания оператором) ушёл в Apple, вероятно, это он такое туда протащил. — если я правильно понял, тайпклассов не будет, а будут интерфейсы, как в Java. Тайпклассы есть. — по всей видимости, в Swift не будет упячки с заголовочными файлами и реализацией, и это очень-очень хорошо — вы не сможете ещё несколько месяцев попробовать Swift, если вы не купили доступ за 100 долларов
Swift остаётся таким же медленным языком программирования, как и Objective C, не замена C++, не конкурент Rust. Однако большинству разработчиков этого будет достаточно, и это точно гораздо удобнее, чем Objective C. С чем я Apple и поздравляю. |
|