Дженерики в Go не нужны | Абдулла Ахмедов | Golang Meetup 2023 | СберМаркет Tech

แชร์
ฝัง
  • เผยแพร่เมื่อ 17 พ.ย. 2024

ความคิดเห็น • 12

  • @binzaricatalin6542
    @binzaricatalin6542 2 หลายเดือนก่อน

    Abdulla, very good points!

  • @12zxqwas1
    @12zxqwas1 7 หลายเดือนก่อน +1

    В Ява полное описание с комментариями системы типов с дженериками занимает около 300 страниц. Просто ли это держать в голове? Каждый сам для себя решает.

  • @СергейИванов-э8с
    @СергейИванов-э8с ปีที่แล้ว +4

    цитата Роба Пайка (соавтор языка Go):
    Ключевой момент здесь, что наши программисты (прим.пер.: гуглеры) не исследователи. Они, как правило, весьма молоды, идут к нам после учебы, возможно изучали Java, или C/C++, или Python. Они не в состоянии понять сложный язык, но в то же время мы хотим, чтобы они создавали хорошее ПО. Именно поэтому их язык должен быть прост для их понимания и изучения.
    Он должен быть знакомым, грубо говоря, похожим на Си. Программисты работающие в Google рано начинают свою карьеру и в большинстве своем знакомы с процедурными языками, в частности семейства Си. Требование в скорой продуктивности на новом языке программирования означает, что язык не должен быть слишком радикальным.

    • @roman.chudov
      @roman.chudov ปีที่แล้ว +1

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

  • @СергейИванов-э8с
    @СергейИванов-э8с ปีที่แล้ว +1

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

    • @12zxqwas1
      @12zxqwas1 7 หลายเดือนก่อน

      А можно чуть подробнее, для тех кто на ява программирует. Можно ссылку на стаью если есть такая с освещением этой проблемы.

  • @СергейИванов-э8с
    @СергейИванов-э8с ปีที่แล้ว +5

    смешно страдать о 5% для наносекунд на фоне других тормозов

    • @constantinegeist1854
      @constantinegeist1854 ปีที่แล้ว +5

      99% времени ждём ответа от IO, зато сэкономили 5 наносекунд посредством спагетти-кода. Успех

  • @unicoxr5tj417
    @unicoxr5tj417 ปีที่แล้ว

    интересное

  • @fprotimaru1944
    @fprotimaru1944 ปีที่แล้ว +1

    тогда не пишите код в го, пишите на asm если вам так критично "performance"

  • @СергейИванов-э8с
    @СергейИванов-э8с ปีที่แล้ว

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

    • @СергейИванов-э8с
      @СергейИванов-э8с ปีที่แล้ว +2

      пример простой. если в нормальных языках можно реализовать один обобщенный вариант патернов отказоустойчивости(retry, breaker, rate limit, etc,etc), то в го без дженериков для каждого интефейса их необходимо рисовать отдельно. простота хуже воровства