Что: 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