
Sergey
26.05.2018
20:41:27
да как как
всё так же, всё то же

Artem
26.05.2018
20:42:20
Ну мы на го переписали демонов с си, ибо сишная разработка очень была медленной. Обучить разработчиков го, оказалось проще чем найти толкового сишника.

Sergey
26.05.2018
20:42:21
(про go-gen) пишешь коммент, он его парсит и генерит несколько функций для разных типов

Google

Alexey
26.05.2018
20:42:34

Phil
26.05.2018
20:42:43

Roman
26.05.2018
20:43:20

Phil
26.05.2018
20:43:20

Никита
26.05.2018
20:43:23
А более жизненные примеры, которые не связаны с матаном?)

Sergey
26.05.2018
20:43:24

Phil
26.05.2018
20:43:41

Никита
26.05.2018
20:44:41

Sergey
26.05.2018
20:45:23
ой да гонит он всё
нет никаких кейсов у дженериков
так, поумничать захотелось

Никита
26.05.2018
20:46:09
Кстати, почему мы просто не можем свести к необходимому типу данных и передать его в функцию?

Google

Sergey
26.05.2018
20:46:14
вон, даже пример с факториалами не подошёл для дженериковости

Roman
26.05.2018
20:48:18

Никита
26.05.2018
20:49:02

Roman
26.05.2018
20:50:33
с дженериками есть конечно проблемы реализации, их много, они сложные.
поэтому их в Go и не взяли
плюс compilation time можно дженериками загубить

Daniel
26.05.2018
21:42:10
Останется по очевидным причинам
я уже не один раз слышал, что хорошо бы, чтобы все то, что делает питон через C - делалось с помощью языка со строгой статической типизацией.

Roman
26.05.2018
21:43:51

Daniel
26.05.2018
21:45:47
почему не может?!
https://www.google.ru/search?newwindow=1&safe=off&ei=XtUJW5KIM4bt6AS7zoeIDA&q=golang+repl&oq=golang+repl&gs_l=psy-ab.3..0i67k1l2j0l8.48266.49492.0.49756.7.7.0.0.0.0.61.366.7.7.0....0...1c.1.64.psy-ab..0.7.361...0i7i30k1j0i10k1j0i8i7i30k1j0i13k1.0.w0ey7CtLpw0

Roman
26.05.2018
22:04:34

Daniel
26.05.2018
22:09:59
В int64 все кастится. Гиде пираблема?

Roman
26.05.2018
22:10:09

Daniel
26.05.2018
22:10:41
Не кучу

Roman
26.05.2018
22:10:46

Daniel
26.05.2018
22:11:15
Разнообразный код плохо читается...

Roman
26.05.2018
22:13:18
И уже 27 вариантов

Daniel
26.05.2018
22:15:03
27 вариантов вызова, да. Не вижу проблемы

Roman
26.05.2018
22:15:42
Объясню, откуда такая боль: где-то в api мы имеем int, где-то uintptr, где-то int64, где-то uint32

Google

Roman
26.05.2018
22:16:04
Нет, это не я так сделал, а такая ситуация в go
Вот тот же PollFD
Который uint32

Daniel
26.05.2018
22:16:41
Ну скасти параметр при вызове, и возврат тоже скасти

Roman
26.05.2018
22:17:09

Daniel
26.05.2018
22:17:57
Напиши конвертер :)
Не, я понимаю, о чем ты
Но в реальности это проблемой не станет никогда

Roman
26.05.2018
22:18:50
Я не понимаю, почему я должен это делать за машину

Daniel
26.05.2018
22:20:16
Вверх - без потери точности - машина могла бы, да. Но ты же и вниз хочешь автоматом, а это уже не получится

Roman
26.05.2018
22:23:55

Alexey
26.05.2018
22:23:56
Сделают жинерики на рефлекте, будет то чего стараемся избегать

Roman
26.05.2018
22:24:46

Alexey
26.05.2018
22:24:48
Если самому писать функцию рефлектами для джинерика

Daniel
26.05.2018
22:25:01
Генерики - это кодогенерация, так-то. На рефлексах сделанное надо иначе называть

Alexey
26.05.2018
22:27:05
Так так же можно свой тип делать с функциями преобразования
Не дженерики, конечно, но...

Google

Roman
26.05.2018
22:29:07

Alexey
26.05.2018
22:29:36
Не, будут, при компиляции вызов нужного метода преобразования... но это автоматизация кодогенерации

Sergey
26.05.2018
22:31:21

Roman
26.05.2018
22:31:30

Sergey
26.05.2018
22:31:54
(под "dynamic dispatch" будем понимать конвертацию, хотя это и не так)

Daniel
26.05.2018
22:33:48

Alexey
26.05.2018
22:35:18
Не я не против дженериков, но буду ли я теперь ими пользоваться... неуверен.

Daniel
26.05.2018
22:38:09
ну, в общем, это синтаксический сахар, который бы не помешал

Alexey
26.05.2018
22:38:28
myintvalue.(int64) простейший джинерик

Admin
ERROR: S client not available

Daniel
26.05.2018
22:39:27
не
генерик - это параметрический тип.

Alexey
26.05.2018
22:40:27
Ну я шутя

Stanislav
26.05.2018
22:40:28

Daniel
26.05.2018
22:40:34
фактически, при создании конкретного типа на основе параметрического генерится соответствующий код и прописываются соответствующие вызовы
и все это мы прекрасно можем делать и без генериков
но синтаксис генериков был бы, возможно, удобнее. а было бы хуже читать - это вопрос, ответ на который мы никогда не узнаем :)

Alexey
26.05.2018
22:42:22
Метод .String()
Какое-то начало

Google

Daniel
26.05.2018
22:43:24
а?!

Alexey
26.05.2018
22:44:37

Daniel
26.05.2018
22:46:14
меня генерики не очень раздражали (в яве). вот темплейты (в ц-два-креста) - это ад ада

Alexey
26.05.2018
22:46:38
а?!
В го много где, если есть этот метод у типа, например в fmt используется, если нужна строка для вывода этого типа
Яву не трогал, кроме jira confluence и других вещей где нужны были костыли или понимание что там ваще ей надо
А, ну книжку по андроид приложениям листал

Olzhas
27.05.2018
03:34:51

Ross
27.05.2018
03:43:37

Alexander
27.05.2018
03:44:30
Все просят генерики и мне интересно, чем они могут помочь
Например можно будет реализовать итераторы. А если добавить типы суммы, то и нормальную обработку ошибок без исключений. Будет проще работа с мьютексами всякими, можно будет делать кастомные каналы (с логированием, например). Будет возможность написать нормальную библиотеку с контейнером и нормально её использовать.
При этом всё это будет type safety

Olzhas
27.05.2018
03:47:25
Слишком сложно
Дженерики для слабаков

Alexander
27.05.2018
03:47:56
Так слишком сложно или для слабаков?

Olzhas
27.05.2018
03:48:57

Alexander
27.05.2018
03:49:54

Olzhas
27.05.2018
03:50:11
Типизация заебись

Ross
27.05.2018
03:50:19

Olzhas
27.05.2018
03:50:30
Дженерики - ересь от жавистов

Ross
27.05.2018
03:51:01

Olzhas
27.05.2018
03:51:57

Ross
27.05.2018
03:52:45

Alexander
27.05.2018
03:53:03

Ross
27.05.2018
03:53:27
в том же рфц пхпшном вполне разумная аргументация