6 Несчастный goto

      Комментарии к записи 6 Несчастный goto отключены

Помечено: , ,

В этой теме 0 ответов, 1 участник, последнее обновление  Васильев Владимир Сергеевич 4 мес., 2 нед. назад.

  • Автор
    Сообщения
  • #3577

    Я, как автор литературы о программировании, конечно же, не могу отказаться от такого заезженного штампа, как обсуждение оператора goto. Почти каждый автор считает своим святым долгом высказать свое отношение к этому оператору. На мой взгляд тут стоить добавить «неудавшийся», так как в трудах авторитетных для меня людей я не встречал обсуждения этого оператора. Я себя неудавшимся автором не считаю, но высказать свои мысли все же хочется. Maki Goto

    Девушка по имени Maki Goto — единственный goto, небезразличный автору:

    Хотя, если говорить честно, то я ничего конкретного-то и не могу сказать о несчастном goto. Я им просто никогда не пользовался. Не возникало надобности. Были, конечно, какие-то размышления. Например, если есть два вложенных оператора if, у которых должен быть один общий блок else, в случае когда вложенность нельзя равнозначно заменить на один оператор if, объединив условия через оператор &&. Еще, возможно, было бы интересно, если бы метки были типизированными и их можно было бы менять местами (или даже генерировать).

    Оператор goto не такой страшный, как его малюют. Он не нарушает идиому владения, не откладывает на run-time то, что можно сделать в compile-time, не создает глобальных точек доступа, и вообще, ведет себя довольно порядочно. Оператор goto это гораздо более порядочный инструмент чем, например, C-style cast, или «сишная» функция exit.

    Некоторые авторы все вселенские беды приписывают этому оператору. Они готовы сжечь его на костре как ведьму, если бы это было возможно.

    «Ругание» goto — совершенно бессмысленная трата времени и чернил. В программировании существует бесчисленное количество гораздо более серьезных проблем.

    Я могу сказать одно: хороший это оператор или плохой — я им никогда не пользовался, не пользуюсь и пользоваться им в ближайшее время не собираюсь. И совершенно от этого не страдаю.

Для ответа в этой теме необходимо авторизоваться.