Что необычного можно делать в новом языке программирования Apple?
- Автор
- Дата публикации
В новом языке программирования Apple Swift есть необычная функция.
На конференции для разработчиков WWDC компания Apple явила миру новый язык программирования Swift, который призван упростить разработку под iOS и OS X и сделать её более наглядной. Как выяснилось, калифорнийская корпорация в очередной раз отличились – инженеры Apple ввели в Swift возможность деления на ноль.
«Обычное деление числа на ноль или же возврат остатка от деления на ноль вызывают ошибку. Но оверфлоу-версии таких операторов просто вернут ноль при делении на него», – говорится в документации для разработчиков. Как пишет AIN, эту особенность Swift во время изучения языка заметил разработчик Алексей Мась.
По его словам, данный эксперимент Apple обеспечивает лучший уровень работоспособности кода. Это одна из защищенных операций, с которыми экспериментирует Apple: что бы разработчик ни написал, программа сработает, а не «вылетит». В целом, так можно писать более безопасный код, объясняет программист.
«У меня ноль может появиться, к примеру, когда картинка не подгрузилась. А деление нужно, чтобы соблюсти пропорции картинки при выводе (картинке, у которой ширина нулевая, нужна нулевая высота)», — говорит он. Мась отметил, что в других языках программирования подобных решений он пока не встречал.
Swift, призванный благодаря упрощенному синтаксису привлечь больше разработчиков к созданию приложений, является преемником почтенного по возрасту языка программирования Objective-C, и, как утверждает Apple, превосходит последний. Созданный с нуля он не несет ни капли унаследованного багажа C, но при этом в одном и том же проекте можно запросто смешивать код Swift с кодом C и Objective-C.
Apple сравнила реализацию нескольких алгоритмов на Swift и Objective-C, показав, что в случае первого код работает на треть быстрее. В общем и целом, язык получился быстрее и проще.
[news id="1322727" name="" img=""]
[news id="1358359" name="" img=""]
[news id="1351748" name="" img=""]