@proGO

Страница 1460 из 1674
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
Я про пример ситуации
func fact(n int8) int8 { .... } func fact(n int64) int64 { }

Roman
26.05.2018
20:43:20
Я как то не могу придумать ситуации когда такое возникает
1. open up your browser 2. navigato to "www.google.com" 3. in the search-bar type in: "why do we need generics. programming." 4. click the "search" button 5. select either of the first 5 (non-ad) results and.. 6. voila!

Phil
26.05.2018
20:43:20
Ну и чтение кодогенерации минус
В большинстве случаев, можно просто так написать

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

Sergey
26.05.2018
20:43:24
func fact(n int8) int8 { .... } func fact(n int64) int64 { }
а для int8 n! не выйдет за int8?

Phil
26.05.2018
20:43:41
Никита
26.05.2018
20:44:41
1. open up your browser 2. navigato to "www.google.com" 3. in the search-bar type in: "why do we need generics. programming." 4. click the "search" button 5. select either of the first 5 (non-ad) results and.. 6. voila!
Ну ты же наверняка сталкивался с ситуациями, когда нужно было. Расскажи, пожалуйста

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 - делалось с помощью языка со строгой статической типизацией.

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
Я как то не могу придумать ситуации когда такое возникает
int vs int32 vs int64. Тебе на вход в функцию прилетает параметр и его надо скастить в int, например

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
В int64 все кастится. Гиде пираблема?
Проблема в написании однообразного кода

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

Roman
26.05.2018
22:13:18
В int64 все кастится. Гиде пираблема?
Давай чуть сложнее: на вход 2 параметра, каждый может быть int/int32/int64, на выходе - 1 и тоже int/int32/int64

И уже 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
Гиде?
unsafe

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

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

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

unsafe
И что там?

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

Не дженерики, конечно, но...

Google
Alexey
26.05.2018
22:29:36
Медленно
Дженерики быстрей не будут

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

Sergey
26.05.2018
22:31:21
Дженерики быстрей не будут
static dispatch vs "dynamic dispatch"

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
Ну я шутя

Daniel
26.05.2018
22:40:34
фактически, при создании конкретного типа на основе параметрического генерится соответствующий код и прописываются соответствующие вызовы

и все это мы прекрасно можем делать и без генериков

но синтаксис генериков был бы, возможно, удобнее. а было бы хуже читать - это вопрос, ответ на который мы никогда не узнаем :)

Alexey
26.05.2018
22:42:22
Метод .String()

Какое-то начало

Google
Daniel
26.05.2018
22:43:24
а?!

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

Alexey
26.05.2018
22:46:38
а?!
В го много где, если есть этот метод у типа, например в fmt используется, если нужна строка для вывода этого типа

Яву не трогал, кроме jira confluence и других вещей где нужны были костыли или понимание что там ваще ей надо

А, ну книжку по андроид приложениям листал

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
Мне как пхпшнику дженерики не нужны
Смотри запилят ведь) https://wiki.php.net/rfc/generics

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
А где они нужны?
в rust, go и т.д. например)

Alexander
27.05.2018
03:53:03
Дженерики - ересь от жавистов
Кек. А при чём тут жависты?

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

Страница 1460 из 1674