Generics в Go

Что: 4b3123656cacff5333ce6602870f7ebd900f81dd

Когда: 2020-12-28 10:42:38+03:00

Темы: go hate

Generics в Go

https://groups.google.com/forum/print/topic/golang-nuts/LEEuJPOg0oo
Недавно тут начали войнушку против потенциальной идеи включения
generic-ов в Go. Мол после этого придётся fork-ать язык, ибо смерть
для него.

С одной стороны, если надо проголосовать, то я не долго думая, сразу же
тоже скажу что generic-и не нужны. Живём уже десять лет без них и это
САМЫЙ прекрасный, клёвый и офигенный язык. Потому что все решения в нём
взвешены крутейшими хакерами и ничего не делается и не добавляется
просто потому что могут, потому что у других есть, потому что здесь и
сейчас это было бы удобно. Тот же Python уже не первый год уродуется
только так вовсю, ещё больше отталкивая от себя. Не говоря про C++ и
прочие ужасы этого мира. А generic-и для меня это открытие ворот в ад:
возможности лёгкого написания сложного кода.

Собственно, зачинщик этой темы в рассылке про это же всё и говорит.
Однако, ещё до этого спора в рассылке, у меня в голове другое отношение
существует: чуть ли не с самого начала были идеи добавить generic-и в
Go, но никто и никогда нигде не говорил что их быть не должно, что они
не нужны -- их не добавляли потому что пока не могли придумать и решить
как это сделать правильно. Ведь ООП однозначно принёс миру больше вреда
чем пользы, но то как его подобие реализовано в Go -- это очень
продуманно и однозначно полезно. А раз крутейшие хакеры 10+ лет не могут
придумать как сделать generic-и, то задача не проста. Но раз они
"справились" с "текущей" версией Go, то почему не доверять что и
generic-и которые они придумают будут решением хуже чем придуманные
интерфейсы например? Вот и автор темы даже принёс извинения Ian Lance
Taylor-у, ибо уж кто кто, но этот человек точно понимает ценность
простоты и опасность сложности.

Я перестал следить за этой темой уже. В данном случае у меня полностью
нет своего мнения, ибо я ни капли не человек который мог бы принимать
решения по дизайну языков программирования. Но я полностью доверяю
решениям core хакеров, которые 10+ лет занимаются "проблематикой"
generic-ов. Это как в Linux -- если эти ребята что-то реализовали, то
стоит подождать ещё несколько релизов чтобы хотя бы начать пробовать и
то не факт что оно когда-либо будет рабочее. А FreeBSD долго вынашивают
идеи и код и если сказали что ready to use, значит ready to use. Вот и в
Go аналогично. Они ни разу не подводили своими решениями -- одни только
модули (относительно) недавно добавленные чего стоят!

оставить комментарий

Сгенерирован: SGBlog 0.34.0