@proGO

Страница 1448 из 1674
tsov
21.05.2018
08:44:28
имхо, для использования goto надо иметь очень-очень, прямо усраться насколько очень, веские причины. Что-то из разряда "сократить размер кода в 18 раз" или "ускорить программный код в 4 раза".
это нужно для сквозного выхода из глубокой вложенности областей видимости вложенных циклов, например. ничего в нем плохого нет. Донован рекомендует юзать во вложенных switch как минимум

Vladislav
21.05.2018
08:46:15
потому что код имеет свойство превращаться в непредсказуемую кашу, например
но это зависит от пищущего, а не от синтаксических возможностей

Google
Dmitri
21.05.2018
08:46:43
https://github.com/golang/go/blob/cc09212f59ee215cae5345dc1ffcd1ed81664e1b/src/fmt/print.go#L956
к слову, goto здесь нет. break label есть, goto label - нету

Alexey
21.05.2018
08:46:44
не вижу разницы между break label и goto в контексте вложенных циклов)

Dmitri
21.05.2018
08:47:54
но это зависит от пищущего, а не от синтаксических возможностей
собственно, профитов от goto - примерно около нуля. Чаще всего пример использования - недостаток планирования.

не вижу разницы между break label и goto в контексте вложенных циклов)
семантика несколько разная, например. break таки "прервать цикл", goto - нет

Vladislav
21.05.2018
08:49:49
собственно, профитов от goto - примерно около нуля. Чаще всего пример использования - недостаток планирования.
это вывод из каких-то конкретных алгоритмов на каком-то конкретном языке, да?

Dmitri
21.05.2018
08:50:50
это вывод из каких-то конкретных алгоритмов на каком-то конкретном языке, да?
вы же мне сейчас покажете конкретный пример конкретного кода на конкретном высокоуровневом языке, в котором goto даёт ощутимый профит?

tsov
21.05.2018
08:51:07
это все рвно что goto

Vladislav
21.05.2018
08:51:27
Dmitri
21.05.2018
08:51:48
это все рвно что goto
семантика разная, а потому может быть иначе отработана компилятором, например

Roman
21.05.2018
08:52:01
собственно, профитов от goto - примерно около нуля. Чаще всего пример использования - недостаток планирования.
проблема с goto в том, что control flow разрывает на части: можно оказаться в совершенно неожиданном месте и с неожиданным стейтом

Olzhas
21.05.2018
08:52:53
как будто в пыхерский чатик зашел и нарвался на спор о пользе двойных и одинарных кавычек

Dmitri
21.05.2018
08:53:12
я бы сначала на свой вопрос ответ получил. чёт по еврейски встречные задавать
я говорю, что примеры обоснованного применения goto в высокоуровневых языках в природе не встречаются. Какой пример несуществующего кода показать?

Google
Dmitri
21.05.2018
08:54:35
сочувствую вашему кругозору )
в смысле, у вас кругозор значительно шире, и вы мне сейчас покажете этот самый "качественный код на высокоуровневом языке, в котором применение goto обоснованно"?

проблема с goto в том, что control flow разрывает на части: можно оказаться в совершенно неожиданном месте и с неожиданным стейтом
собственно, по логике, этим break label и отличается от goto label. break должен таки вернуть в область видимости выше прерванного цикла, goto - йух знает куда.

Vladislav
21.05.2018
08:55:53
если на пальцах - если бы goto был не нужен, его бы не было. а если бы люди читая его критику дочитывали о чем она была конкретно, то и религиозных споров о нужности/ненужности goto бы не было

Dmitri
21.05.2018
08:57:59
если на пальцах - если бы goto был не нужен, его бы не было. а если бы люди читая его критику дочитывали о чем она была конкретно, то и религиозных споров о нужности/ненужности goto бы не было
ну т.е. код вы не покажете? Тот самый, опровергающий стейтмент "для того, чтобы использовать goto, нужно иметь офигенное обоснование так сделать" и стейтмент "пока можешь обойтись без goto - обходись"

tsov
21.05.2018
08:59:15
кто на ассемблере писал, тому goto не страшен

Dmitri
21.05.2018
08:59:39
кто на ассемблере писал, тому goto не страшен
ассемблер в тезис о "высокоуровневых языках" вообще никак не вписывается

Vladislav
21.05.2018
09:00:08
в какой еще тезис? :)

Dmitri
21.05.2018
09:00:33
зачем? гуглы и гитхабы рядом же
т.е. я говорю "хрен найдешь код, демонстрирующий выгоду goto", и я же должен его гуглить?

Vladislav
21.05.2018
09:01:03
естественно. чтобы не нести такую чушь в будущем

Dmitri
21.05.2018
09:02:03
в какой еще тезис? :)
тезис о том, что, еще раз повторю, "в высокоуровневых языках использование goto - вещь достаточно сомнительная, очень редко несущая в себе реальную смысловую нагрузку. Поэтому без строгой надобности и четкого понимания того, зачем это происходит, любого использования goto надо избегать."

Александр
21.05.2018
09:03:11
за goto - сжигать

Daniel
21.05.2018
09:03:20
ну - не совсем так

Daniel
21.05.2018
09:03:48
в go есть break с label, и это местами офигенно

Dmitri
21.05.2018
09:04:27
не, я не отрицаю, что, возможно, в каких-то охренеть особенных и специфических случаях goto может дать какой-то особый профит. Но вживую ни разу не видел, и просил "очевидца" ткнуть меня носом в репу.

Daniel
21.05.2018
09:04:37
break с label - это вариант goto, но ограниченный в возможностях, и потому приемлемый

Google
Vladislav
21.05.2018
09:04:55
ну вот я тоже ни раз у не видал кода, который не стал бы без goto понятнее
я видел, часто. в зависимости от языкв - от условного ветвления, до выхода с деструкцией и fsm-ами без лишних фунций

Dmitri
21.05.2018
09:05:18
break с label - это вариант goto, но ограниченный в возможностях, и потому приемлемый
собственно, оно, как минимум, семантически логичнее. К тому же, думаю, оно таки влияет на область видимости...

примеры очевидны
ну, т.е. они настолько очевидны, что вы нам их не покажете

Daniel
21.05.2018
09:06:38
примеры очевидны
вообще-то - нет, не очевидны. если вы покажете нам пример кода с goto, в котором вы считаете его применение оправданным - мы лучше поймем, за что вы топите. ну или перепишем, и вы лучше поймете, за что топим мы

Vladislav
21.05.2018
09:06:45
Dmitri
21.05.2018
09:06:58
а, апчитался, ок)

tsov
21.05.2018
09:07:47
ну вот return никого не смущает? он же goto только совсем наружу

Dmitri
21.05.2018
09:08:43
ну вот return никого не смущает? он же goto только совсем наружу
не, не смущает. На уровне процессора он может быть хоть вуду-магией, на уровне языка он вообще не равен goto.

Serg
21.05.2018
09:11:04
Я так понял есть две топовые библиотеки для разработки телеграмм бота (https://github.com/go-telegram-bot-api/telegram-bot-api и https://github.com/tucnak/telebot). Есть разница, кроме синтаксиса, в их использовании?

Dmitri
21.05.2018
09:11:21
по количеству потенциальных проблем - почти равен
далаааадна... На уровне языка return такая же проблема, как и goto??? SRSLY??

tsov
21.05.2018
09:11:33
ноги у этой паники растут из-за того, что паскалистов в свое время дрюкали за goto и return. но теоретики не выдержали бой с жизнью

tsov
21.05.2018
09:12:18
за ретурн в середине кода

Vladislav
21.05.2018
09:12:35
имхо, goto просто может быть неявным
угу, но тут про явное использование сомнения какие-то выше были )

Daniel
21.05.2018
09:12:40
за ретурн в середине кода
вот это точно от дурости

Google
Dmitri
21.05.2018
09:13:16
ну, какбэ, за return в середине уже давно никто никого не дрюкает, да и в бытность мою паскалистом не помню таких доколупываний, ибо бред

а вот к goto есть таки претензии, и достаточно обоснованные

Roman
21.05.2018
09:14:41
давайте лучше о чем-то конструктивным

Roman
21.05.2018
09:15:03
например, вы знали про TCP_CONGESTION, которую через setsockopt можно выставлять? )

и что её можно менять даже для живого соединения

Admin
ERROR: S client not available

Daniel
21.05.2018
09:15:39
знали

но ни разу не пользовались

а у тебя она зачеме?

Roman
21.05.2018
09:18:34
а у тебя она зачеме?
менять cc в зависимости от того, откуда клиент. через tcp_info можно достать rtt до него и имея статистику выбирать подходящий cc

например, для мобильщиков нужен несколько иной cc, чем для товарищей с быстрым инетом.

правда, большую часть проблем решил bbr от гугла, но всё-таки

Daniel
21.05.2018
09:19:21
я тоже про мобильщиков подумал, да

Roman
21.05.2018
09:19:38
есть еще люди с *dsl и прочим херовым инетом

Vladislav
21.05.2018
09:19:54
например, вы знали про TCP_CONGESTION, которую через setsockopt можно выставлять? )
оно древнее с 2.6.1x еще, правда для чего именно делалось хз

Vladislav
21.05.2018
09:21:08
c 2.6.13, если быть точным :)
с 5f8ef48d240963093451bcf83df89f1a1364f51d если еще точнее

Dmitri
21.05.2018
09:21:19
Кстати, видел я гошный код с goto. Обусловлен был тем, что разработчик не знал про defer

Roman
21.05.2018
09:21:20
но обычно ограничиваются выставлением глобального значения через sysctl

Google
Vladislav
21.05.2018
09:36:41
но обычно ограничиваются выставлением глобального значения через sysctl
кстати, этим можно через bpf рулить. какой юз кейс может быть?

Roman
21.05.2018
09:49:00
кстати, этим можно через bpf рулить. какой юз кейс может быть?
я же выше писал: разные cc в зависимости от клиента

Vladislav
21.05.2018
09:58:12
m
21.05.2018
13:47:00
правда, большую часть проблем решил bbr от гугла, но всё-таки
А как ты видишь, что выставление CC помогает?

Artem
21.05.2018
13:52:41
Привет

какой вебфрейморк нынче самый стильный и модный и молодежный?

я конечно погуглил. Но может есть прям что-то такое о чем забыли упомянуть

Alexander
21.05.2018
13:59:15
имхо самые попсовые такие: angular (чаще в крупных компаниях используют), react (самый популярный), vue.js (хипстеры)

а, для бэкенда?...

Artem
21.05.2018
14:00:02
эм. Я как бы по онтопику спрашивал

revel там, gin итд

мне для рест сервиса

Artem
21.05.2018
14:03:50
и вот желательно чтобы была уже авторизация готова или чото такое. Мне впадлу эту хуйню писать самому.

Roman
21.05.2018
14:04:34
А как ты видишь, что выставление CC помогает?
ретрансмитов меньше, а скорость у клиента больше

Kirill
21.05.2018
14:09:45
и вот желательно чтобы была уже авторизация готова или чото такое. Мне впадлу эту хуйню писать самому.
попробуй дотнет, возможно он тебе лучше зайдет) там все это из коробки есть

Artem
21.05.2018
14:10:23
ой свят свят свят. Я ж не хочу ради этого с вендой ебаться

Страница 1448 из 1674