История изменений
Исправление Aber, (текущая версия) :
а на нормальных языках …
Rly?
for i from 0 to 9
Я не могу никак запомнить to 9
это включая 9 или до 9? Или вот until? Until таки точно до 9
т.е. максимум будет 8
, а значит to
включает! - Вот это мой внутренний диалог когда я вижу такой код!
Оцените Kotlin:
for (i in 8 downTo 1 step 2) print(i)
Мне приходится напрягаться чтоб понять как работает этот код. Что такое step 2, это будет 8,5,2
или 8,6,4,2
т.е. к обычному downTo прибавляется 2? Или все операции по умолчанию step 1
но мы явно переопределяем значение step
?
В то время как на c/c++/java все кристально чисто:
for (int i = 8; i >= 1; i-=2) print(i)
Ведь этот код проще! Ты запомнил как писать арифметические операции и операции сравнения и используешь их везде!
А тут какой-то обход цикла требует знания своего особого DSL, который используется ну разве только в алгоритмических зачах, а если ты годами пишешь CRUDы то все что у тебя остается в голове это обход коллекций без вывертов, и тогда любой сложный for требует обращение в google.
Исходная версия Aber, :
а на нормальных языках …
Rly?
for i from 0 to 9
Я не могу никак запомнить to 9
это включая 9 или до 9? Или вот until? Until таки точно до 9
т.е. максимум будет 8
, а значит to
включает! - Вот это мой внутренний диалог когда я вижу такой код!
Оцените Kotlin:
for (i in 8 downTo 1 step 2) print(i)
Мне приходится напрягаться чтоб понять как работает этот код. Что такое step 2, это 8,5,2
или 8,6,4,2
т.е. к обычному downTo и прибавляется 2, или все операции по умолчанию step 1
но мы явно переопределяем step
?
В то время как на c/c++/java все кристально чисто:
for (int i = 8; i >= 1; i-=2) print(i)
Ведь этот код проще! Ты запомнил как писать арифметические операции и операции сравнения и используешь их везде!
А тут какой-то обход цикла требует знания своего особого DSL, который используется ну разве только в алгоритмических зачах, а если ты годами пишешь CRUDы то все что у тебя остается в голове это обход коллекций без вывертов, и тогда любой сложный for требует обращение в google.