The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Режим отображения отдельной подветви беседы [ Отслеживать ]

Оглавление

Релиз языка программирования Go 1.15, opennews (?), 12-Авг-20, (0) [смотреть все]

Сообщения [Сортировка по времени | RSS]


68. "Релиз языка программирования Go 1.15"  +6 +/
Сообщение от Аноним (68), 13-Авг-20, 10:10 
Справедливости ради, компайл-тайм дженерики иногда нужны.

Подчеркну: иногда.

Учитывая особенности языка, в большинстве конечного кода они не нужны, это правда.
Там где в джавке/до-диезе/плюсах дженерики вообще единственный выход, в го просто никто так не пишет, чтобы они нужны были.

Но порой в коде для библиотек, к примеру, не хватает. Опять же, проблема не настолько большая как её раздувают свидетели дженериков.

Ответить | Правка | К родителю #6 | Наверх | Cообщить модератору

75. "Релиз языка программирования Go 1.15"  –2 +/
Сообщение от proninyaroslavemail (ok), 13-Авг-20, 11:11 
> Но порой в коде для библиотек, к примеру, не хватает.

Вот как раз для библиотек язык без дженериков - провальная идея. Понятно что в обычном приложении/сервере дженерики редко используются напрямую, но очень много и часто через библиотеки. Можно конечно извернуться, писать в C-style и докучи применять рефлексию (а она в stdlib применяется повсюду), только потому что Роб Пайк имеет личную неприязнь к ним и дженерики снились ему в синтаксических кошмарах, но ведь это не сделает код библиотеки понятнее, красивее и компактнее. Да, указатели на void были единственным вариантом в эпоху создания C, но сейчас, когда дженерики есть практически во всех языках, создать язык без них как то странно, хотя причины понятны и уже ранее озвучены.

Ответить | Правка | Наверх | Cообщить модератору

80. "Релиз языка программирования Go 1.15"  –1 +/
Сообщение от Аноним (6), 13-Авг-20, 11:26 
> Можно конечно извернуться, писать в C-style и докучи применять рефлексию

Попробуй не изворачиваться и применять интерфейсы (непустые).

Ответить | Правка | Наверх | Cообщить модератору

88. "Релиз языка программирования Go 1.15"  +2 +/
Сообщение от proninyaroslavemail (ok), 13-Авг-20, 12:00 
Интерфейсы не могут заменить дженерики, как и наоборот. Более того, сами интерфейсы могут содержать дженерики. Допустим, простейший интерфейс, который может принимать любые типы, например Comparable<T> с методом compareTo(other T). Каким образом его переписать, не используя дженерики? Только с пустым интерфейсом, что аналогично void*. И таких юзкейсов как дженерик + интерфейс очень много, что позволяет делать гибкие реализации.
Ответить | Правка | Наверх | Cообщить модератору

132. "Релиз языка программирования Go 1.15"  –2 +/
Сообщение от алгол (?), 13-Авг-20, 17:48 
не надо только г из джабы. уже есть одна. в C++ templates:)
Ответить | Правка | Наверх | Cообщить модератору

134. "Релиз языка программирования Go 1.15"  +/
Сообщение от proninyaroslavemail (ok), 13-Авг-20, 17:52 
Вы, видимо, кроме java и c++ не знаете языков с дженериками. А их много, поверьте). Да и в самой java они появились гораздо позже чем в том же C++...
Ответить | Правка | Наверх | Cообщить модератору

157. "Релиз языка программирования Go 1.15"  +/
Сообщение от Аноним (6), 14-Авг-20, 16:59 
> Интерфейсы не могут заменить дженерики, как и наоборот.

А и не надо их заменять в лоб. Надо умеючи использовать, чтобы получить такой же результат, затратив не больше усилий.

Ответить | Правка | К родителю #88 | Наверх | Cообщить модератору

162. "Релиз языка программирования Go 1.15"  +/
Сообщение от proninyaroslavemail (ok), 14-Авг-20, 17:27 
> затратив не больше усилий.

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

Ответить | Правка | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру