Как стать автором
Обновить

Комментарии 7

Переводить статью годичной давности надо было год назад.

Почему? Это же не новости, а статья по программированию. Язык Go жив и развивается, а если подходить к этому еще более абстрактно, то концепция дженериков как таковая - это вообще чистая computer science, которая не стареет никогда, как математика.

Только уже давно вышел Go 1.19, а тему дженериков размусолили не один десяток раз до того, во время того и после того, как вышла 1.18

А различные алгоритмы появились вообще задолго до появления компьютеров.

На практике столкнулся с плохой читаемостью синтаксиса дженериков. [] явно не лучший выбор, но возможно это было связано с количеством параметров >2 и длинным неймингом по типу С#. Очень тяжело было читать чужой код. Кмк <> было бы нагляднее.

<> создают большие проблемы для парсеров из-за того что это еще и символы "больше/меньше". В принципе можно было пойти по тому же пути, по которому когда-то пошел Си с диграфами и триграфами: придумать сочетание скобок и символов, что-то типа <| |>, и в качестве эквивалента - пару скобок из Unicode, например〈 〉.

Дженерики дают возможность указывать типы позже, что позволяет Go-программистам избегать шаблонный код.

Как раз программист тут пишет некий шаблонный код, по которому потом компилятор подставит реальный тип.

Generics allow Go programmers to specify types later and avoid the boilerplate code.

В оригинале говорится про бойлерплейт. Упс, я только что посмотрел в wiki, и там boilerplate code==Шаблонный код, ну так себе перевод, если честно.

Зарегистрируйтесь на Хабре, чтобы оставить комментарий