LINUX.ORG.RU

История изменений

Исправление kaldeon, (текущая версия) :

> пользователи не разобрались и ушли на какой-то другой язык

А есть какие-то наблюдения, подкрепляющие данное предположение? Я вот не припомню постов в стиле “I’m leaving Go for Python.”

На мой взгляд,

1. Есть опрос разрабов Go за второй квартал 2022 [1]. Среди 6% тех, кто не собирается использовать дженерики, только 12% назвали причиной “A steep learning curve or lack of helpful documentation . . .”

2. Верно обратное: на другие языки уходили из-за *отсутствия* дженериков до версии 1.18.

3. Дженерики для клиентского кода — элементарная фича (особенно если есть обратная совместимость). А у авторов библиотек работа такая — разбираться в нюансах.

4. Специфичная заслуга Go: дженерики не породили два мира полиморфизма, а расширили понятие интерфейса. Это позволило сообществу не разделиться на тех, кто продолжил бы писать код по-старому, тех, кто перешёл бы на новое, и всех остальных между двумя огнями. Как следствие, дженерики используются только как крайняя мера. В стандартной библиотеке дженерики до сих пор используются очень консервативно и это никому не мешает и не порождает ожесточённые конфликты.

5. Дженерики существуют в массовой культуре уже десятилетиями, это не академическая инновация. Это не неймспейсы в линуксе, если сравнивать по концептуальному пониманию.

6. «Объяснение явлений через глупость людей — это характерная черта снобов, выдающая их собственный узкий взгляд на мир.»

[1]: https://go.dev/blog/survey2022-q2-results

Исходная версия kaldeon, :

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

А есть какие-то наблюдения, подкрепляющие данное предположение? Я вот не припомню постов в стиле “I’m leaving Go for Python.”

На мой взгляд,

1. Есть опрос разрабов Go за второй квартал 2022 [1]. Среди 6% тех, кто не собирается использовать дженерики, только 12% назвали причиной “A steep learning curve or lack of helpful documentation . . .”

2. Верно обратное: на другие языки уходили из-за *отсутствия* дженериков до версии 1.18.

3. Дженерики для клиентского кода — элементарная фича (особенно если есть обратная совместимость). А у авторов библиотек работа такая — разбираться в нюансах.

4. Специфичная заслуга Go: дженерики не породили два мира полиморфизма, а расширили понятие интерфейса. Это позволило сообществу не разделиться на тех, кто продолжил бы писать код по-старому, тех, кто перешёл бы на новое, и всех остальных между двумя огнями. Как следствие, дженерики используются только как крайняя мера. В стандартной библиотеке дженерики до сих пор используются очень консервативно и это никому не мешает и не порождает ожесточённые конфликты.

5. Дженерики существуют в массовой культуре уже десятилетиями, это не академическая инновация. Это не неймспейсы в линуксе, если сравнивать по концептуальному пониманию.

6. «Объяснение явлений через глупость людей — это характерная черта снобов, выдающая их собственный узкий взгляд на мир.»

[1]: https://go.dev/blog/survey2022-q2-results