[Ответить в тред] Ответить в тред

03/04/16 - Набор в модераторы 03.04 по 8.04
26/03/16 - Конкурс: Помоги гомункулу обрести семью!
15/10/15 - Набор в модераторы 15.10 по 17.10



[Назад][Обновить тред][Вниз][Каталог] [ Автообновление ] 76 | 7 | 31
Назад Вниз Каталог Обновить

Аноним 16/04/16 Суб 20:14:12  718666  
14608268525970.jpg (245Кб, 1280x960)
Я не совсем понял. А чем таким популярен Эдсхар Дэйкстра?
Что он такого сделал, что о нём говорят до сих пор?
Ну, не нравилась ему его Гейландия. Ну, свалил он в свою бездуховную Пиндосию.
Ну, и что?
Мне-то что с того? Какое до него мне дело?
Кто он такой вообще?
Аноним 16/04/16 Суб 20:17:58  718670
BUMP.
Аноним 16/04/16 Суб 20:46:36  718695
14608287966450.webm webm file (2853Кб, 704x294, 00:00:37)
Аноним 16/04/16 Суб 20:47:34  718697
14608288545100.webm webm file (2355Кб, 640x800, 00:00:06)
Аноним 16/04/16 Суб 20:49:47  718701
14608289874590.webm webm file (2911Кб, 480x256, 00:01:17)
Аноним 16/04/16 Суб 21:32:21  718750
>>718666 (OP)
1. Оказал большое влияние на развитие методологии программирования и теории алгоритмов;
2. Опустил BASIC и оператор goto.
Аноним 16/04/16 Суб 23:45:34  718814
>>718750
> оператор goto.
Двачую. Отличный детектор дегенератов сделал.
Аноним 16/04/16 Суб 23:57:18  718826
>>718666 (OP)
Зафорсил структурное программирование.
Пилил с Хоаром Алгол и компайлер к нему.
Придумал семафоры, несколько важных алгоритмов поиска.
Проделал множество исследований в области распределённых вычислений (в те то бородатые годы).
Учил тогдашних быдлокодеров дисциплине программирования.
Обоссал Кобол.
Аноним 17/04/16 Вск 00:20:58  718844
гото охуенен, не пиздите
Аноним 17/04/16 Вск 00:21:18  718845
з.ы. а вот алгол хуйня
Аноним 17/04/16 Вск 00:28:17  718852
>>718844
Делает поток непредсказуемым.
Аноним 17/04/16 Вск 00:31:21  718854
14608422810520.png (77Кб, 512x748)
>>718814
Предлагаю тебе переписать этот скромный участок кода без goto.
Аноним 17/04/16 Вск 00:34:09  718857
>>718852
Тебе тоже: >>718854

Эзотерика с циклом и break'ами не принимается. Неоптимальное по времени/памяти говно также не принимается, потому что это участок в каком-то драйвере, кажется (первый рандомный исходник из дерева Линукса взял).
Аноним 17/04/16 Вск 00:42:46  718862
>>718854
Ошибку - в функцию и дёргать функцию каждый раз, когда нужно.
Аноним 17/04/16 Вск 00:45:03  718863
>>718854
> 2016
> развернутый вручную цикл
Аноним 17/04/16 Вск 00:51:44  718870
>>718862
Первый сектант-школьник обосрался. Тебе всё равно нужно будет после вызова функции прыжок делать.

>>718863
> 2016
> не писать драйвера на Java
Аноним 17/04/16 Вск 00:55:38  718874
>>718870
> сосачер с черно-белым взглядом на мир думает что если код не представляет собой неподдерживаемую копипаст дрисню то он непозволительно медленный
Аноним 17/04/16 Вск 00:57:53  718875
>>718874
Я пишу на сриптопетушне, а мой основной ЯП имеет сборщик мусора. Каким будет твой следующик ход?
Аноним 17/04/16 Вск 01:03:10  718878
>>718854
примерно как

if (!regmap_write1 &&
!regmap_write2 &&
!regmap_writeN) {

} else { // err
}

Аноним 17/04/16 Вск 01:05:26  718882
>>718854
>драйвер
>ret проверяется два раза
Ясно чому у меня убунта тормозит
Аноним 17/04/16 Вск 01:11:35  718883
>>718882
потому, что у тебя виндовз
Аноним 17/04/16 Вск 03:02:15  718905
>>718854
Проиграл с usleep.
Это чтобы железяка успела отреагировать, да?
Аноним 17/04/16 Вск 07:47:23  718924
>>718854
Вместо goto использовать return.
Аноним 17/04/16 Вск 10:09:54  718955
>>718854
засунуть второй и третий аргумент функции в лист как тьюпл, вызывать функцию в цикле.
Аноним 17/04/16 Вск 10:17:53  718964
>>718854
Ты не дегенерат.

А вот эти:
>>718862
>>718863
>>718878
>>718924
>>718955
>>718852
>>718874

- дегенераты.

Я ж говорю, хороший детектор.

>>718814-кун
Аноним 17/04/16 Вск 10:25:51  718966
>>718964
>не дегенерат

Скорее дегенерат тот, кто вручную разворачивает циклы "для праизвадительнасти" и делает usleep в одной и той же функции.
Аноним 17/04/16 Вск 10:32:11  718971
>>718966
О, еще одно быдло.
Аноним 17/04/16 Вск 10:33:29  718973
>>718854
и нахуя ты после метки err перепроверяешь значение ret?
Аноним 17/04/16 Вск 10:39:09  718975
>>718973
Догадайся, придурок.
Аноним 17/04/16 Вск 10:42:33  718980
>>718854
А чем if (!ret) не устроил? Получается вложенный if, который сам в асме развернется в нужные джампы, зато goto не нужен, не?
Аноним 17/04/16 Вск 10:56:00  718985
>>718973
Паскаль не учил штоле? У нас на районе за такие вопросы сразу убивают нахер.

Код после метки выполняется всегда, а ret может быть нормальным, а не ошибочным.
Аноним 17/04/16 Вск 11:02:27  718989
>>718854
Вот я не пони автора этого говнокода. Накопипастить вызовов regmap_wrirte c разными параметрами ему ума хватило, а докопипастить везде одну строчку dev_dbg - нет. И завернуть еще каждый новый вызов в if( !ret ) { }.

НУ ТУПЫЕЕЕЕЕЕЕ
Аноним 17/04/16 Вск 11:08:51  718994
>>718854
for (size_t i = 0; i < ATTR_LIST_LEN; ++i) {
    if (!ret = regmap_write(...)) {
        dev_dbg(...);

        return ret;
    }
}
какашечка 17/04/16 Вск 11:11:33  718996
>>718994
наркоман?
Аноним 17/04/16 Вск 12:26:47  719038
>>718814
>Двачую. Отличный детектор дегенератов сделал.
>>718854
>Предлагаю тебе переписать этот скромный участок кода без goto.

Охуеть. И дегенерат попался в первом же ответе.
Аноним 17/04/16 Вск 12:37:42  719046
>>718854
Пишем функцию которая в зависимости от передаваемых ей значений взвывает ту функцию с разными параметрами. Потом бежим фором по всем возможным параметрам с условием выходы нашли ошибку или закончились параметры.
Аноним 17/04/16 Вск 12:46:19  719056
>>719046
Потеря скорости. goto невозможно заменить без потерь.
Аноним 17/04/16 Вск 12:47:56  719059
>>719056
Но ту лапшу можно и в цикл свернуть, пусть там и будет goto.
Аноним 17/04/16 Вск 12:48:44  719060
>>719056
doSmthng()
if(!res) {
doSmthng()
if(!res) {
doSmthng()
if(!res) {
}
}
}
Аноним 17/04/16 Вск 12:48:59  719061
>>719056
Компилятор развернёт. Ну или вместо функции сделать массив pair в котором хранить параметры для вызова этой функции. Тогда потерь ещё меньше т.к. дополнительная функция не вызывается.
Аноним 17/04/16 Вск 12:52:27  719067
>>719060
Это спагетти-код. goto, ironically, allows to avod it.
Аноним 17/04/16 Вск 12:58:52  719071
>>719067
>goto невозможно заменить без потерь.
Всё же возможно, согласись?

>Это спагетти-код.
Нет, не спагетти, просто громоздкий. Спагетти это когда поток управления скачет в произвольных направлениях, рисуя морские узлы своей траекторией. А здесь всё структурненько.

Аноним 17/04/16 Вск 13:10:25  719088
Алсо без лишней проверки (я предполагаю, что ret не меняется другими потоками пока мы спим) можно сделать так:
    ...    
    sleep(...)

    return ret;
err:
    dev_dbg(...);
    return ret;
}

Но такие мелочные оптимизации - для глупых дрочеров.
Выигранные на разворачивании циклов и т.п. такты сгорают когда процессору приходится читать из оперативки больше кода. И меньше места в кеше остаётся под полезные вещи.
Аноним 17/04/16 Вск 13:11:28  719090
>>719088
>Алсо без лишней проверки
Она таки не лишняя.
Аноним 17/04/16 Вск 13:40:46  719124
>>719090
И для чего же она нужна в вышеприведенном коде?
Аноним 17/04/16 Вск 13:43:53  719127
>>719124
Для того, чтобы dev_dbg вызывался только если ret != EOK
Аноним 17/04/16 Вск 13:46:35  719129
мой любимый пример с goto:

// int x;
// Someobject[] a;
// int Func(Someobject obj);

for (int ii = 0; ii < a.length; ii++)
{
    if (Func(a[ii]) == 0)
    {
        SomeOtherFunctionOrCode();
        goto endc;
    }
}

// some code here, which executes in a case of absense zeroes in the Func(a[ii]) array.

endc:

// other code
Аноним 17/04/16 Вск 13:47:35  719130
>>719129
>мой любимый пример с goto:
http://eli.thegreenplace.net/2012/07/12/computed-goto-for-efficient-dispatch-tables
Аноним 17/04/16 Вск 13:47:56  719131
>>719129
Алсо, ньюфаги не могут в индентацию.
Аноним 17/04/16 Вск 13:54:56  719134
>>719130
Вообще заебись. Я такие вещи только на асме делал и думал что высокоуровневом говне такое невозможно.
Аноним 17/04/16 Вск 13:57:26  719143
>>719134
Ну это нестандартное расширение GNU. Которое, впрочем, весьма полезно и поддерживается шлангом и интелом.

А MSVC и Борланду хуй в жопу и перо под ребро.
Аноним 17/04/16 Вск 14:17:03  719152
>>719127
А то, что на `err: dev_dbg(...)` в данном варианте переходят только после проверки ret ты, разумеется, не заметил.
Аноним 17/04/16 Вск 14:19:04  719156
>>719129
>мой любимый пример с goto
Какая странная любовь.
[code lang="d"]
if (a.map!(func).canFind(0)) {
someOtherFunctionCode;
} else {
// some code here, which executes in a case of absense zeroes in the Func(a[ii]) array.
}

// other code
[/code]
Аноним 17/04/16 Вск 14:19:39  719158
>>719152
А то, что до `err: ...` нету return, ты, разумеется, не заметил.
Аноним 17/04/16 Вск 14:20:23  719160
>>719158
Ты сейчас про >>719088?
Аноним 17/04/16 Вск 14:21:42  719163
>>719160
Про >>718854
Аноним 17/04/16 Вск 14:23:10  719166
14608921907850.png (7Кб, 227x222)
>>719156
Аноним 17/04/16 Вск 14:25:10  719170
>>719166
Я только что пришел, вообще-то.
Аноним 17/04/16 Вск 14:25:44  719171
>>719170
От этого твой код не работает быстрее.
Аноним 17/04/16 Вск 14:28:52  719178
>>719171
Откуда ты знаешь? Научился оптимизировать лучше компилятора?
Аноним 17/04/16 Вск 14:38:09  719187
>>719178
Да.
Аноним 17/04/16 Вск 14:52:22  719198
14608939422750.png (9Кб, 473x500)
>>719187
Аноним 17/04/16 Вск 14:54:16  719199
>>719187
Молодец, только никто не говорил, что тот код был критичным по скорости выполения. Да и вообще, за premature optimization Дейкстра на макушку велел на ссать.
Аноним 17/04/16 Вск 15:23:36  719212
>>719199
> только никто не говорил, что тот код был критичным по скорости выполения.
То что его можно сделать без goto (как и без for) и так понятно.

> Да и вообще, за premature optimization Дейкстра на макушку велел на ссать.
Нахуй Дейкстру и прочую шваль. Важен только эксперимент, а не фамилии или авторитеты. Я видел заваленные проекты из-за того что разработчик следовал заповедям избегать преждевременной оптимизации. Довел свой проект до такого состояния, что он был по существу нерабочим (скорость была неприемлемо низкой), а когда попробовал оптимизировать, то оказалось что надо переписывать проект заново на новой технологии, после чего чел слился, т.к. силенок на это уже не хватило. Причем даже если бы хватило, то он бы сделал еще какую-нибудь глупость, исправление которой тоже стоило бы неимоверных усилий.
Аноним 17/04/16 Вск 15:38:01  719224
>>719212
В принципе согласен, за двумя уточнениями.

>Важен только эксперимент, а не фамилии или авторитеты.
Если авторитет дал миру что-то хорошее, то я не вижу смысла принципиально этого избегать. Любой эксперимент имеет под собой некую теоретическую базу, чаще всего уже наработанную теми самыми авторитетами. Но это, конечно же, не значит что нужно во всем с ними соглашаться. Не зря же говорят, что величие ученого определяется тем, насколько он смог затормозить в развитии ту область знаний, в которй работал.

>заваленные проекты из-за того что разработчик следовал заповедям избегать преждевременной оптимизации
Избегать преждевременной оптимизации != писать неэффективный код.

Я думаю, надо во всем знать меру.
Аноним 18/04/16 Пнд 11:00:52  719968
>>719224
>авторитет
"Arrogance is measured in nano-Dijkstras".
Аноним 18/04/16 Пнд 11:23:16  719973
>>718666 (OP)
1. Изобрел структурное программирование, которое используется до сих пор (циклы и прочие конструкции)
2. Придумал алгоритм для поиска элемента в графе (сети)
3. Сказал, что использовать GOTO зашквар
4. Предсказал развал СССР, когда узнал, что мы начали копировать архитектуру IBM PC вместо развития своей
5. Первым начал разжигать языкосрачи
Аноним 18/04/16 Пнд 11:27:42  719976
>>718826
Точно, про семафоры совсем забыл. Он еще и отец многопоточного программирования.
Аноним 18/04/16 Пнд 21:15:41  720448
>>719199
>за premature optimization Дейкстра на макушку велел на ссать
Не, это уже Кнут.
Аноним 18/04/16 Пнд 23:05:53  720532
Полон тред дегенератов? не осиливших разобрать элементарный код на С, зато про goto кукарекают.

Я все же надеюсь, что это веб-макаки, иначе пиздос.
Аноним 18/04/16 Пнд 23:20:32  720547
>>720532
съеби уже, толстяк
Аноним 18/04/16 Пнд 23:55:03  720594
>>720532
>, что это веб-макаки, иначе пиздос.
В основном да. И не удивляйся так. Я еще в 2009 понял что 90% программистов это быдло.
Аноним 19/04/16 Втр 00:00:01  720599
>>720448
И он кстати сказал, что GOTO рулит, а Дейкстра хуй.
Аноним 19/04/16 Втр 00:14:08  720611
>>720599
«Goto нужен!» — раздался пронзительный голос со стороны параши.

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

Кнут — не человек, и сегодня ему предстоит очень трудная ночь. У него уже в течение полутора лет каждая ночь была очень трудной, и теперь его байтоебский анус был разработан настолько, что он без труда мог спрятать в нём четырёхтомник "исскуства программирования".
Аноним 19/04/16 Втр 00:31:24  720643
>>720594
>И не удивляйся так

>веб-макаки в треде о программировании
>не удивляйся

Ну ок.
Аноним 19/04/16 Втр 00:43:34  720653
>>720643
>байтодаун, не осиливший даже структурное программирование, думает что он лучше веб-макаки

ох воу
Аноним 19/04/16 Втр 01:08:17  720660
>>720653
>структурное программирование

Веб-макака рассуждающая о программировании выглядит еще более нелепо, чем бабульки у подъезда рассуждающие о политике.

[Назад][Обновить тред][Вверх][Каталог] [Реквест разбана] [Подписаться на тред] [ ] 76 | 7 | 31
Назад Вверх Каталог Обновить

Топ тредов