Асинхронное программирование является обязательным для реагирующих пользовательских интерфейсов, когда приложение должно взаимодействовать с непредсказуемыми сетями (например, приложениями смартфонов). Пользовательский интерфейс должен оставаться отзывчивым, ожидая, когда результаты вернутся с серверов где-то через Интернет.
В большинстве языков прикладной программист должен реализовать свои собственные машины состояний (возможно, используя блокировки), чтобы реагировать на асинхронные обратные вызовы и/или координировать умножение потоков с помощью блокировок.
Оба они очень склонны к ошибкам, а не для искреннего!
(С# ввел ключевое слово async, чтобы помочь с этим, только время (не менее 5 лет) сообщит, является ли это хорошим решением.)
Есть ли встроенная поддержка Swift для поддержки написания асинхронного кода?