Size: a a a

2020 May 11

D🦆

Dmitry 🦆 in Go-go!
Roman Sharkov
а зачем Promise в Go?
Просто пример, когда дженерик крайне полезен вне коллекций.
источник

RS

Roman Sharkov in Go-go!
Dmitry 🦆
Просто пример, когда дженерик крайне полезен вне коллекций.
но в контексте Go пример наверное далеко не лучший
источник

S

Sergey in Go-go!
Параметрические типы есть, но не first-class citizens
источник

DP

Daniel Podolsky in Go-go!
x-foby
Но навскидку загуглил, википедия пишет примерно о том же.
Хотя, конечно, википедия, не самый авторитетный источник, но вы же тоже вряд ли ссылку приведёте)
https://ru.wikipedia.org/wiki/%D0%9E%D0%B1%D0%BE%D0%B1%D1%89%D1%91%D0%BD%D0%BD%D0%BE%D0%B5_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5
теоретически, на свете могут существовать generic-функции и generic-операторы

практически, я с ними не сталкивался

и, в любом случае, даже если придумывать определение из той статьи в википедии, map - генерик, а len - нет
источник

x

x-foby in Go-go!
Daniel Podolsky
теоретически, на свете могут существовать generic-функции и generic-операторы

практически, я с ними не сталкивался

и, в любом случае, даже если придумывать определение из той статьи в википедии, map - генерик, а len - нет
Ок, раз уж спор всё-таки пошёл, то зайду с другой стороны: array [1..N] of integer в паскале это по-вашему тоже дженерик?
Тип-то, выходит, параметрический.
источник

DP

Daniel Podolsky in Go-go!
а есть сомнения?
источник

AK

Anton Kucherov in Go-go!
Если брать определение из Википедии, то это парадигма. В реальном мире кажется нет ЯП которые поддерживают ту или иную парадигму на 100%, да еще и так как она была описана авторами, так что не понятно, о чем тут можно спорить.
источник

x

x-foby in Go-go!
Daniel Podolsky
а есть сомнения?
Ну если вы считаете поддержку массивов разных типов в языке — дженериками, то ок, у нас в Go есть дженерики)
источник

DP

Daniel Podolsky in Go-go!
x-foby
Ну если вы считаете поддержку массивов разных типов в языке — дженериками, то ок, у нас в Go есть дженерики)
у нас есть и посложнее массивов параметрические типы.
источник

x

x-foby in Go-go!
Daniel Podolsky
у нас есть и посложнее массивов параметрические типы.
Ну, ещё раз повторюсь, я не очень хочу на эту тему спорить.
Обобщения — это полиморфизм. В первую очередь — полиморфизм функций.
Нет  никакого толку от параметрического типа без полиморфизма функций.

Для чего в первую очередь дженерики нужны? Для того чтоб не писать под каждый тип одну и ту же функцию.
Это даёт нам возможность переиспользование код (иногда ещё безопасности добавляет).

У нас это работает точно так же. Есть, например, несколько типов: слайсы, массивы, мапы, каналы и есть make, len.
Или есть любой тип и есть new.

Это и есть дженерики.

Огромную путаницу вносят языковые особенности. Почему-то дженерики переводят как множественное число от некоего дженерика, но это же вообще не так.

Generics — это обобщения. Не типы, не функции — это механизм.

Но опять-таки, если вы считаете мапы и каналы дженериками, — это ваше право и ваше мнение, я его оспаривать не хочу.
источник

DP

Daniel Podolsky in Go-go!
оспаривать не хотите, хотите за собой последнее слово оставить… понимаю!
источник

x

x-foby in Go-go!
Daniel Podolsky
оспаривать не хотите, хотите за собой последнее слово оставить… понимаю!
Я могу удалить сообщение, если хотите))
источник

DP

Daniel Podolsky in Go-go!
коллега, я ничего в этом смысле не хочу

но посмотрите, как это выглядит - вы пишете пространное сообщение, и заканчиваете его “но спорить я не хочу”

то есть “прочтите, и не возражайте”

смешно
источник

GD

Green Dog in Go-go!
Подскажите, какое архитектурное решение выбрать в такой ситуации? Есть массив хостов, есть массив путей, необходимо отправить запрос в каждый из вариантов. Для этого есть пучок воркеров, которые читают из канала сконкатенированные хост+путь, которые туда отправляются двумя for. Проблема в том, что если какой-то хост "мертв", то воркеры всё равно попытаются туда чтото отправить, нет возможности его "выбросить". Как лучше такое  реализовать?
источник

C

Calculon in Go-go!
Green Dog
Подскажите, какое архитектурное решение выбрать в такой ситуации? Есть массив хостов, есть массив путей, необходимо отправить запрос в каждый из вариантов. Для этого есть пучок воркеров, которые читают из канала сконкатенированные хост+путь, которые туда отправляются двумя for. Проблема в том, что если какой-то хост "мертв", то воркеры всё равно попытаются туда чтото отправить, нет возможности его "выбросить". Как лучше такое  реализовать?
добавь проверку хоста перед прокидыванием в канал?
источник

DP

Daniel Podolsky in Go-go!
я бы сделал прослойку, которая бы контролировала коннекты и ошибки на них, и вела бы мапу мертвецов

и при попытке законнектиться на мертвеца сразу возвращала бы ошибку
источник

x

x-foby in Go-go!
Daniel Podolsky
коллега, я ничего в этом смысле не хочу

но посмотрите, как это выглядит - вы пишете пространное сообщение, и заканчиваете его “но спорить я не хочу”

то есть “прочтите, и не возражайте”

смешно
Да нет же, всё это просто моё мнение, не более.
Я спорить не хочу не потому что не хочу чужую позицию принимать, а потому что за всё время споров о дженериках здесь ни разу ни один из споров не вышел в конструктив.
И я абсолютно уверен в том, что и этот в конструктив не выйдет. Просто потому что нет как такового предмета спора.
Есть куча мнений, и все они имеют основания.
источник

RS

Roman Sharkov in Go-go!
x-foby
Да нет же, всё это просто моё мнение, не более.
Я спорить не хочу не потому что не хочу чужую позицию принимать, а потому что за всё время споров о дженериках здесь ни разу ни один из споров не вышел в конструктив.
И я абсолютно уверен в том, что и этот в конструктив не выйдет. Просто потому что нет как такового предмета спора.
Есть куча мнений, и все они имеют основания.
> И я абсолютно уверен в том, что и этот в конструктив не выйдет. Просто потому что нет как такового предмета спора.
Есть куча мнений, и все они имеют основания.

и поэтому вы высказали своё мнение, для того чтобы….?))
источник

GD

Green Dog in Go-go!
Calculon
добавь проверку хоста перед прокидыванием в канал?
хотелось бы чтобы логика была внутри воркеров
источник

x

x-foby in Go-go!
Roman Sharkov
> И я абсолютно уверен в том, что и этот в конструктив не выйдет. Просто потому что нет как такового предмета спора.
Есть куча мнений, и все они имеют основания.

и поэтому вы высказали своё мнение, для того чтобы….?))
Ну так-то я всего лишь дал ссылку человеку на статью в офблоге о дженериках.
источник