
енот
13.10.2018
05:48:47

Tux
13.10.2018
05:49:30
http://g.zeos.in/?q=golang%20modules

Michael
13.10.2018
05:50:20
на скрине предпосленяя ссылка

Olzhas
13.10.2018
05:54:56
Еще есть dep

Google

Alexander
13.10.2018
05:58:11

енот
13.10.2018
06:01:57
спасибо, теперь понятно куда копать.

Alexander
13.10.2018
06:04:06
Нытики задрали. Не нравится IT - идите на завод. Там все по науке и гостам

Tux
13.10.2018
06:06:00

Alexander
13.10.2018
06:06:58

?
13.10.2018
06:19:03

Pawel
13.10.2018
06:36:30
Кто в Джулии программирует? интересует сравнение производительности зелёных потоков Julia vs Go

Pavel
13.10.2018
06:43:11
И будет естественный отбор ?

?
13.10.2018
06:44:21
ладно, offtopic

Tux
13.10.2018
06:53:19

Google

Pawel
13.10.2018
06:54:43
на заводах (нормальных, а не демидовских мануфактурах как в рф) программисты нужны не меньше чем в этих ваших банках, и зп у них оч нормальные

Vadim
13.10.2018
07:07:08
Привет, как бороться с ограничением строк в excel

Tux
13.10.2018
07:07:35
exel переписали на гошке?

Vadim
13.10.2018
07:08:07

Pawel
13.10.2018
07:08:38
гугол

Tishka17
13.10.2018
07:08:56
Полагаю, что если ты напоролся на ограничение числа строк, то тебе нужен уже не эксель

Tux
13.10.2018
07:09:27

Pavel
13.10.2018
07:09:27

Denis
13.10.2018
07:12:37

Vadim
13.10.2018
07:14:12


Daniel
13.10.2018
07:17:14
Потому что it это не про it. it это про решение бизнесзадач лишь бы работало, посредством дешевой раб. силы, которая приходит в it за зарплатой, и чтобы не на завод.
А потом на всяких фронтенд конфах ебут друг друга в жопу, кто круче фреймворк освойл. ФРЕЙМВОРК, КАРЛ!
В it ценится умение решать инфраструктурные задачи. Если ты умеешь webpack'ом файлики конкатенировать или запускать всесь свой говнокод со всеви зависимостями из говна в изолированном окружении (да-да, я на тебя смотрю, мамкин девопс инженер), то это типа збс.
Вот по этому мы и живём с монолитными говнобраузерами на оверлям строк кода, с сайтиками которые ждут по 250мб и 25% цпу. По этому, у нас есть говно-конференции, где невъебенные докладчики читают о том, как блеать повысить эффективность работы сайтика. Эффективность, блеать! Сайтика, блеать!!!!
Вот потому, что для разработки, тонкого клиента + ui к базе юзерского контента у нас спрашивают по СТЕК ДЛЯ ФРОНТЕНДА, БЛЕАТЬ!
И на бекенде то же дерьмо творится. Привет жаве с её жвмом и шарпу. Для примитивнейшей логики заводят целые проекты на спринге.
Все было разумно, пока не дошло до jvm. Видно, что про бекенд вы ни хера не знаете


Tux
13.10.2018
07:18:58

Daniel
13.10.2018
07:24:37
простите, если вопрос тупой.
я в основном на ноде, спрошу на её примере
вот в ноде есть package.json, в нем зависимости перечислены, а в golang есть что-то подобное кроме указания в импорте? Или оно подтянется само?
Тут несколько уровней.
1. В простом случае подтянется по go get. Транзитивные зависимости подтянутся сами
2. Если надо что-то более строгое, чем "само", например, контроль версий, то есть dep, который изучит импорты и составит Gopkg.toml и наполнит vendor.
3. На смену dep и vendor приходят vgo и go.mod вот прям сейчас. Но оно пока в бетах, считай. Соедим за обновлениями...

Evgenij
13.10.2018
07:26:36
А что про GO2 - почитал понравилось.Когда ждем?

Daniel
13.10.2018
07:28:33

Evgenij
13.10.2018
07:29:01

Tux
13.10.2018
07:29:15

Daniel
13.10.2018
07:29:25
Это да

Google

Tux
13.10.2018
07:29:27

Evgenij
13.10.2018
07:30:19
а готовимся
ну мне лично понравилось))Человечнее стала чтоли

Евгений
13.10.2018
07:30:24

Daniel
13.10.2018
07:31:05

Evgenij
13.10.2018
07:32:35
хм - перл это просто штука для обработки текста - вот к нему нейросети итп подключить былобы забавно

Leonid
13.10.2018
07:33:43

Tux
13.10.2018
07:34:13
перл6 как халва3

Evgenij
13.10.2018
07:34:18

Leonid
13.10.2018
07:34:52

Alexander
13.10.2018
07:40:27
почему?
потому-что го с дженериками и HKT — это уже совершенно другой язык

Denis
13.10.2018
07:41:02
Шо, и в го HKT хотят ? Ждите тогда десант из хаскель чатика

?
13.10.2018
07:41:45
а все
Higher-Kinded Types

Alexander
13.10.2018
07:43:19

Evgenij
13.10.2018
07:43:34
не мне человеческая обработка ошибок понравилось - ну те штуки тоже)))

Tux
13.10.2018
07:44:19

Alexander
13.10.2018
07:44:47
на самом деле просто дефолтный гофер о них не слышал, а тот что слышал боится, что слишком сложно ибо "алгебраические" же типы

Evgenij
13.10.2018
07:46:58
Про алгебраические типы думаю перебор

Google

Daniel
13.10.2018
07:48:06

Tux
13.10.2018
07:48:10

Evgenij
13.10.2018
07:48:24
сейчас или там в проекте?

?
13.10.2018
07:49:24

Alexander
13.10.2018
07:49:25

Tux
13.10.2018
07:49:36

Daniel
13.10.2018
07:50:38

Tux
13.10.2018
07:50:58
ява хороша с точки зрения синтаксиса
как и шарп

Evgenij
13.10.2018
07:51:26

Alexander
13.10.2018
07:51:35
ява хороша своей jvm и экосистемой. ну и для работодателя хороша наличием кучи программистов

Alexander
13.10.2018
07:52:10

Daniel
13.10.2018
07:52:39
то странной чуство, когда в чатике го спорят растеры :)

Никита
13.10.2018
07:52:42

Evgenij
13.10.2018
07:52:57
кстати пхп 7 он если делать как в джава такойжек 100%

Tux
13.10.2018
07:53:24

Daniel
13.10.2018
07:53:26
Чем они помогут разработке?
есть узкий, но частый кейс, когда нам нужна тип-сумма. сейчас мы ее делаем на интерфейсах, но это реально костыль

Evgenij
13.10.2018
07:54:17

Google

Tux
13.10.2018
07:55:07

Evgenij
13.10.2018
07:55:26

Daniel
13.10.2018
07:55:27

Tux
13.10.2018
07:56:11
я для этого отдельный интерфейс заводил в котором был метод type()

Daniel
13.10.2018
07:56:33
не
делаем интерфейс вроде Enum1 с методом вроде Enum1Member()
принимаем парметром Enum1
дальше тайпсвитч
костыль как кон есть

Tux
13.10.2018
07:58:54
ну у тя метод по другому называется, я о том и говорил

Daniel
13.10.2018
07:59:31
а, да, во всех нужных типах добавляем Enum1Member(), в теле panic("do not call me")

Evgenij
13.10.2018
08:00:15

Alexander
13.10.2018
08:01:37
type option(T) enum { // тип который означает, что значения может не быть
some(T),
none,
}
type result(T, E) enum { // тип который означает, что может быть либо значение, либо ошибка
ok(T),
err(E),
}
func foo() {
o := option.some("значение") // создаём значение
switch o { // извлекаем значение, сопоставление с образцом, pattern matching
case option.some(val):
fmt.Println(val)
case option.none:
panic("empty value")
}
e := result.err("ошибка") // создаём значение
switch e { // извлекаем значение, сопоставление с образцом, pattern matching
case result.err(err):
panic(err)
case result.ok(res):
fmt.Println(res)
}
}
Вот грубый пример того, как в го могли бы выглядеть алгебраические типы
тут правда пример сразу с дженериками

Tux
13.10.2018
08:02:50
выглядит как фабрика o := option.some("значение")

Daniel
13.10.2018
08:03:22
чет я не вижу проблем и сейчас так писать

Alexander
13.10.2018
08:03:33

Tux
13.10.2018
08:03:46

Evgenij
13.10.2018
08:04:03
type option(T) enum { // тип который означает, что значения может не быть
some(T),
none,
}
type result(T, E) enum { // тип который означает, что может быть либо значение, либо ошибка
ok(T),
err(E),
}
func foo() {
o := option.some("значение") // создаём значение
switch o { // извлекаем значение, сопоставление с образцом, pattern matching
case option.some(val):
fmt.Println(val)
case option.none:
panic("empty value")
}
e := result.err("ошибка") // создаём значение
switch e { // извлекаем значение, сопоставление с образцом, pattern matching
case result.err(err):
panic(err)
case result.ok(res):
fmt.Println(res)
}
}
Вот грубый пример того, как в го могли бы выглядеть алгебраические типы
интересноъ

Tux
13.10.2018
08:04:19
case option.some(val) -> case option.is_some(val)

Alexander
13.10.2018
08:04:24

Daniel
13.10.2018
08:04:38
например

Alexander
13.10.2018
08:04:50