Страницы

Поиск по вопросам

вторник, 2 апреля 2019 г.

Зачем нужны другие операторы если есть GoTo?

Задался вопросом, а зачем нужны другие операторы и циклы если есть мощное ключевое слово GoTo?
GoTo можно заменить любой цикл, а так же GoTo дает простор для творчества, так как можно называть метки тем, что в голову взбретет .
Так же, все равно в конечно итоге красивый код превращается в последовательность GoTO на машинном языке.
На мой взгляд GoTo- это, что-то типа Базона Хигса, который считается частицей бога, а GoTo оператор машинного бога.


Ответ

Проблема в том, что код пишется не для компилятора, а для человека. Для ваших коллег и для вас самого через полгода.
Безумная мощь оператора goto оборачивается его слабой выразительностью. При помощи goto вы можете выразить именно что всё: и итерирование по списку, и проверку логического условия, и вызов подпрограммы, что угодно. Вам, видя оператор goto, для понимания текста придётся восстанавливать логику каждый раз самому. А это трата времени и мысленных усилий, которые приходится применять каждый раз, когда вам нужно понять, правильный ли код, или, ещё хуже, найти ошибку и исправить её.
Так что другие операторы в языках есть для людей, читающих и пытающихся понять логику программы. А компьютеру всё равно, он бы и с одним goto работал, железяка тупая.

Комментариев нет:

Отправить комментарий