Зачем удалять цикл for из языка Swift?

С недавней доступностью Swift 2.2 у нас есть подтверждение того, что цикл for (в его традиционной форме) будет поэтапно исключен из Swift, скорее всего, в Swift 3.

for(var i = 0; i < 5; i++)

будет заменено for-in:

for i in 0 ..< 5

Я читал, что Swift стремится поддерживать уровень совместимости с C (как указано в документации по выпуску Swift 2.1).

Почему с точки зрения дизайна языка и планирования это лучший вариант, ведь традиционный цикл for — один из наиболее часто используемых типов циклов, и он был включен в язык с самого начала?


person Jake Chasan    schedule 26.03.2016    source источник
comment
Полное объяснение можно найти на GitHub: github.com/apple/swift-evolution/blob/master/proposals/ TLDR: в основном используется новичками. Продвинутые пользователи предпочли циклы Swifty.   -  person Code Different    schedule 26.03.2016
comment
Насколько я понимаю, команда Apple хочет, чтобы все было максимально лаконичным. Обычный быстрый способ выполнения цикла for короче и проще, чем стандартный C-подобный способ. Меньшее зло состоит в том, чтобы сохранить только один способ сделать это (иначе вы получите что-то вроде класса против статики - многие люди не понимают разницы). Может быть, это не очень хороший пример, потому что класс против статики ИМЕЕТ разницу, в то время как нотация цикла for делала то же самое, но в любом случае :)   -  person invisible_hand    schedule 26.03.2016
comment
Поверь мне, ты хочешь пропустить это.   -  person Leo Dabus    schedule 27.03.2016