invariance
если ты глянешь нормальные проекты, то там нет никаких бесконечных `if err != nil { return nil, err}`
Alexey
чет я не вижу тут никакой необходимости в генериках. указатель на функцию можно передать в функцию, сделать для нового Т соответствующий метод не представляется большой проблемой да, это будет копипаста. но - она будет примерно в 100500 раз понятнее, чем generic запись
Рад что тебе не лень. Проблема не написать копипасту а поддерживать. Проблема ведь в том, когда тебе захочется этот код чуть чуть поменять. Добавить логинг, трейсинг, доп проверку, метрики и вот это все. И тогда я не хочу 20 мест менять. Тут даже не во времени сложно, а в том, что это гарантировано приведет к ошибкам.
Daniel
коллеги, сворачивайтесь
Vadim
я собираюсь на нём кодить, когда (и если) пофиксят этот недостаток
Молодой человек, Я не считаю, что вы компетентны в этом вопросе, так как у вас нет достаточного опыта кодинга на го.
Alexey
чет я не вижу тут никакой необходимости в генериках. указатель на функцию можно передать в функцию, сделать для нового Т соответствующий метод не представляется большой проблемой да, это будет копипаста. но - она будет примерно в 100500 раз понятнее, чем generic запись
Но увы, если копипаста даже в этом случае для тебя нормально, то у меня больше нет аргументов. Я привел пример, привел кейсы когда копипаста плохо, привел пример решения для генериков, но все равно они не нужны.
Vladimir
Меняешь в 1 месте и go generate
Kirill
коллеги, сворачивайтесь
а я только идею поймал, как без кодогена в гошке генерики сделать
Vadim
Если нужны генерики используйте fgo
Daniel
ей-богу, мы обменялись мнениями, и убедить не сможем друг друга
Alexey
Можно написать генератор
там выше есть пост про кодогенерацию.
Alexey
коллеги, сворачивайтесь
ты сам просил пример.
Andrei 🦉
Молодой человек, Я не считаю, что вы компетентны в этом вопросе, так как у вас нет достаточного опыта кодинга на го.
на десятитысячный копипаст if err != nil {return nil, err} наступает просветление и ты понимаешь, что дженерики не нужны, ага
Daniel
ты сам просил пример.
я увидел пример, и отреагировал.
Daniel
можно и закруглиться
invariance
которые с других языков на го переходят)
invariance
Все им не так и не тут
Алексей
не всё
Алексей
только этот момент
Алексей
даже без дженериков можно потерпеть
invariance
даже без дженериков можно потерпеть
Если тебе нужны дженерики в го, значит ты не правильно его используешь
Andrei 🦉
которые с других языков на го переходят)
я уже 3 года как перешел, и чем дальше, тем больше у меня горит
invariance
значит лучше не использовать Go
Значит у тебя однобокое мышление 🤷‍♂️
Vladimir
Но если ты не пользуешься го, то что ты тут делаешь?
Tigran
Если тебе нужны дженерики в го, значит ты не правильно его используешь
Это, конечно, убойный аргумент. Я, конечно, не стану даже начинать проект на Го для задачи, которая в норме решается на дженериках (любая вычислительная математика, например). Но я, может, хотел бы!
Алексей
Значит у тебя однобокое мышление 🤷‍♂️
а "дженерики не нужны" - это совершенно не однобокое мышление
invariance
Это ты тут говоришь, что без них плохо)
invariance
А я говорю, что без них можно
Andrei 🦉
чего стоит только эпопея с менеджером пакетов из коробки и версионированием этих пакетов, 3 года назад Роб Пайк и ко яросто кричали, что все это ненужно
invariance
Надо просто немного свое определение парадигмы сдвинуть
Алексей
так я тоже говорил, что без них в приципе можно обойтись
Алексей
а вот пробрасывать руками вверх по стеку ошибки - это просто жесть
Andrei 🦉
кто кричал?
прочитайте еще раз мое предложение, в нем это написано
Vadim
а вот пробрасывать руками вверх по стеку ошибки - это просто жесть
Я вам скинул пруф, что этого нет в нормальных проектах)
Илья
прочитайте еще раз мое предложение, в нем это написано
я может не правильно спросил, proof or gtfo?
Алексей
Я вам скинул пруф, что этого нет в нормальных проектах)
ну там как раз довольно приличное количество подобных конструкций
Vladimir
а вот пробрасывать руками вверх по стеку ошибки - это просто жесть
Чувак, тебе не нравится го, ок, мы поняли. Кнопка leave знаешь же где?
Andrei 🦉
я может не правильно спросил, proof or gtfo?
а через 3 года тоже будете меня спрашивать, где и кто кричал, что дженерики в го не нужны? так что вы можете GTFO со своим требованием, хотите, ищите в гугле, я в го входил как раз под эти срачи
Aleksandr
Чувак, тебе не нравится го, ок, мы поняли. Кнопка leave знаешь же где?
погоди, здесь чат не для тех, кто любит го, а для тех кто на нем программирует
Илья
https://groups.google.com/forum/#!topic/go-package-management/o0nO4mPoXzU
Алексей
Чувак, тебе не нравится го, ок, мы поняли. Кнопка leave знаешь же где?
если бы мне не нравился бы го, то это было бы замечательно, но мне нравится бОльшая часть го, что-то не нравится, но это не критично, а вот ситуация с ошибками кардинально не нравится и только она
Aleksandr
Ну чувак писал же что не будет писать на го
и не обязательно для практикующих
Илья
древний call to action по поводу dep
Aleksandr
он может книгу о Го написать)
Алексей
Ну чувак писал же что не будет писать на го
я буду писать на го если и когда пофиксят этот критичный для меня недостаток
Aleksandr
если критика языка не переходит человеческие рамки, превращаясь в троллинг, то пусть будет
Илья
ну, здесь регулярно обсасывается 2 проблемы, примерно одним набором людей
Алексей
Ну до тех пор зачем тут сидеть?
чтоб глядеть (и участвовать) на срачи про дженерики, очевидно же
Aleksandr
А она кажется перешла, нет?
пока не увидел, но я не слежу особо
invariance
Можно жить без бесконечного копипаста обработки ошибок
invariance
выше пруф уже два раза скинули
invariance
таких пруфов много
Andrei 🦉
нене, вы делаете утверждение, и, если нет прфуфов, то GTFO
я не делаю утверждение, я рассказываю то, что происходило в течении 3х лет, пока я разрабатываю на го, тут пруфов на целую книгу нужно нарыть, а текущее состояние вы сами в состоянии посмотреть на профильных ресурсах