The OpenNET Project / Index page

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



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

Оглавление

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

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


66. "Релиз языка программирования Go 1.14"  +2 +/
Сообщение от Аноним (66), 27-Фев-20, 11:33 
>научитесь писать

у вас много ошибок в слове "копипастить выполняя работу конпелятора". или, что еще хуже, генерить код.

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

70. "Релиз языка программирования Go 1.14"  +/
Сообщение от anonymous (??), 27-Фев-20, 12:06 
Это необходимо крайне редко. Гораздо реже, чем кажется тому, кто пока просто не достаточно хорошо научился использовать Go.
Ответить | Правка | Наверх | Cообщить модератору

98. "Релиз языка программирования Go 1.14"  +4 +/
Сообщение от Аноним (98), 27-Фев-20, 17:16 
Часто нужно. С любой базовой структурой.

Вот есть у меня, допустим, некий type X struct, и linked list (container/list), содержащий элементы типа *X.

Там, где с generic-ами я бы имел нормальную типизацию и отлов несовпадения типов в compile time, в Go я имею элементы interface{}, которые приходится явно приводить к *X, и ошибку тут я словлю только в runtime.

Причем, для частных случаев (slices, channels) концепция generic-ов есть (неявно). Иначе бы было совсем плохо. Но только для частных случаев.

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

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

153. "Релиз языка программирования Go 1.14"  +/
Сообщение от anonymous (??), 29-Фев-20, 19:26 
> Вот есть у меня, допустим, некий type X struct, и linked list (container/list), содержащий элементы типа *X.
> Если обобщенные структуры данных вам необходимы крайне редко, я не знаю, что вы там пишете.

Я просто делаю свой тип на базе `container/list`, который приводит тип и покрываю это unit-test-ом (чтобы в реальном runtime это ни к каким ошибкам не приводило). В общем говорю, вопрос лишь привычки работать с Go.

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

154. "Релиз языка программирования Go 1.14"  +2 +/
Сообщение от Аноним (98), 01-Мрт-20, 09:49 
Да это не привычка, а костыли.
Причем авторы Go проблему прекрасно осознают, уже есть патчи для поддержки generics, их тестируют.
Я, правда, не понимаю, накой они придумали еще одну сущность (контракты) вместо расширения понятия интерфейса.
Ответить | Правка | Наверх | Cообщить модератору

155. "Релиз языка программирования Go 1.14"  +/
Сообщение от anonymous (??), 01-Мрт-20, 17:09 
Это и привычка и костыль. Но костыль малозначимый и невредный (на дизайн приложения негативно не сказывается). Хорошо бы исправить, но и не критично. Например, лично мне важнее было бы исправить производительность ED25519, чем эти generic-и, так как это уже реально негативно сказывается на качество продукта, написанного на Go.
Ответить | Правка | Наверх | Cообщить модератору

156. "Релиз языка программирования Go 1.14"  +/
Сообщение от anonymous (??), 01-Мрт-20, 17:47 
> Я, правда, не понимаю, накой они придумали еще одну сущность (контракты) вместо расширения понятия интерфейса.

Эх. А я вот об immutable мечтаю :(

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

173. "Релиз языка программирования Go 1.14"  +/
Сообщение от Масса (?), 03-Мрт-20, 19:22 
Т.е. вместо проверки типа элемента контейнера компилятором нужно самому каждый раз для каждого нового типа свои проверки лабать? Э, так мой дедушка ещё делал. В конце 70-х.
Ответить | Правка | К родителю #153 | Наверх | Cообщить модератору

181. "Релиз языка программирования Go 1.14"  +/
Сообщение от anonymous (??), 08-Мрт-20, 22:21 
Уверен, что именно эта проблема делает Go не-usable-ным. Прям никак нельзя поделать эти обёртки, пока не сделают generic-и. Просто ужас какой-то! Как так жить-то!
Ответить | Правка | Наверх | Cообщить модератору

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

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




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

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