Прошлые домены не функционирует! Используйте адрес
ARHIVACH.VC.
24 декабря 2023 г. Архивач восстановлен после серьёзной аварии. К сожалению, значительная часть сохранённых изображений и видео была потеряна.
Подробности случившегося. Мы призываем всех неравнодушных
помочь нам с восстановлением утраченного контента!
Неявное использование GOTO
Классическая процедурная парадигма базируется на принципе: сверху-вниз.
GOTO - оператор, позволяющий передать управление в любой участок кода. Например так
10: Написать Привет
20: Goto 10
Несмотря на практически устоявшееся мнение того, что goto усложняет код (особенно, если его пишут криворукие программисты), goto до сих пор (а быть может всегда) остаётся ключевым оператором многих языков.
Роль GOTO выполняют такие операторы как switch, break, continue, различные лупы и даже элементарный вызов функции это GOTO > NameFunction.
Таким образом, мы получаем макаронный код якобы без единого GOTO.
Низкоуровневый IF
Все мы помним развилки, которые довольно наглядно демонстрируют на всех кафедрах, связанных с программированием. Знаменитая вилка является ключевым элементом всех языков. Без условия нет управления и не может быть принятие решений, по крайней мере понятных обычному человеку.
Но есть одно НО. Шли годы, а if оставался ifом. Что в нём не так, а то, что это до сих пор низкоуровневый костыль.
Уже давно появились устоявшиеся схемы
А. Одно условие - один вариант действий
Б. Одно условие - множество вариантов действий
В. Несколько условий - один вариант действий
Г. Несколько условий - множество вариантов действий
Минимум 4 абсолютно разных if, хотя на деле встречается гораздо больше вариантов, при этом каждый из них собирается из кучи разных кусков и в итоге получается сложноперевариваемый код с огромными блоками кода, после которых всегда может идти всё что угодно, условие иначе, либо дополнительные исключающие ифы или же просто безусловный код.
Это даже сложно описать, ещё сложнее использовать if в современной жизни, потому что он устарел. Даже простая связка с goto делает его более удобным switch, более приспособленным к современности.
Самый же простой вариант if это просто вызов goto из одной функции в другую. Например func1() => func2()