#алгоритм #ооп #goto
Задался вопросом, а зачем нужны другие операторы и циклы если есть мощное ключевое слово GoTo? GoTo можно заменить любой цикл, а так же GoTo дает простор для творчества, так как можно называть метки тем, что в голову взбретет . Так же, все равно в конечно итоге красивый код превращается в последовательность GoTO на машинном языке. На мой взгляд GoTo- это, что-то типа Базона Хигса, который считается частицей бога, а GoTo оператор машинного бога.
Ответы
Ответ 1
Проблема в том, что код пишется не для компилятора, а для человека. Для ваших коллег и для вас самого через полгода. Безумная мощь оператора goto оборачивается его слабой выразительностью. При помощи goto вы можете выразить именно что всё: и итерирование по списку, и проверку логического условия, и вызов подпрограммы, что угодно. Вам, видя оператор goto, для понимания текста придётся восстанавливать логику каждый раз самому. А это трата времени и мысленных усилий, которые приходится применять каждый раз, когда вам нужно понять, правильный ли код, или, ещё хуже, найти ошибку и исправить её. Так что другие операторы в языках есть для людей, читающих и пытающихся понять логику программы. А компьютеру всё равно, он бы и с одним goto работал, железяка тупая.Ответ 2
Это просто один из стилей 3-го поколения языков программирования. По-моему, возникший скорее для обучения новому мышлению, чем для реального выигрыша. Языки второго поколения (Ассемблеры) без GoTO (JMP) просто не могли работать. Переходные языки (Basic, Fortran) также нумеровали строки и использовали переходы. Стиль "без goto" - всего лишь стиль, не более. Иногда алгоритмы с goto работают быстрее, т.к. в полной мере используют возможности самого процессора Оператор Бога... Что-то в этом есть. Именно идея абстрактной универсальной алгоритмической машины Эмиля Поста содержала что-то типа goto. Всего лишь 6 операций, позволяющих реализовать любой алгоритм... Эта одна из нихОтвет 3
Не во всех языках есть этот оператор. Бездумное использование приводи к коду который очень сложно понимать и поддерживать (спагетти-код). Этот оператор плохо выражает намеренья программиста.
Комментариев нет:
Отправить комментарий