LINUX.ORG.RU

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

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

Они не ломают Go. Их было сложно реализовать таким образом, чтобы они не ломал Go. Но теперь они есть в языке и всё норм.

О том, что именно вызвало трудности:

  • Minimize new concepts
  • Complexity falls on the writer of generic code, not the user
  • Writer and user can work independently
  • Short build times, fast execution times
  • Preserve clarity and simplicity of Go

https://go.dev/blog/why-generics

Конкретные примеры можно найти в куче отклонённых предложений. Я лично не особо с ними знаком, но могу привести такой пример, возможно, слегка не по теме — сейчас нельзя добавить дженерик замыканию, потому что нужно сохранить нулевые значения, а без указания конкретного типа это невозможно. Подобные ограничения, мне кажется, делают невозможным подход «давайте всё спишем у C++/Java/C#».

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

Они не ломают Go. Их было сложно реализовать таким образом, чтобы он не ломал Go. Но теперь они есть в языке и всё норм.

О том, что именно вызвало трудности:

  • Minimize new concepts
  • Complexity falls on the writer of generic code, not the user
  • Writer and user can work independently
  • Short build times, fast execution times
  • Preserve clarity and simplicity of Go

https://go.dev/blog/why-generics

Конкретные примеры можно найти в куче отклонённых предложений. Я лично не особо с ними знаком, но могу привести такой пример, возможно, слегка не по теме — сейчас нельзя добавить дженерик замыканию, потому что нужно сохранить нулевые значения, а без указания конкретного типа это невозможно. Подобные ограничения, мне кажется, делают невозможным подход «давайте всё спишем у C++/Java/C#».