Ответ 1
Да, он компилируется для машинного языка посредством битового кода llvm и, как сказал @connor, работает поверх Objective-C времени выполнения.
Простой вопрос на самом деле, однако, похоже, нет прямого ответа в текущей документации разработчика.
Скомпилируется ли Swift на машинный язык (например, сборка) или компилируется какая-либо промежуточная форма, которая затем запускается на виртуальной машине?
(Я подозреваю, что это так, но, будучи незнаком с развитием в мире Apple, мне не ясно, как это может быть для кого-то, кто есть.)
Да, он компилируется для машинного языка посредством битового кода llvm и, как сказал @connor, работает поверх Objective-C времени выполнения.
Swift не только компилируется в собственный машинный код, но также был специально разработанный для него. В отличие от, например, Java, разработанная специально как язык JITed. Под этим я подразумеваю, что Swift достигает наилучшей производительности с помощью компиляции заранее, в то время как Java больше всего выигрывает от JITing.
Есть много причин для этих вариантов дизайна, но среди них заключается в том, что Swift имеет гораздо больший объем, чем управляемые языки, такие как Java. Он должен работать как на настольных компьютерах, так и на телефонах с более ограниченным оборудованием. Вы можете использовать Swift как язык системного программирования, в отличие от С#, Java или Python, поскольку он имеет небольшие требования к времени выполнения и позволяет довольно детально управлять памятью. Поэтому теоретически нужно иметь возможность создавать ядро ОС с Swift, что было бы сложно с Java.
Swift, например Objective-C, скомпилируется в машинный код, который выполняется во время выполнения Objective-C.
Swift, как и objective-c, компилируется в собственный код, используя llvm
Хорошее объяснение можно найти в Apple, совершенно секретный Язык Swift вырос из работы, чтобы поддерживать Objective C, который теперь нацелен на замену
Из этой статьи, говорящей о Swift
Компилятор оптимизирован для производительности, а язык - оптимизированный для разработки, без компрометации.