Re[21]: готофобам к размышлению
От: Erop Россия  
Дата: 21.02.12 15:00
Оценка:
Здравствуйте, Vain, Вы писали:

V>Так же да не так же. В версии с флажками мне не надо нарушать порядка чтения кода, я просто продолжаю читать код последовательно, в версии с goto мне обязательно надо метку найти, чтобы посмотреть что там за код.


Это какая-то твоя личная особенность. Мне, например, вполне достаточно увидеть goto afterLoop;, чтобы предположить, что это какой-то досрочный выход из цикла, и поверить, что метка afterLoop находится там, где и должна -- сразу за телом объемлющего цикла...
Но я теперь, по крайней мере понял, что тебе в goto не нравится. Ты типа на goto глазами скачешь, а на break нет.
А ты не пробовал просто не скакать?
Все эмоциональные формулировки не соотвествуют действительному положению вещей и приведены мной исключительно "ради красного словца". За корректными формулировками и неискажённым изложением идей, следует обращаться к их автором или воспользоваться поиском
Re[22]: готофобам к размышлению
От: kvser  
Дата: 21.02.12 19:57
Оценка:
Здравствуйте, Erop, Вы писали:

E>Это какая-то твоя личная особенность. Мне, например, вполне достаточно увидеть ... и поверить, что метка afterLoop находится там, где и должна -- сразу за телом объемлющего цикла...


Дак в этом и дело, что break не надо проверять, при его встрече сразу понятно, что переход будет за тело цикла.
break более удобный в этом смысле аналог goto (вдруг-таки метка из goto не сразу за телом цикла)
Re[23]: готофобам к размышлению
От: Erop Россия  
Дата: 21.02.12 20:28
Оценка:
Здравствуйте, kvser, Вы писали:


K>Дак в этом и дело, что break не надо проверять, при его встрече сразу понятно, что переход будет за тело цикла.

K>break более удобный в этом смысле аналог goto (вдруг-таки метка из goto не сразу за телом цикл

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

С другой стороны я не спорю, что брейк ещё удобнее, но для вложенных циклов в С/С++ брейка нет...
Все эмоциональные формулировки не соотвествуют действительному положению вещей и приведены мной исключительно "ради красного словца". За корректными формулировками и неискажённым изложением идей, следует обращаться к их автором или воспользоваться поиском
Re[22]: готофобам к размышлению
От: Vain Россия google.ru
Дата: 21.02.12 20:46
Оценка:
Здравствуйте, Erop, Вы писали:

V>>Так же да не так же. В версии с флажками мне не надо нарушать порядка чтения кода, я просто продолжаю читать код последовательно, в версии с goto мне обязательно надо метку найти, чтобы посмотреть что там за код.

E>Это какая-то твоя личная особенность. Мне, например, вполне достаточно увидеть goto afterLoop;, чтобы предположить, что это какой-то досрочный выход из цикла, и поверить, что метка afterLoop находится там, где и должна -- сразу за телом объемлющего цикла...
E>Но я теперь, по крайней мере понял, что тебе в goto не нравится. Ты типа на goto глазами скачешь, а на break нет.
E>А ты не пробовал просто не скакать?
А код после метки ты уже знаешь? Или ты читаешь код сразу в обход глаз?
[In theory there is no difference between theory and practice. In
practice there is.]
[Даю очевидные ответы на риторические вопросы]
Re[23]: готофобам к размышлению
От: Erop Россия  
Дата: 21.02.12 21:04
Оценка:
Здравствуйте, Vain, Вы писали:


E>>А ты не пробовал просто не скакать?

V>А код после метки ты уже знаешь? Или ты читаешь код сразу в обход глаз?

Не понял. Это будет код после цикла. Ты, когда цикл читаешь, хочешь до того, как дочитаешь до конца, заглянуть за его тело? Если нет, то не ясно с чего вдруг такое желание возникает при выходе по гото...
Все эмоциональные формулировки не соотвествуют действительному положению вещей и приведены мной исключительно "ради красного словца". За корректными формулировками и неискажённым изложением идей, следует обращаться к их автором или воспользоваться поиском
Re[24]: готофобам к размышлению
От: Vain Россия google.ru
Дата: 21.02.12 23:22
Оценка:
Здравствуйте, Erop, Вы писали:

E>>>А ты не пробовал просто не скакать?

V>>А код после метки ты уже знаешь? Или ты читаешь код сразу в обход глаз?
E>Не понял. Это будет код после цикла. Ты, когда цикл читаешь, хочешь до того, как дочитаешь до конца, заглянуть за его тело?
Ну так обычно такой цикл и на экран не влезет.
E>Если нет, то не ясно с чего вдруг такое желание возникает при выходе по гото...
Потому-что в примерах что были метки стояли в конце функции.
[In theory there is no difference between theory and practice. In
practice there is.]
[Даю очевидные ответы на риторические вопросы]
Re[25]: готофобам к размышлению
От: Erop Россия  
Дата: 22.02.12 07:42
Оценка:
Здравствуйте, Vain, Вы писали:


V>>>А код после метки ты уже знаешь? Или ты читаешь код сразу в обход глаз?

E>>Не понял. Это будет код после цикла. Ты, когда цикл читаешь, хочешь до того, как дочитаешь до конца, заглянуть за его тело?
V>Ну так обычно такой цикл и на экран не влезет.
Ты на вопрос-то ответь...


E>>Если нет, то не ясно с чего вдруг такое желание возникает при выходе по гото...

V>Потому-что в примерах что были метки стояли в конце функции.

Читай примеры внимательнее...
Все эмоциональные формулировки не соотвествуют действительному положению вещей и приведены мной исключительно "ради красного словца". За корректными формулировками и неискажённым изложением идей, следует обращаться к их автором или воспользоваться поиском
Re[26]: готофобам к размышлению
От: Vain Россия google.ru
Дата: 22.02.12 10:25
Оценка:
Здравствуйте, Erop, Вы писали:

V>>>>А код после метки ты уже знаешь? Или ты читаешь код сразу в обход глаз?

E>>>Не понял. Это будет код после цикла. Ты, когда цикл читаешь, хочешь до того, как дочитаешь до конца, заглянуть за его тело?
V>>Ну так обычно такой цикл и на экран не влезет.
E>Ты на вопрос-то ответь...
Завист от кода. Но в общем случае я сначало цикл изучаю игнорируя все break и continue, с гоуту так не получится, надо сразу к метке лезть, её изучать.

E>>>Если нет, то не ясно с чего вдруг такое желание возникает при выходе по гото...

V>>Потому-что в примерах что были метки стояли в конце функции.
E>Читай примеры внимательнее...
Ну так как правило cleanup метки в конце функции ставят.
[In theory there is no difference between theory and practice. In
practice there is.]
[Даю очевидные ответы на риторические вопросы]
Re[27]: готофобам к размышлению
От: Erop Россия  
Дата: 22.02.12 12:00
Оценка:
Здравствуйте, Vain, Вы писали:

E>>Ты на вопрос-то ответь...

V>Завист от кода. Но в общем случае я сначало цикл изучаю игнорируя все break и continue, с гоуту так не получится, надо сразу к метке лезть, её изучать.
Почему? Просто предположи, что это выход из цикл, потом проверишь...

V>Ну так как правило cleanup метки в конце функции ставят.


Так мы о cleanup или о выходе из цикла? Их ещё и называют по-разному...
Все эмоциональные формулировки не соотвествуют действительному положению вещей и приведены мной исключительно "ради красного словца". За корректными формулировками и неискажённым изложением идей, следует обращаться к их автором или воспользоваться поиском
Re[28]: готофобам к размышлению
От: Vain Россия google.ru
Дата: 23.02.12 11:32
Оценка:
Здравствуйте, Erop, Вы писали:

E>>>Ты на вопрос-то ответь...

V>>Завист от кода. Но в общем случае я сначало цикл изучаю игнорируя все break и continue, с гоуту так не получится, надо сразу к метке лезть, её изучать.
E>Почему? Просто предположи, что это выход из цикл, потом проверишь...
Просто выход из цикла не бывает. Как правило после каждого цикла есть код, он же тебя не смущает. А почему обычное условие и брек должны?

V>>Ну так как правило cleanup метки в конце функции ставят.

E>Так мы о cleanup или о выходе из цикла?
Так вам шашечки или ехать? Вы демонстрируете goto ради самого goto?
[In theory there is no difference between theory and practice. In
practice there is.]
[Даю очевидные ответы на риторические вопросы]
Re[29]: готофобам к размышлению
От: Erop Россия  
Дата: 23.02.12 13:08
Оценка:
Здравствуйте, Vain, Вы писали:

E>>Почему? Просто предположи, что это выход из цикл, потом проверишь...

V>Просто выход из цикла не бывает. Как правило после каждого цикла есть код, он же тебя не смущает. А почему обычное условие и брек должны?
Ну, пока цикл невложенный, просто break'а вполне хватает. А вот из вложенного циткла уже приходится выходить по goto. Но я так и не понял в чём же там принуипиальное отличие от break, кроме того, что ты по каким-то своим внтренним причинам не умеешь читать код с goto...


E>>Так мы о cleanup или о выходе из цикла?

V>Так вам шашечки или ехать? Вы демонстрируете goto ради самого goto?
Ну я напомню тебе основное направление обсуждения. Тебя попросили показать чем плох goto сам по себе, на примере любой из двух распространённых практик его использования в НОРМАЛЬНЫХ программах.
1) выход из вложенных циклов в С++
2) в С goto cleanup

Дык проблем В ЭТИХ ДВУХ КОНКРЕТНЫХ СЛУЧАЯХ есть или нет?
Все эмоциональные формулировки не соотвествуют действительному положению вещей и приведены мной исключительно "ради красного словца". За корректными формулировками и неискажённым изложением идей, следует обращаться к их автором или воспользоваться поиском
Re[30]: готофобам к размышлению
От: Vain Россия google.ru
Дата: 23.02.12 16:56
Оценка:
Здравствуйте, Erop, Вы писали:

E>>>Почему? Просто предположи, что это выход из цикл, потом проверишь...

V>>Просто выход из цикла не бывает. Как правило после каждого цикла есть код, он же тебя не смущает. А почему обычное условие и брек должны?
E>Ну, пока цикл невложенный, просто break'а вполне хватает. А вот из вложенного циткла уже приходится выходить по goto.
А по встроенному условию цикла не приходиться выходить?

E>Но я так и не понял в чём же там принуипиальное отличие от break, кроме того, что ты по каким-то своим внтренним причинам не умеешь читать код с goto...

Вот оно как получается, чтение голых джампов в коде высокоуровневого языка это оказывается личные проблемы, а мужики то и не знали!

E>>>Так мы о cleanup или о выходе из цикла?

V>>Так вам шашечки или ехать? Вы демонстрируете goto ради самого goto?
E>Ну я напомню тебе основное направление обсуждения. Тебя попросили показать чем плох goto сам по себе, на примере любой из двух распространённых практик его использования в НОРМАЛЬНЫХ программах.
E>1) выход из вложенных циклов в С++
E>2) в С goto cleanup
E>Дык проблем В ЭТИХ ДВУХ КОНКРЕТНЫХ СЛУЧАЯХ есть или нет?
1. Нарушение потока выполнения, которое свойственно именно goto как таковому. Как следствие поиск метки — скроллирование экрана вверх/вниз. Случаи с простыми циклами не имеют смысла, там и без goto можно обойтись.
2. Отступы для меток, которые труднее ищутся.
3. Использование goto элементарно сподвигает программиста писать его и впредь, как результат страдает самодисциплина (тут уже про это говорилось). После этого goto импользуется не только там где это необходимо, но и везде, что как раз и способствует тому спагетти про которое и речь была.
4. Спроси ещё раз.
[In theory there is no difference between theory and practice. In
practice there is.]
[Даю очевидные ответы на риторические вопросы]
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.