Форум программистов, компьютерный форум, киберфорум
Священные войны
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
Результаты опроса: Как вы относитесь к оператору goto?
goto - зло 64 48.85%
goto - cool 67 51.15%
Голосовавшие: 131. Вы ещё не голосовали в этом опросе

 
 
Рейтинг 4.89/267: Рейтинг темы: голосов - 267, средняя оценка - 4.89
710 / 283 / 16
Регистрация: 31.03.2013
Сообщений: 1,340
23.07.2015, 15:18 21
Author24 — интернет-сервис помощи студентам
Цитата Сообщение от CoderHuligan Посмотреть сообщение
Сейчас тут будут впаривать что Си отстой, только потому, что за него высказался такой чудик-приверженец goto.
Не слишком ли много чести?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
23.07.2015, 15:18
Ответы с готовыми решениями:

Оператор GOTO: за и против
Люди, по ходу, газет не читают: Оператор GOTO в языках высокого уровня является объектом критики,...

Превращение кода с goto в код без goto
Помогите переписать это код без goto и потери производительности.А то мне кажется написано...

GoTo YY
здравствуйте, читал, что не нужно злоупотреблять конструкцией, вроде этой: If GoToYY = True Then...

Goto
Добрый день, у меня очередной "мини-опрос": Вы еще застали Goto? Помните как им пользоваться?...

1018
Эксперт Python
4632 / 2050 / 361
Регистрация: 17.03.2012
Сообщений: 10,133
Записей в блоге: 6
23.07.2015, 15:31  [ТС] 22
Цитата Сообщение от CoderHuligan Посмотреть сообщение
И что на ентой яве пишут?
До чёрта всего, честно. В отличие от QBasic.
Вот как раз сейчас, например, у меня на компе открыты PyCharm и hdf_view.
А кроме программ "для всех" существует ещё корпоративный сектор.

Цитата Сообщение от CoderHuligan Посмотреть сообщение
Это анархия а не свобода
Отчего же, как раз свобода. Никто ведь не неволит говорить именно так, а не членораздельно и на разговорном языке.
Цитата Сообщение от CoderHuligan Посмотреть сообщение
А кто сказал, - что можно, а что нельзя?
Практика, сударь, практика!
Я ведь недаром в другой ветке спросил вас про отношения с коллегами. Уверен, работай вы в команде, уж ОНИ бы вам сказали.

Цитата Сообщение от CoderHuligan Посмотреть сообщение
Не правильно устроен.
Кто-то умный сказал - от ветра дурак строит стену, умный - парусник. Не надо думать, что мир устроен как-то не так. В дураках окажетесь.
0
Модератор
5047 / 3276 / 526
Регистрация: 01.06.2013
Сообщений: 6,806
Записей в блоге: 9
23.07.2015, 15:36 23
Цитата Сообщение от CoderHuligan Посмотреть сообщение
Коммон область позволяет ускорить программу.
Ни каким образом. Не надо вручную делать работу линкера.
Цитата Сообщение от CoderHuligan Посмотреть сообщение
А что - не клиника?
Клинника, то что на линухе, до сих пор пакеты в сорцах си - обычное дело.
Цитата Сообщение от CoderHuligan Посмотреть сообщение
Программист должен за этим следить. А программа должна тестироваться по факту своего рождения на свет, божий, всеми возможными способами, тогда и не будет "утечек памяти".
Тестирование - это обязательно. Однако, чистая практика показывает, что основные баги с ними связаны. Посему, в большинстве случаев от указателей можно отказаться. Может даже вообще отказаться, в том числе и для работы с железом.
0
4817 / 2278 / 287
Регистрация: 01.03.2013
Сообщений: 5,947
Записей в блоге: 28
23.07.2015, 15:37 24
Цитата Сообщение от Voivoid Посмотреть сообщение
C, как язык, стал отстоем еще годах так в 80-х. Правда у него на тот момент был единственный плюс - производительность. Но с появлением C++ ( а точнее нормальных C++ компиляторов ) C стал так вообще никому не нужен. Ну конечно за исключением тех, кто кроме C толком больше ничего не знает и знать не хочет.
Вот читаю я местных форумных гур, красиво пишут, что сказать... Но буквально на днях общался с другом, который работает на американскую контору, пишет рендер видео. Компилирует на плюсовом компиляторе, но пишет на чистом Си, без плюсовых плюшек. Никаких STL, никаких объектов и т.п. При этом получая ускорение до нескольких раз по сравнению с конкурентами, и в результате выигрывая. Местные гуры пренебрежительно кидаются лолами, а он в одно рыло переписал доставшуюся ему для усовершенствования предыдущую версию рендера, ускорив ее в несколько раз. Кто в теме, может заценить результат (демку тоже он писал):
0
Модератор
5047 / 3276 / 526
Регистрация: 01.06.2013
Сообщений: 6,806
Записей в блоге: 9
23.07.2015, 15:45 25
Цитата Сообщение от _Ivana Посмотреть сообщение
При этом получая ускорение до нескольких раз по сравнению с конкурентами, и в результате выигрывая.
В рендерах я ничего не понимаю. Ускорение - это хорошо, он молодец. Так, касательно темы: он goto часто использует или как?
0
710 / 283 / 16
Регистрация: 31.03.2013
Сообщений: 1,340
23.07.2015, 15:49 26
Цитата Сообщение от _Ivana Посмотреть сообщение
Местные гуры пренебрежительно кидаются лолами, а он в одно рыло переписал доставшуюся ему для усовершенствования предыдущую версию рендера, ускорив ее в несколько раз.
И? Что сказать-то этим хотел? На любом тьюринг полном языке можно все это написать и подозреваю, что даже в машинных кодах что-нибудь подобное да когда-либо писали.
0
4817 / 2278 / 287
Регистрация: 01.03.2013
Сообщений: 5,947
Записей в блоге: 28
23.07.2015, 16:00 27
Хотел сказать, что пока одни холиварят на форумах по философским вопросам, высказывая категоричные суждения по какому либо поводу, другие делают достойные вещи, противоречащие этим суждениям. И сказать это конечно не надменным кидателям лолов, а другим возможным читателям темы, кто пока не имеет устойчивых убеждений и заблуждений в этой области.

Добавлено через 52 секунды
Цитата Сообщение от KolodeznyDiver Посмотреть сообщение
Так, касательно темы: он goto часто использует или как?
Вот не знаю, как-то не спросил
0
710 / 283 / 16
Регистрация: 31.03.2013
Сообщений: 1,340
23.07.2015, 16:29 28
Цитата Сообщение от _Ivana Посмотреть сообщение
другие делают достойные вещи, противоречащие этим суждениям
Каким обзом факт того, что на С кто-то что-то написал противоречит тому, что это отстойный язык?
0
1287 / 880 / 254
Регистрация: 30.06.2015
Сообщений: 4,593
Записей в блоге: 51
23.07.2015, 16:50 29
Цитата Сообщение от Voivoid Посмотреть сообщение
это отстойный язык?
А какой не отстойный, по вашему?
0
710 / 283 / 16
Регистрация: 31.03.2013
Сообщений: 1,340
23.07.2015, 17:00 30
Цитата Сообщение от CoderHuligan Посмотреть сообщение
А какой не отстойный, по вашему?
Смотря какие задачи, но если в общем, то например С++ и haskell.
0
4226 / 1795 / 211
Регистрация: 24.11.2009
Сообщений: 27,562
23.07.2015, 17:33 31
Цитата Сообщение от CoderHuligan Посмотреть сообщение
Сейчас тут будут впаривать что Си отстой, только потому, что за него высказался такой чудик-приверженец goto.
1. Чистые си - слегка отстой.
2. Цитату в студию.
0
Эксперт функциональных языков программированияЭксперт Java
4486 / 2721 / 485
Регистрация: 28.04.2012
Сообщений: 8,590
23.07.2015, 17:42 32
OK, goto-хейтеры, попробуйте красиво повторить это:

C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
void foo() {
    int i, j, k;
    if (load()) {
        restore(&i, &j, &k);
        goto CONTINUE;
    }
    for (i = 0; i < N; i++) {
        for (j = i; j < N; j++) {
            for (k = j; k < N; k++) {
                if (stop()) {
                    save(i, j, k);
                    return;
                }
CONTINUE:
                do_something(i, j, k);
            }
        }
    }
}
(код упрощённый)
0
1287 / 880 / 254
Регистрация: 30.06.2015
Сообщений: 4,593
Записей в блоге: 51
23.07.2015, 17:46 33
Цитата Сообщение от Voivoid Посмотреть сообщение
то например С++
С++ - всего лишь расширение Си, а huskell имеет довольно ограниченное применение.
Цитата Сообщение от taras atavin Посмотреть сообщение
Чистые си - слегка отстой.
Чистый Си это - чистый Си. В том смысле, что он ЧИСТЫЙ
Цитата Сообщение от taras atavin Посмотреть сообщение
2. Цитату в студию.
Какую там ещё цитату???
0
4226 / 1795 / 211
Регистрация: 24.11.2009
Сообщений: 27,562
23.07.2015, 17:51 34
Цитата Сообщение от CoderHuligan Посмотреть сообщение
Какую там ещё цитату???
Доказывающую приверженность.

Добавлено через 24 секунды
Цитата Сообщение от CoderHuligan Посмотреть сообщение
С++ - всего лишь расширение Си,
Не смешно.
0
710 / 283 / 16
Регистрация: 31.03.2013
Сообщений: 1,340
23.07.2015, 18:00 35
Цитата Сообщение от korvin_ Посмотреть сообщение
OK, goto-хейтеры, попробуйте красиво повторить это:
Если бы еще знать что это, тупо переписывать код без знания семантики смысла нет. Но на первый взгляд можно было бы заюзать генераторы списков или корутины.
0
1287 / 880 / 254
Регистрация: 30.06.2015
Сообщений: 4,593
Записей в блоге: 51
23.07.2015, 18:01 36
Цитата Сообщение от taras atavin Посмотреть сообщение
Доказывающую приверженность.
Это была моя цитата. Я говорил о себе.
Цитата Сообщение от taras atavin Посмотреть сообщение
Не смешно.
А на чём писали Си++?
0
4226 / 1795 / 211
Регистрация: 24.11.2009
Сообщений: 27,562
23.07.2015, 18:07 37
Цитата Сообщение от CoderHuligan Посмотреть сообщение
А на чём писали Си++?
Если сами си написать на языке ассемблера, то они станут расширением языка ассемблера? А если на сях написать пролог, он тоже станет расширением сей?
0
Модератор
5047 / 3276 / 526
Регистрация: 01.06.2013
Сообщений: 6,806
Записей в блоге: 9
23.07.2015, 18:08 38
Цитата Сообщение от Voivoid Посмотреть сообщение
Если бы еще знать что это, тупо переписывать код без знания семантики смысла нет.
Смысл понятен. Внутри трёх вложенных циклов рассчитывается какая то очень долгоиграющая do_something. Когда нам надоедает ждать, мы можем расчёт приостановить, а когда проспимся, продолжить.
Но и тут не стоит, конечно, гоутукать. Хотя korvin_, надо сказать, постарался подобрать пример.
0
4226 / 1795 / 211
Регистрация: 24.11.2009
Сообщений: 27,562
23.07.2015, 18:09 39
Правильно, не стоит.
0
1195 / 588 / 88
Регистрация: 20.09.2012
Сообщений: 1,881
23.07.2015, 18:10 40
Цитата Сообщение от korvin_ Посмотреть сообщение
OK, goto-хейтеры, попробуйте красиво повторить это
я, в общем то, не хейтер, но проблемы нет (упрощено)
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
void foo() {
    int i, j, k, c = 1;
    for (i = 0; i < N; i++) {
        for (j = i; j < N; j++) {
            for (k = j; k < N; k++) {
                if (c) { 
                    if (load()) restore(&i, &j, &k);
                    c = 0;
                }
                if (stop()) {
                    save(i, j, k);
                    return;
                }
                do_something(i, j, k);
            }
        }
    }
}
0
23.07.2015, 18:10
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
23.07.2015, 18:10
Помогаю со студенческими работами здесь

От goto к while
Доброго времени суток. Сделал программу через goto и пытаюсь её исправить что бы работала через...

Goto
Как использовать оператор goto для перехода из процедуры Image в процедуру Timer????

goto, goto, goto в Си
Привет! После небольшого опыта программирования на assembler, я смотрю на goto как на обычный...

c# и goto
поразительно но опять какаято странная ошибка. компилятор ругается, если я ставлю метку(для...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
40
Закрытая тема Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru