Dmitry
Мне вот в peg парсере пригодились бы генерики. Да и в любом коде работающим с аст
Anonymous
сократить количество interface{}, возможность задавать функциям какого типа ответ ты от них ожидаешь. самое очевидное даже от питониста. наверное у кого то вроде фаулера может быть полный список
Daniel
я не пользуюсь interface{}, и я не пишу функций, которые могут вернуть ответ разного типа
Daniel
а зачем вам это?
Anonymous
в тс я могу взять библиотечный тип, параметризовать его своим типом и использовать. как нужно вывернуться в го чтобы так сделать я даже не представляю. кроме interfce{} или кодогенерации наверное никак
Dmitry
А я не пользуюсь каналами в го. Давайте их удалим
🏳️ Phil
А я не пользуюсь каналами в го. Давайте их удалим
Явно не пользуетесь, или неявно тоже?
Kirill
Чета не цепануло ))
дык они не знают, что гошка настолько стара
Kirill
А я не пользуюсь каналами в го. Давайте их удалим
я давно подозревал, что ты на го не пишешь
Anonymous
давайте еще считать возраст гошки с дня рождения Пайка
🏳️ Phil
А причем тут Пайк собственно?
Ну ладно, ок, это его любимая игрушка более четверти века
🏳️ Phil
И так и так
Я стесняюсь спросить, а зачем Вы Go используете вообще? (я знаю конечно кейсы, но всё же спрошу)
Kirill
Пишу консольную фигню
а, тогда и к периодическим глупым утверждениям у меня вопросов нет :)
Dmitry
Куда уж нам убогим супротив вас.
Pawel
Какой то нелепый спор лесников с академиками))
Dmitry
Скорее лесников с сектантами
Kirill
и сторонники adt больше похожи на сектантов
Pawel
ага, аргументов ноль, а гонору и категоричности целые штаны
Kirill
ну — я могу сказать вот что
Pawel
Крцжок любителей вышивания крестиком и дженериком продлённого дня
Kirill
я понимаю, зачем генерики в контексте сортировки
Kirill
но! я нихера не понимаю, в чём проблема сделать всё на компараторах
Kirill
собственно, это все варианты применения генериков, которые я реально могу обосновать
Kirill
я использую interface{}, но когда использую, там генерики вообще никак не помогут — мне нужен аналог void*
Pawel
b tree ещё. но он редко нужен
Kirill
но при этом с runtime._typ
Kirill
b tree ещё. но он редко нужен
да ну, нафига в b tree тебе генерики?
Anonymous
@onokonem https://medium.com/@arschles/go-experience-report-generics-in-kubernetes-25da87430301
Anonymous
использую для аннотации типов из одного места в другом
Pawel
да ну, нафига в b tree тебе генерики?
чтобы один раз написать параметризированный типом код и подставлять в него своё. альтернатива - через interface{}
Kirill
@onokonem https://medium.com/@arschles/go-experience-report-generics-in-kubernetes-25da87430301
в их случае это подпись под фразой "мы написали неподдерживаемое говно, дайте нам генериков"
Pawel
куб скверно написан, да
🏳️ Phil
в их случае это подпись под фразой "мы написали неподдерживаемое говно, дайте нам генериков"
Я кстати для oauth как-то код искал. Смотрел кто как сделал логины через соцсети. Открыл k8s, поседел, закрыл, глаза собрал со стола и залил обратно
🏳️ Phil
Вот-вот. А меня тут форсят куб юзать 😒
Это кстати такой золотой телец. Я даже не против. И всё попробовать хочу. Но чета у меня всё задач под него нет
Pawel
ещё альтернатива — местный void*
ну вот для таких случаев теоретически джененрики бы зашли, но практически этого на столько мало, что кодогенерация решает на 100%
Daniel
@onokonem https://medium.com/@arschles/go-experience-report-generics-in-kubernetes-25da87430301
> The resulting codebase would be compile-time type safe, but way bigger, and mostly generated. автор, видимо, не понимает, что генерики - это и есть кодогенерация
Anonymous
это поддерживаемая кодогенерация. все так
Daniel
а я прочел. раз я вопрос задал - я должен хотя бы выслушать ответ
Daniel
ответ так себе.
Anonymous
ладно я понял почему вы продолжаете эту песню. дженерики вам не нужны потому что устраивает кодогенерация
Dmitry
дженерики не нужны потому их не сделали, если бы их сделали то они были бы нужны. а так не нужны.
Pawel
ответы не верные. оба.
Cat
базарю, дженерики не нужны т.к. не решают никакой проблемы
Dmitry
ответы не верные. оба.
дженерики нужны?
Kirill
Народ, почему все забыли о том, что уже 100500 лет идёт официальный ресёрч на тему - "нахера дженерики?". Если вы знаете ответ — идите и пишите там
Pawel
дженерики нужны?
там, где Го юзают (круд сервисы, утилиты), дженерики нужны редко. В отличие от фронтенда, ML, аналитики, например. Настолько редко что как правило ни каких проблем заюзать interface{} нет. Если таки проблемы возникают - берётся кодогенератор. вот и вся песня по дженерики в Го
🏳️ Phil
Это не золотой телец, его сложно настраивать и поддерживать
да ну слушай. это субъективно. но я пока не сталкивался с задачами с неприбитыми гвоздями дисками с iops, и с задачами, где ме надо было бы размазать это более чем на два сервера. как-то так
Kirill
дай линк
Поупражняйся с гуглом сам, я с телефона
Dmitry
Поупражняйся с гуглом сам, я с телефона
нашел, там написано что дженерики нужны все таки
Dmitry
Чот такой себе наброс
какие аргументы такой и наброс :)
Kirill
нашел, там написано что дженерики нужны все таки
В официальном такого не было, покажи-ка кто там такое написал
🏳️ Phil
А я столкнулся. Кластер уже больше 3 тачек
И ты реально умеешь это размазывать хотя бы теоретически? Ну да, у меня есть один кейс - mariadb/mysql раскидать по нескольким тачками и менеджить перетекание пересозданием. Но пока никто за это заплатить не захотел. Тема расширения воркеров веба для меня пока недостижима — диски у меня уходят раньше CPU. Даже SSD, я с недоумением смотрю на вот это с балансерами
Kirill
какие аргументы такой и наброс :)
Аргументы спрашивают у секты adt, набрасывают они же. Вывод — ССЗБ
Pawel
Orm?
не юзаю, sqlx достаточно.
🏳️ Phil
Слушайте. Там же есть объяснение почему их выкинули из Go: 1. Первая попытка была без GC, рантайм с GC и дженериками оказалось создать сложно. 2. Ритчи, Керниган и Пайк всегда топили за простоту и магию простоты. Судя по тому, что они писали, они наелись дженериков в 90-ые. Основное — с дженериками очень просто наворотить нечитаемый код, не оптимальный код, чёрт потом ногу сломит.
Pawel
какие аргументы такой и наброс :)
я тебе ничего не доказывал, поскольку тезис мой отрицательный
🏳️ Phil
А как же blue/green deploy?
Папа, ты сейчас с кем разговаривал?
Pawel
Orm?
есть вроде с кодогенерацие reform
🏳️ Phil
но сейчас же не 90-е
Правильно. они выкинули их с окончанием 90-ых :))
Cat
не очень понял, но ладно