@gogolang

Страница 891 из 1630
Alexey
07.03.2018
06:53:10
А как он связан с Python?

Artem
07.03.2018
06:53:19
Go -это в первую очередь очень сырой инструмент

Alexey
07.03.2018
06:53:43
Это утверждение требует аргументации ?

Artem
07.03.2018
06:53:55
А как он связан с Python?
речь вообще была не о питоне. Этот человек влез в обсуждение которое длилось несколько часов и забыл почитать с начала... речь шла изначально о том, что другой индивид предлогал использовать Go в целях машинного обучения и заменить python

Google
Alexey
07.03.2018
06:54:31
Ну, нет. Тут мы говорим о том, что на Python может использовать все ядра, а не про то, что Apache Spark позволяет нагрузить все ядра

Artem
07.03.2018
06:54:53
Это утверждение требует аргументации ?
ну для начала нет никакой проблемы работы со спарком из питона.

Alexey
07.03.2018
06:55:25
Но есть же разница между языком программирования и не-языком программирования?

Artem
07.03.2018
06:55:53
Ну, нет. Тут мы говорим о том, что на Python может использовать все ядра, а не про то, что Apache Spark позволяет нагрузить все ядра
это решается библиотеками, никто не пишет на питоне реализации, люди используют пайторч, теано и другие библиотеки позволяющие абстрагироваться

Alexey
07.03.2018
06:55:59
Кажется, не нужно использовать Spark в качестве аргумента почему Python лучше Go, потому что он вообще не к месту

> никто не пишет на питоне реализации Вы ведь знаете, что подобные утверждения требуют одного контр-примера для опровержения? ?

Artem
07.03.2018
06:56:54
Кажется, не нужно использовать Spark в качестве аргумента почему Python лучше Go, потому что он вообще не к месту
я ни разу не говорил, что питон лучше или хуже Го, я говорю одно, Go сегодня не применим в ML из за ряда проблем и отсутсвия как минимум нормальной стандартной библиотеки. А еще говорю о том, что не знаю задач и проблем которые егодня есть и где Go может стать решением.

Alexey
07.03.2018
06:56:56
Я писал ?

Так что, наверное, «мало кто», или «я лично не пишу», но точно не «никто»

Александр
07.03.2018
06:57:14
шо тут за холивар?

вы зайдете в тупик в попытке найти единственно правильный инструмент

Alexey
07.03.2018
06:58:11
> А еще говорю о том, что не знаю задач и проблем которые егодня есть и где Go может стать решением. Задача написание сетевых сервисов, на мой взгляд, решается лучше всего именно Go.

Artem
07.03.2018
06:58:14
Я писал ?
я тоже писал, но это не значимый аргумент. Я говорю о том, что используется в индустрии. И о том, что нужно на рынке и может быть стимулом для развития, а именно организации поддержки в Go всего этого зоопарка. чтобы его можно было использовать, а по факту он никому в этой теме не нужен

Google
Alexey
07.03.2018
06:59:14
Ну как никому. Что за максимализм. Мы нормально использовали Go для этого. Да, у нас была небольшая задача, не огромная. Но нам важнее было использовать общий язык для команды

Alexey
07.03.2018
06:59:54
как эта задача связанна с глубоким обучением?
Никак, в вопросе и не было про ML ничего ?

Artem
07.03.2018
07:00:14
Никак, в вопросе и не было про ML ничего ?
ну вот в том и дело, что я сам люблю Go и за то, чтобы его было больше... но тут речь именно о ML

Alexey
07.03.2018
07:00:35
т.е. вы выступали в разряде энтузиастов. Это не аргумент
Это вполне себе контр-аргумент к утверждению «никто». Вы просто откидывайте те, что вам не подходят ?

Pawel
07.03.2018
07:00:47
согласен я не вижу повода общаться с откровенным троллем рассуждаеющем о том, от чего он далек и чего вообще не понимает приводя в качестве примера то. что иcпользуют тут в чате аргументируя этим то, что нужно в параллельном мире.
а и не надо со мной общаться, ни кто не завтавляет. достаточно пояснить ваши высказывания если вас просят об этом. Вы пояснили лишь одно, и после этого более у меня к вам вопросов нет после "все ядра утилизируются сегодня в том числе при использовании питона" и "невозможность использовать GPU критична". Успехов вам в построении серверов на видюхах! "Покажите мне реальную задачу где вы планируете применить то о чем говорите" - я уже говорил - паралельный обсчёт матриц. она собственно и решена в AI библиотеках на Го, которых по ваши словам нет.

Artem
07.03.2018
07:01:02
Никак, в вопросе и не было про ML ничего ?
о том и речь, что человек приводит в аргумент то, что конкурентность го нравится всем тут в чате, а вы предлагаете на не м сетевые сервисы писать. Так я не против, но это все не имеет отношения к теме осбуждения

Alexey
07.03.2018
07:01:29
Я не понял ?

Nick
07.03.2018
07:01:37
Почему вы до сих пор обращаете внимание на Павла

Вот каждый день чувак холиварит

И почитайте его блог

Alexey
07.03.2018
07:02:02
Давайте вот без перехода на личности

Artem
07.03.2018
07:02:15
Это вполне себе контр-аргумент к утверждению «никто». Вы просто откидывайте те, что вам не подходят ?
никто -это индустрия. Это те, кто двигают тему, кто создает библиотеки, кто придумывает подходы, кто ведет ресерч, а не просто попытался и бросил. Ну блин это же очевидно... группа энтузиастов -это совершенно из другой оперы, такими темпами и на scheme можно ML делать и 100% есть те, кто уже делал

Nick
07.03.2018
07:02:27
Почему нет? Когда у вас эта личность регулярно треш устраивает

Alexey
07.03.2018
07:02:59
Потому что ad hominem – последний аргумент, говорящий о том, что других больше нет

Nick
07.03.2018
07:03:23
Я вообще не принимаю участие в этом споре, зачем мне аргументы)

Artem
07.03.2018
07:03:46
а и не надо со мной общаться, ни кто не завтавляет. достаточно пояснить ваши высказывания если вас просят об этом. Вы пояснили лишь одно, и после этого более у меня к вам вопросов нет после "все ядра утилизируются сегодня в том числе при использовании питона" и "невозможность использовать GPU критична". Успехов вам в построении серверов на видюхах! "Покажите мне реальную задачу где вы планируете применить то о чем говорите" - я уже говорил - паралельный обсчёт матриц. она собственно и решена в AI библиотеках на Го, которых по ваши словам нет.
Павел, уважаемый, я устал вам пояснять, когда вы не понимаете и по прежднему продолжаете шта.. и т.д. Вы привели цитату которая требует пояснения - я пояснил, но это лишь одна. Давайте закончим? Мне казалось, что я говорю очевидные вещи, если это не так ок -простите. я не могу пояснить так, чтобы вы поняли. Используйте Go в ML -пишите на нем сетки и удачи.

Google
Artem
07.03.2018
07:04:03
при чём тут ML? и чего не хватает в стандартной библиотеки Го?
очень много чего, что делает код на нем многословным и опять таки не удобным язык для использования не программистами.. повторить? В ML в большей степени дата саентисты а не программисты им это не нужно

Alexey
07.03.2018
07:04:46
> это индустрия > Это те, кто двигают тему, кто создает библиотеки, кто придумывает подходы, кто ведет ресерч Я бы разделял. Вторые – создатели, исследователи, передовики, и т. д. Индустрия – это те, кто идут сзади. Они не такие модные, но их гораздо больше. И вот там используется всё, а не только самые новые вещи. Наша задача была вполне индустриальная. Это был большой проект с небольшой ML задачей. Я бы не назвал его «энтузиастским»

Pawel
07.03.2018
07:05:31
например типа данных множества
map[T]bool - это множество

Alexey
07.03.2018
07:05:46
map[T]struct{} тогда уж ?

Pawel
07.03.2018
07:06:05
map[T]struct{} тогда уж ?
это длиннее, поэтому нет )

Alexey
07.03.2018
07:06:19
С bool не очень понятно, что означает значение false – элемент вроде есть, но его вроде нет

Очень уж хитрый предмет

Artem
07.03.2018
07:07:11
> это индустрия > Это те, кто двигают тему, кто создает библиотеки, кто придумывает подходы, кто ведет ресерч Я бы разделял. Вторые – создатели, исследователи, передовики, и т. д. Индустрия – это те, кто идут сзади. Они не такие модные, но их гораздо больше. И вот там используется всё, а не только самые новые вещи. Наша задача была вполне индустриальная. Это был большой проект с небольшой ML задачей. Я бы не назвал его «энтузиастским»
отход от общепринятой практики на уровне одной маленькой команды и одной задачи -это и есть энтузиазм. Но опять таки это слишком оливарная тема, чтобы был какой то правильный ответ. Есть статистка, есть ваш опыт, т.е. опыт одной компании -это статистически не значимый показатель, более того где результат? О чем речь то вообще ? )))

Pawel
07.03.2018
07:07:49
С bool не очень понятно, что означает значение false – элемент вроде есть, но его вроде нет
множество - это ключи, там не важно false или true. Есть ключ - есть элемент в множестве

Alexey
07.03.2018
07:08:05
В том, что ваша статистика, как я понимаю, всего про несколько больших компаний. Моя – про много разных компаний. На мой взгляд, индустрия – это вторые, не первые

Artem
07.03.2018
07:08:15
это длиннее, поэтому нет )
зато без алокаций, и это меньшая часть. Тут подходит python потому, что проще и есть куча готового и поддерживает он все, а когда переписывают на типизированные языки, то это низкоуровневая оптимизация и Go всегда проиграет крестам, а скорость разработки тут не важна

Alexey
07.03.2018
07:08:55
> и Go всегда проиграет крестам Ну это уже просто наброс. Не всегда. Совсем не всегда

Artem
07.03.2018
07:09:20
В том, что ваша статистика, как я понимаю, всего про несколько больших компаний. Моя – про много разных компаний. На мой взгляд, индустрия – это вторые, не первые
давайте перейдем в ods с этим обсуждением? там есть порядко 11к+ специалистов в этой теме из очень разных компаний и сформируем мнение о том кто еще знает, что такое Go ?

Alexey
07.03.2018
07:09:45
ODS?

Artem
07.03.2018
07:09:55
> и Go всегда проиграет крестам Ну это уже просто наброс. Не всегда. Совсем не всегда
не важно, тесты в офф доках Go показывают, что проигрывают - это официальное мнение )

ODS?
ods.ai приходите, там удобнее обсуждать подобные темы и есть масса людей способных ответить куда более аргументированно, чем я

Vladimir
07.03.2018
07:10:49
Язабан

Google
Alexey
07.03.2018
07:10:57
Вы сейчас хотите меня куда-то затащить и там избить? Зачем? ?

Vladimir
07.03.2018
07:11:00
Вот всех участников дискуссии выше

Alexey
07.03.2018
07:11:14
Мы же не пойдём в Java-чат спрашивать про Go?

Nick
07.03.2018
07:11:32
Го компилятор же простой, как он может монстров в лице gcc, clang или icc уделывать ?

Artem
07.03.2018
07:11:47
Вы сейчас хотите меня куда-то затащить и там избить? Зачем? ?
я предлагаю просто прекратить обсуждение машинного обучения в этом чате и оставить его для Го, а со специализированным перейти в чат (крупнейшее рускоязычное сообщество), где тысячи экспертов из топовых мировых компаний смогут аргументировать куда лучше.

Alexey
07.03.2018
07:12:06
Ок, с этим я согласен. Прекращаем ?

Daniel
07.03.2018
07:12:33
Го компилятор же простой, как он может монстров в лице gcc, clang или icc уделывать ?
вот тут интересное. компилятор простой, оптимизатора считай, что нет, но это совершенно не важно. при современном состоянии выч. техники не очень важно, насколько оптимизирован ваш алгоритм, а важно, как часто он подтягивает данные из ОЗУ в процессорный кеш и как часто пишет в ОЗУ. потому, что именно на границе кеш-озу сегодня теряется большая часть производительности.

так что вопрос производительности - это вопрос удачных-неудачных структур данных

с++ предоставляет - теоретически - больше контроля на структурами, так что должен быть лучше. теоретически. практически - зависит от прослойки между клавиатурой и монитором

Admin
ERROR: S client not available

Nick
07.03.2018
07:22:26
К примеру LLVM имеет планировщики, которые вроде как и умеют оптимизировать в том числе обращения к памяти

Daniel
07.03.2018
07:23:01
коллега, я в курсе

Nick
07.03.2018
07:23:21
Хотя там переключения контекстов накладывают ограничения тоже

Daniel
07.03.2018
07:23:34
но за состоянием кеша следит не llvm, а сам процессор

Vladimir
07.03.2018
07:26:48
Я напомню, что для каждой микроархитектуры как минимум у интела желающие могут скачать Intel microarchitecture optimization guide о примерно 120 листах А4, где на примере си рассказано как делать оптимально. И он даже в похожих моделях (Sandy bridge и ivy bridge) очень разный

Daniel
07.03.2018
07:28:29
там написано "не очень важно". и, по результатам исследований, это так и есть.

Alexey
07.03.2018
07:28:45
Я не соглашусь, что оптимизатора нет. SSA-бэкенд вполне оптимизирует, и развивать его понятно как.

Вот, кстати, про сравнение gccgo и gc: https://habrahabr.ru/company/intel/blog/348230/

Google
Nick
07.03.2018
07:29:24
там написано "не очень важно". и, по результатам исследований, это так и есть.
Если было бы не очень важно, то никто бы не писал -O2)

Daniel
07.03.2018
07:29:52
там написано "считай, что нет". циклы не разворачивает, инлайнит с жестокими ограничениями

Alexey
07.03.2018
07:30:11
Escape analysis, который есть gc, и которого нет в gccgo, весьма важен для оптимизации

Про mid-stack inlining подняли вопрос для Go 1.11, btw

Daniel
07.03.2018
07:30:53
это хорошо, да

Alexey
07.03.2018
07:31:05
https://github.com/golang/go/issues/19348

Daniel
07.03.2018
07:31:33
не, все шевелится, и шевелится хорошо.

Roman
07.03.2018
07:48:28
Как работает type assertion ? через рефлект ? Интересно почему число 1 не получается конвернуть в int через .(int) , go говорит что это float64

Alexey
07.03.2018
07:50:54
Нет, не через reflect. Если это float64, то это float64 ?

Если 1 приходит из json, то все числа в json по-умолчанию float64

Sergey
07.03.2018
07:52:49
Народ, помогите с таким вопросом Есть структура, где есть поле содержащее time.Time{} например такая, type A struct { name string address string phone string ... time time.Time{} } Если я при инициализации струтуры передать полю time нулевое значение, например так Вариант 1 example := A{ name: "test" address: "Test" phone: "+123" ... time: time.Unix(time.Time{}.Unix(), 0), //просто пример нулевого времени } То при записи в Postgres через gorm будет записано нулево значение для времени 1970-01-01 00:00:00.000000 +00:00 , а что еще хуже, будет перезаписано то значение которое там было раньше Но если при заполнении структуры вообще не трогать это поле, например так Вариант 2 example:=A{ name: "test", address: "Test" phone: "+123" ... } То при записи в постгрес через gorm поле времени вообще не будет затронуто и останется <null>, а если поле было заполненно ранее, то ничего не изменится Я со своей стороны не могу повлиять на эту структуру (example) и не заполнять её. Работаю с тем, что есть Есть вариант пересобирать структуру, типа result := A{ Name: example.Name Address: example.Address Phone: example.Phone ... } Но это приведет к перерасходу памяти Я не могу найти способ удалить полностью поле time если поле нулевое, как будто оно не было указано ранее (как в варианте два)

Roman
07.03.2018
07:53:26
Alexey
07.03.2018
07:53:30
type A struct { time *time.Time }

(это просто догадка)

Sergey
07.03.2018
07:53:53
Ща попробую

Artem
07.03.2018
07:54:41
https://github.com/golang/go/issues/19348
а есть вообще место где можно из местной аудитории организовать circle jerk и накрутить лайки на пропозал ? :)

Alexey
07.03.2018
07:54:53
А, теперь понятно, спасибо
Есть ещё такое: https://golang.org/pkg/encoding/json/#Decoder.UseNumber https://golang.org/pkg/encoding/json/#Number

Alexey
07.03.2018
07:57:30
Вежливость и скромность – немного разные вещи. По теме – кидай ссылку на proposal, тут людей много, но не уверен что все будут бездумно ставить ?

Sergey
07.03.2018
08:08:48
type A struct { time *time.Time }
не помогло :(

а нет, поборол, чуток тоже кривовато, но работает

через ссылку, да

Страница 891 из 1630