Неплохая попытка,GOTO

Неплохая попытка,GOTO IT, IT юмор, Комиксы, Программирование

IT-юмор

5.6K поста52.5K подписчиков

Добавить пост

Правила сообщества

Не публикуем посты:
1) с большим количеством мата
2) с просьбами о помощи
3) не относящиеся к IT-юмору

Вы смотрите срез комментариев. Показать все
7
Автор поста оценил этот комментарий
,переведите пожалуйста...
раскрыть ветку (23)
51
Автор поста оценил этот комментарий

В академическом программировании очень не любят инструкцию "goto ..." (переход к выполнению указанного участка кода). Отчасти это правильно, потому как её использование может сделать код сложным для восприятия и отладки (что могу подтвердить, так как лично видел и отлаживал подобный код). Зато очень любят конструкцию do ... while (цикл с выходом по условию) и ещё больше for ... (цикл с выходом по условию и итератором). Так вот, автор намекает, что в основе этих конструкций лежит всё тот-же нелюбимый всеми goto, что, в принципе, так и есть. Вот только они облекают goto в такую форму, что даже самый опытный программист не сможет запутать ими код до степени тарелки со спагетти.

раскрыть ветку (9)
3
Автор поста оценил этот комментарий

По сути вызов функции тоже является формой goto.

раскрыть ветку (1)
5
Автор поста оценил этот комментарий

Не совсем - из-за стека вызовов.

2
Автор поста оценил этот комментарий
что даже самый опытный программист не сможет запутать ими код до степени тарелки со спагетти

ИЗИ. Надо просто представить control flow в явном виде.

https://pastebin.com/c80Sf7kt

раскрыть ветку (3)
2
Автор поста оценил этот комментарий

Имелось в виду непреднамеренно. Преднамеренно - это уже обфускация, но, подозреваю, что даже там есть способы запутать код получше, чем навтыкать груду goto.

Автор поста оценил этот комментарий

Нахуя?

switch (next_command) {

case 0: ... DoNextCommand(1); break;

case 1: ... DoNextCommand(2); break;

case 2: DoNextCommand(10); break; // why would you need goto?

....

}

раскрыть ветку (1)
1
Автор поста оценил этот комментарий

Что именно нахуя? Мне говорят, что с циклами не сделать такой спагетти-код, как с goto, я показываю, как реализовать goto, и, соответственно, сделать такой же спагетти-код.

Автор поста оценил этот комментарий

добавить переход через переполнение памяти

раскрыть ветку (2)
Автор поста оценил этот комментарий

Это как?

раскрыть ветку (1)
Автор поста оценил этот комментарий

google SQL-инъекции (лучше проконсультируйся у специалистов)


воспользоваться уязвимостями(фичами) языка


к примеру ассемблерные вставки опкодов по адресу в память (к примеру в паскале (старом) написать редактор со сдвигом на следующую строку и интерпретировать напечатанный текст из видеобуфера)


когда у тебя в браузере вкладки зависают из за утечек памяти


неправильная обработка исключений (когда то win уходила в экран смерти при обрыве модемного соединения - из за корявых драйверов для модема)

22
Автор поста оценил этот комментарий

команда "goto" - злодей для программистов, спрятана под масками while и for циклов

раскрыть ветку (2)
6
Автор поста оценил этот комментарий

Скорее это зло, аккуратно обернутое во благо

раскрыть ветку (1)
1
Автор поста оценил этот комментарий

Просто там есть пара предохранителей от тупых, а вот у чистого готу не всегда

ещё комментарии
Вы смотрите срез комментариев. Чтобы написать комментарий, перейдите к общему списку