Лекс Фридман поделился способами создания бесконечного цикла
Разработчик и ведущий подкастов Лекс Фридман опубликовал в Twitter пост, в котором написал самую короткую программу, приводящую к бесконечному циклу для пяти языков программирования. Пост получил небывалый отклик и уже набрал свыше 420 ретвитов, почти 60 комментариев и 4900 лайков.
Вот как выглядят программы:
- Python:
while 1:0
- C:
Main(){main();}
- Lisp:
(loop)
- JavaScript:
for(;;);
- Java:
Class A{public static void main(String[]a){for(;;);}}
Многие пользователи отметили, что код для Java самый громоздкий и нелепый. Так, разработчик Джереми Джонс отметил, что код Java для создания бесконечного цикла похож на человека, который рассказывает историю, но не может перейти к сути, не сказав все до единой несуществующей детали.
Возможно, как и следовало ожидать, самым элегантным, лаконичным и удобным пользователи назвали Python, в котором «все урезано все до самых основных и полезных частей». Пользователь по имени Anitya G. также пошутил, сказав, что, запустив бесконечный цикл на Python, создал черную дыру и все работает «как часы».
Кстати, а вот возможный вариант создания бесконечного цикла на Rust:
Fn main()while true {}}
или
fn main(){loop{}}
А так, согласно комментарию Уильяма Касарина, бесконечный цикл будет выглядеть на Haskell. Краткость — сестра таланта:
x=x
Вниманием не обошли и C. Разработчик Тони Росам шутливо отметил, что C — это Долли Партон в мире языков программирования, потому что он старый, но до сих пор выглядит красиво. Но не все так просто. Многие пользователи заметили, что представленный Фридманом вариант для C — это бесконечная рекурсия, которая приведет к переполнению стека, если она не оптимизирована для итерации компилятором, что не является стандартом. Заметили?
Ну и напоследок как насчет старого доброго BASIC?
10 GOTO 10
Сообщить об опечатке
Текст, который будет отправлен нашим редакторам: