Этого треда уже нет.
Это копия, сохраненная 24 октября 2019 года.

Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее

Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
Очередной тред про лучший в мире язык GO №4 /go/ # OP 1452808 В конец треда | Веб
GO (а также Golang, Пщ или просто Го) — современный язык с зелеными потоками на уровне синтаксиса и крутой стандартной библиотекой. Так как делать пакеджи несложно, гитхаб полон пакеджами для абсолютно всего. Батарейки почти как в питоне.

Дженериков нет пока что, эксепшенов нет, просто смирись.

Обработка ошибок получается охуенно через http://github.com/pkg/errors | в приложениях обычно можно просто паниковать на ошибках.
HTTP-сервер для убер максимального маня-хайлоада: https://github.com/valyala/fasthttp

Для вката в Go читай Донован, Керниган "Язык программирования Go", https://www.golang-book.com/, книги из списка https://github.com/dariubs/GoBooks, а также смотрим видео https://www.youtube.com/channel/UC_BzFbxG2za3bp5NRRRXJSw

Вкатываемся в эпоху докера, микросервисов и адово кошерной сетевухи.

Предыдущий: >>1360787 (OP)
2 1453033
3 1453041
Пишу петпроджект, и часть его функциональности решил вынести в отдельную, обособленную либу. Должен ли я использовать vgo на одном или обоих компонентах, или и так сойдет?
4 1453147
>>53041
Вопрос из разряда "должен ли я использовать composer, если вынес часть кода в либу на php", "должен ли я использовать npm, если вынес часть кода в либу на nodejs" и так далее.
5 1453159
>>53147

>должен ли я использовать npm, если вынес часть кода в либу на nodejs


не должен
6 1453227
>>53159
Я придерживаюсь противоположного мнения. Но ты волен говнокодить как тебе душе угодно, особенно в петпроджекте.
7 1453445
>>53041
В любом случае, используй vgo, потому что это уже почти стандартный менеджер зависимостей
8 1453491
>>53147
Я не совсем правильно сформулировал вопроc. У меня есть библиотека и приложение, которое ее использует. Библиотеку я хочу выложить на гитхаб, я думаю она может быть полезна не только мне.
У обоих компонентов есть свои внешние зависимости, про которые, собственно и идет речь. На данный момент это просто исходники в GOPATH, при том у некоторых пакетов разные комиты на моем домашнем и рабочем компьютере, и все работает одинаково, тесты и там и там проходит.
Но если я жестко задам версию зависимости, и пользователь моей либы сам будет использовать эту же зависимость, но другой версии - это же приведет к увеличению как размера исходников, так и бинаря.
Или я что-то не правильно понимаю?
9 1453497
>>53491
В бинарь попадает только использованный код, это раз.
Го модули (как и dep, к слову) нужен в первую очередь тебе самому, для того, чтобы управлять тем, какую именно версию твоей библиотеки ты используешь. Объясню на примере, чем плоха схема с GOPATH:
У тебя есть пакет alpha, который использует пакет beta. Ты сделал go get github.com/.../beta и выкачал себе его.
Потом у тебя появляется пакет gamma, который тоже использует пакет beta. Ты пытаешь скомпилировать gamma и ловишь ошибку, потому что обнаруживаешь, что у пакета beta вышла новая версия, и gamma использует beta v2.
Ты радостно перескачиваешь beta и обнаруживаешь, что gamma начал компилироваться - но теперь пизданулся alpha, потому что он писался так, что использует beta v1.
Получается вот как-то так:

В случае с gopath ты получишь очевидный конфликт, потому что никогда не знаешь, какую именно версию beta тебе сейчас нужно иметь.

Соответственно, для этого тебе и нужен менеджер зависимостей: там как раз и написано:
alpha <- beta v1
gamma <- beta v2

И теперь го будет использовать нужные версии библиотеки (там можно даже не версии, а просто коммиты указывать, по желанию).
10 1453499
>>53497
Но это было в принципе про то, нахрена тебе нужен менеджер зависимостей. Когда начнёшь иметь больше 1 проекта в одной системе или попытаешься съехать на другую и обнаружишь что просто go get качает что-то некомпилируемое (потому что go get берёт тупо последний на текущий момент коммит с гитхаба) - поймешь.

Теперь про разницу между dep и го модули (vgo). Классический уже подход (привет композеру, npm-у и т.п.) - это когда менеджер зависимостей качает тебе исходники в папку vendor прямо в твоём проекте и поэтому два не связанных друг с другом проекта не конфликтуют (у каждого свой vendor). Но это засирает систему использованием одних и тех же пакетов кучу раз (особенно npm этим грешит).

Поэтому гоферы придумали го-модули. Они хитро качают пакеты в одну единственную папку на всю систему, но делят их по версиям: GOPATH/pkg/mod/{vendor name}/{package name}/{commit}/...
И это по идее должно снизить нагрузку на систему.
Плюс, vgo даёт тебе возможность в нескольких пакетах в рамках одного и того же приложения использовать один и тот же внешний пакет разных версий. Но это очень редкий случай, я таких почти не встречал.
11 1453508
>>53499

>Но это засирает систему использованием одних и тех же пакетов кучу раз (особенно npm этим грешит).


Собственно по этому у меня такой вопрос и возник, по тому что я привык, что в каждом проекте node_modules, который занимает очень много. И у каждого пакета, который я явно указал есть свои зависимости, и в итоге это приводит к тому, что всяких лоудешей и jquery в проекте по 5 разных штук, при том что я их и не добавлял в package.json.
Но про vgo ты меня убедил
12 1454463
идеи для пет проекта хоть в этот раз подвезут ?
13 1454628
>>54463
Никогда не понимал людей, которым нужны идеи для пет проекта.
Ты блять можешь написать ВСЁ. Интернет полон документацией, схемами, мануалами.
Тебя что, ничего в жизни не интересует?
Напиши свой крипто-мессенджер, аналог телеграмма (чтобы end-to-end шифрование). Сделай его распределённым, p2p.
Напиши свой игровой движок, поиграй с друганами в какую-нибудь самописную простенькую херню, 2д шутер.
Напиши свою базу данных, заставь потенциального работодателя охуевать от твоей крутости.
Напиши свой почтовый сервер, используй его и понтуйся перед братюнями.
Нагенерил тебе за полминуты.
image.png481 Кб, 600x385
14 1454758
15 1455339
ГОспода, есть вопрос как изящнее реализовать без наследования "заглушку".
Программа получает данные, и парсит. Парсинг и всегда один и тот же, а получать данные можно по сети, а можно, в отладочных целях, читать из файла.
В плюсах я бы отнаследовал новый класс, перекрыл функцию получения данных, и создавал нужный класс - с получением данных по сети или с чтением из файла.
Фактически надо, чтоб была возможно в одном единственном месте закоментить одну строчку, разкоментить другую и запустить прогу.
Тк работа идет со структурой, я придумал засунуть в эту структуру указатель на нужную функцию, но может есть более идеологически правильные способы?
image.png113 Кб, 997x871
16 1455421
>>55339
Это делается через интерфейсы
https://pl.kotl.in/5Gyv83sL3
17 1455432
>>54628

> Ты блять можешь написать ВСЁ. Интернет полон документацией, схемами, мануалами.


Например.
То, что дальше - ГОвно.
18 1455451
>>54628

> Никогда не понимал людей, которым нужны идеи для пет проекта.


Видимо потому, что у тебя от пет проекта другие ожидания, нежели у других людей. Некоторые, может, хотят что-то полезное или релевантное к их деятельности, чем они реально пользоваться будут, а не упражнение по написанию велосипеда в стол. В глубине души они чувствуют, что код это блоат и программисты должны сидеть в газовых камерах.
19 1455454
20 1455631
Ну чего, ГОвноеды, как дела? Все сосете?
21 1455633
>>55339
Сам разобрался, cпасибо.
image.png11 Кб, 113x156
22 1455736
>>55633
Обращайся.
23 1456370
24 1457324
>>52808 (OP)

>> Обработка ошибок получается охуенно через http://github.com/pkg/errors



Кто-нибудь шапку за последние лет 5 обновлял?
Во-первых, этот пакет уехал в STD - "errors".
Да и не часто им пользуются, есть же juju/errors от Canonical.
25 1457325
>>57324
Я её почти не меняю, лень заморачиваться

Алсо, до сих пор в своих проектах просто возвращаю ошибку, без дополнительного контекста
26 1457327
>>57325

И как дебажить?
Где и кто вернул ошибку?
juju/errors удобная штука, добавляет трейсбек.
image.png61 Кб, 400x296
27 1457340
>>57324
>>57325
>>57327
Как мило, маленькие гоферы изобретают исключение.
28 1457356
>>57340

Исключения не нужны, они рушат поток исполнения программы, замедляют код и делают его менее очевидным.
(Зря они пошли на поводу у публики и добавили паники).
15215752130990.png348 Кб, 1200x1200
29 1457358
>>57356
Какой поток исполнения они рушат, почему они рушат что-то там у гоферов?

>замедляют код


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

>делают его менее очевидным


Мы тут всем коллективом по полу катаемся, то есть
if err != nill {
...
}
Делает код читаеме??

Исключение плохи лишь тем, что их нет в го, как и дженирики, это тупо поинт дизайнеров языка, которые не захотели парится и сделали просто палку, возложив переброску ошибок на руки программистов (как и много другое) собственно сейчас я смотрю научились заворачивать какой-то контекст и даже стектрейс. Я тебе уверяю, еще 2 года назад, меня пытались забанить за то что я доказывал что стектрейс очень важен, а мне говорили нет и вообще я тролль. А я лишь хотел сделать язык чуточку лучше
30 1457360
>>57356

>замедляют код


То есть, такая тормозная жесть как defer - это нормально??
31 1457373
>>57358
>>57360

Просто учите матчасть. Я не могу в комментарии вам уместить содержание нескольких книг и десятка статей.
32 1457388
>>57358
Через 5 лет, когда им добавят эксепшены и дженерики, они будут с ними носиться, как с откровением, мол, какой же го замечалньный язык, инфа 100%. А пока Пайк говорит нинужно, значит нинужно.
33 1457390
>>57388

Дженерики нужны, не представлял, как без них можно жить.
Но как выяснилось можно, но не очень комфортно.
Их добавят.

А исключения - дичь. Вот по ним точно не скучаю.
34 1457410
>>57390

> они будут с ними носиться, как с откровением, мол, какой же го замечалньный язык


и тут же, после того как стало известно что добавят дженерики:
Дженерики нужны, не представлял, как без них можно жить, ...можно, но не очень комфортно.

Суслики, вы неисправимы))

По прежнему не берем людей у которых в резюме го указан, это просто эталонный идентификатор невменяемости в ИТ
image.png73 Кб, 1170x455
35 1457415
>>57390
Ты не думай что мы забыли ваши косяки, просто на вас стало уже пофиг.
36 1457428
>>57410
>>57415

Мне кажется это синдром обиженнок, признавайтесь, вы пыхеры?
37 1457431
>>57388
>>57410
>>57415

>эти кормящие толстого школьника дебилы


Ясно.
>>57428
До сентября осталась неделя.
CUn-7LuU8AA-8Yp.jpg89 Кб, 600x600
38 1457607
>>57428
Из-за таких как ты, вполне себе хорошая идея языка, имеет херовую реализацию. Если такие как ты не ели бы говно, а требовали, то язык бы развивался и за эти года стал лучше.
Требовали же пакетный менеджер и дженериков - получили? Да!
Поэтому самое худшее в языке - это вы говноеды.
39 1457612
>>57607

>goвно


>вполне себе хорошая идея языка


Ебать ты ничтожество, конечно.
40 1457633
>>57612
Ты школоло просто, но отвечу, просвещайся.

-Отсутствие вирт машины.
-Полностью асинхронный код, но пишешь как обычно.
-Кроссплатформенная компиляция.
-Единый fat-бинарник со всеми зависимостями
-Отстуствие говно ООП, который трудно изучать и сопровождать, потому что б-логика размазывается по десяткам и я видел сотням классам.
-Настоящие структуры.
-Стековые переменные, а не как в жабе почти все в куче.
...и еще что-то, что я может не помню.

Так что, мой юный друг, идея языка то хороша, а вот дизайн плох и будет он плох пока суслики не перестанут жрать "лень разработчиков" и не потребуют развитие языка.
41 1457654
>>57633
Это все есть и прекрасно можно делать в плюсах.

>Отстуствие говно ООП


>б-логика размазывается по десяткам


То есть тебя надо силой заставлять не говнокодить.
Быдло as is.
42 1457670
>>57654

>прекрасно можно делать в плюсах.


А, понятно, ты из другой палаты.
43 1457680
>>57670
Любая палата лучше говнодебилов (тебя) разве что кроме пыходерьма и прочих одножопий
44 1457759
>>57607

> хорошая идея языка, имеет херовую реализацию


Я бы сказал наоборот, Го - отвратительнейшая спека языка с охуенной технической реализацией (gc, гоморутины, компайл в бинарь).
45 1457900
А нужно ли то, без чего отлично программируется?
В любом языке есть проблемы, тупые места, дискомфорт, места для улучшения.
46 1457935
>>57428
Это котлинодаун же. Он по всей борде растекся.
15274539049140.png1,1 Мб, 2400x2400
47 1457954
48 1457976
>>57900
Ага, охуительно без генериков кодится.
49 1457986
>>57976
Пустой интерфейс лучше чем дженерики, после этого даже как-то непривично на других языках писать
50 1457990
>>57976
>>57986

Есть интерфейсы, их хватает.
51 1457992
>>57976
В питоне тоже нет дженериков и ничего
52 1457997
>>57992
И типов у переменных.
53 1458002
>>57997
Типы у значений есть во всех языках, нет типов у переменных
54 1458003
Так что лучше в котлин вкатываться или го?
55 1458004
>>57997
Чем питоньяче говно:
if isinstance(x, X1Type):
...
elif isinstance(x, X2Type):
...

Лучше type assertion'a в golang
56 1458005
>>58003
бля хоть кто-нибудь из крупных компаний использует котлин в проде для бэка? с чего весь этот хайп воокруг него
57 1458013
>>58005

>бля хоть кто-нибудь из крупных компаний использует котлин в проде для бэка?


Какая-то компания гугл использует в малоизвестной мобильной разработке
59 1458024
>>58013
>>58015

я специально в сообщении указал для БЭКА. то что на нём android-приложения хуячат и так понятно
60 1458082
>>58005
Что для тебя крупная компания?
61 1458105
>>58003
Нет никакого котлина, в который можно вкатываться. Котлин это джава
62 1458170
>>58105
Лучшая джава.
Если вы не хотите писать на топорной джаве, и вы явно не альпинист - то котлин ваш выбор.

Котлин - это сишарп в мире jvm
63 1458174
>>58082
Google, Amazon, Facebook, Twitter, Github, IBM и т.д.
64 1458177
>>58082
бля, да на котлин бэкенд-разаботчика даже вакансий нет. в лучшем случае идёт вторым языком к джаве и то таких вакансий 40 штук в Москве. короче понятно, опять нексколько городских сумасшедших напридумывало себе какую-то хуйню в голове.
65 1458179
>>58177
Опять смотрел вакансии в местной газете?
66 1458181
>>58174
Сомнительно.
Джетбрейнс конечно рвет жопу что бы пиарить свой велосипед, но создать фанатиков котлина у них вышло только в отсталом постсовке.

Да и поздно они выкатили эту шляпу, когда они начинали пилить язык - да, сахар! Больше сахара! Ещё больше сахера!
Но у современной джавы тоже появились приятные упрощения, и котлин нахер никому не нужон.
67 1458192
>>57976
Не знаю, зачем вам нужны эти дженерики. Обычно все примеры их использования сводятся к "Зато можно написать функцию сортировки универсальную"
68 1458194
>>58181
Котлин вроде как и универсальный язык, но по факту стал языком разработки под андроид.
>>58003
Тебе решать: разработка под мобилки или разработка бэкенда
спокойствие-буддизм-5395143.jpeg85 Кб, 556x556
69 1458196
Охуеть, понавылезали тут, в моём программаче.
Вот за что я люблю двач, так это за то, что он помогает понять: вокруг тебя целая куча идиотов с дерьмом в голове. Обычно они молчат и ты об этом не догадываешься, а тут они высказывают что-нибудь вида

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


и хоть стой, хоть падай.
блять, относительно медленный для чего? с чем сравнивать? хорошо распаралеленный алгоритм на го будет скорее всего быстрее. линейные вычисления на специализированном железе затащит джава защёт JIT под особенности конкретной тачки. да даже для питона есть уже pypy и прочая хрень. Уже давно почти все языки работают очень шустро, а медленно работает конкретная бизнес-логика говнокод
Отдельно люблю читать, как люди кидаются какашками вообще в любой стек, относительно своего, чтобы показать, что они - такие илитные и пишут на "единственном правильном языке" (с).
В итоге всё сводится к тому, что решает не язык, а навык программиста решить бизнес-задачу так, чтобы её как можно дольше не пришлось переделывать. Можно писать на джаве, потому что удобненько, а выносить узкие места в отдельные маленькие сервисы на го, потому что дикая производительность из коробки. Можно всё на хаскеле херануть, если у тебя в голове команде сидит 100500 функциональщиков.

Срача по поводу дженериков вообще не понимаю, если не строить сотню слоёв абстракций, а писать AS IS (так называемый go way), то они нужны только, действительно, когда нужно тривиальную операцию типа сортировки написать для разных типов. За свою практику встречался с такиими задачами 2.5 раза, с такой частотой можно и скопипастить.
Имплементируй я всякие стратегии, абстрактные фабрики стратегий и так далее - да, было бы больно. Но го попросту не для этого, не надо на нём монолиты писать. Пишите блять конкретный код для того, чтобы расшить конкретные узкие места в вашем проекте и будет вам счастье.
70 1458225
>>58179
Да, чувак, в headhunter. Знаешь такую газету?
71 1458237
>>58177

> идёт вторым языком к джаве


Да потому что, пойми ты, котлин это и есть вторая джава. Котлин на бэке возникает, когда команда джавистов в какой-то момент начинает новый код писать не на джаве, а на котлине, при этом оставаясь на тех же джава-фреймворках, в той же jvm-экосистеме. И джавист может пересесть на котлин буквально за несколько дней, поэтому нет смысла в вакансии что-то требовать как обязательное.
72 1458249
Старый-добрый го тред. Обсуждается любая хуйня(раст, котлин), но не го. Люблю пр!
73 1458289
>>58194

Опять, пиарщики (долбанные партизаны) джетбрейнса пускали слухи, что котлин чуть ли не станет официальным андроид языком. Но хер там плавал.

Полторы калеки вероятно юзают, но мне как-то не попадалось.
74 1458290
>>58249
А что го обсуждать? Давно всё обсудили.
Выйдет 2.0 можно будет и поговорить.
75 1458353
>>58225
Я не выписываю газеты про охоту и рыбалку.
76 1458356
>>58289
Так стал же, причем теперь приоритетный
они убивают джаву, но вместе с джавой улетят на дно все jvm языки
77 1458364
>>58289
Хз, все знакомые джависты, кто юзал котлин, ссутся кипятком и говорят, что это действительно лучше и удобнее. Понятно, что просто сахар, на всё-таки.
78 1458414
>>58364
А лет пять лет назад ссались по скале.
И с тем и другим поиграли, а потом эти языки остались местячковыми решениями.
79 1458420

>Мужики, у вас там дженериков нет, лямбд нет, коллекций почти нет, элементов фп нет ну м.б. они и нахуй не нужны да и вообще язык stuck in the 80s


>Да не, давайте лучше введем бинарные и литералы))))) и еще суффикс для комплексных чисел)))000)))0)


гавкнул чет
80 1458505
>>58414
Два чая, олды помнят.
image.png446 Кб, 900x675
81 1458515
>>58420
Ну не на жабе же микросервисы делать. Покупать для каждого круд-сервиса по vps (или серваку)

Нету больше хорошей ниши.
Питон и всем динамическое тормозит, раст и С++ не для бизнес-логики
82 1458527
>>58515
Спокойно делаем микросервисы на элике. Основная посуда на рельсах летает. Сейчас вот через неделю на 6.0 перейдем. Вопросы?
83 1458540
>>58515
Не преувиличивайте, у меня был отличный проект на основе spring cloud, ни единой проблемы.
Джава, если умеючи, отлично живёт в контейнере с софт лимит 128мб.
84 1458561
>>58540
Лол, покупаешь себе облачко с 512мб, а у тебя уже 128 нету, просто жаба ради жабы покушала.
На го с 128 можно весь пет-проект в памяти держать, или как минимум 6-8 микросервисов с дробилками поднять. А тут у нас целый спринг поместился.

>Джава, если умеючи, отлично живёт в контейнере с софт лимит 128мб.


Ага, урезаешь хип, начинает чаще ГЦ срабатывать, под нагрузкой все это ускоряется и тупо с каскадным эффектом крашится. За то в 128 поместился.
85 1458562
>>58527
Да можно на брендфаке поднять, мы же говорим про эффективное использование железа, а не то что вы на сервер смогли рельсы поставить.
86 1458631
>>58562
тоже лольнул как чувак флексит своим охуенным стеком с рельсами
87 1458641
>>58420
Ну давай разберём по частям тобою написанное:

>дженерики


не нужны, выше уже объяснили, что пустые интерфейсы ничем не хуже

>лямбд нет


в го есть лямбды, имбецил

>коллекций нет


тут тоже обосрался, в го есть основные коллекции, а остальные не нужны

>элементов фп нет


ты долбоеб? функция в го - это объект первого класса, то что нет map reduce не означает, что в языке нет элементов фп

>Да не, давайте лучше введем бинарные и литералы))))) и еще суффикс для комплексных чисел)))000)))0)


если тебе эти вещи не пригождаются в каждодневной работе, то это прежде всего твои проблемы, макака, иди джсоны перекладывай
image.png22 Кб, 371x556
88 1458661
Накину "вдохновений" вам в тред
https://github.com/search?l=kotlin&o=desc&q=stars:>1000&s=stars&type=Repositories

Есть такой подход, как смотреть количество проектов по звездам. Не лучший, конечно показатель но все же определенную информацию можно достать.
Понятно, что в низу списка тысячи полузаброшенных реп и их считать не будем поигрались и забыли, далее идут само-пролайканные репы малых контор и просто сомнительные малопопулярные решения. Но! Вот где-то с 1000 можно уже начинать считать достойные библиотеки для языка, которые люди сами отметили. Так давайте посмотрим количество этих условно-достойных либ.

И что мы видим?см картинку Go почетно среди топов и имеет 1200 условно-хороших отмеченных людьми либ. При том что язык достаточно молодой.
У раста 193 репы
У котлина 147 репы

В общем, го не просто ворвался в мир разработки, он еще умудрился заполнить себя кодовой базой за такое время.
89 1458667
>>58641

>>дженерики


>>не нужны, выше уже объяснили, что пустые интерфейсы ничем не хуже



Ещё первой версии не было, а на отсутствие дженериков пинали.
Сошлись на том, что они "в принципе" нужны, но в 99% случаев потребность закрывается интерфейсами, причем не пустыми.
Если вам не хватает, то скорее всего у вас проблемы.
90 1458683
>>58661
на котлин даже самы разрабы поленились либы писать, поэтому язык имеет чуть ли не самую скудную стандартную библиотеку
91 1458685
>>58661

Зачем что-то доказывать троллям?
Go свою нишу нашел. Несмотря на свои минусы.
92 1458687
>>58683

А зачем ему либы?
Есть же на джаве?
93 1458688
>>58667
Имхо, лучше уж интерфейсы чем wildcard или рекурсивные дженерики которые в реальности еще не все джависты до конца понимают или умеют их готовить
гофер тянет го.jpg96 Кб, 960x540
94 1458690
>>58685
Так я не троллям, я вдохновить хомячков
95 1458692
>>58687
Без либ он просто обертка для джава-тестов (как и груви)
Видимо создали решили сделать ставку на маркетинге, а не либах.
Думаю скоро они поймут на какую лошадь поставили.
96 1458717
>>58692
У котлина есть фатальная ошибка.
Нужно иметь бэграунд джавы, чтобы комфортно кодить на котлине. Без косяков джавы и вообще принятых там обычаев, совершенно не понятны многие странные решения.

У тебя есть дата классы. Думаешь круто, а потом приятно рофлишь что нельзя пронаследоваться в них.
У тебя запрещен return в лямбдах, но есть вариант return@label, в итоге в сорца смотришь как все скачут - очень прагматично.
Еще больше путаницы привносят inline функции со своим return
DSL - мне показались притянуты за уши. Да можно, но достигаются они таким способом, что проще билдер через точку сделать и выглядят всегда однобока
Какая жесть с первичным конструктором и вообще треш какой-то, который заканчивается init, потому что кончилась магия. Человеку не из джава мира, эту магию трудно объяснить. хотя по честному все же можно сделать как в жабе без первичного конструктора
Закрытые классы - просто венец ООП архитектуры.
Нет обёрток над базовыми структурами типа списка [1,2,3] мап {k:v}, но есть костылизация.
Компаньёны - треш
Корутины, вроде пытались сделать лучше, без await, но получилось как всегда.
97 1458725
>>58717
Все жду когда сделают обертку над Go.
98 1458757
>>58725

Был odin, fo, ещё какие-то, все не упомнишь.
Не взлетело.
99 1458762
>>58641

>пустые интерфейсы


Но... статическая типизация...
100 1458783
>>58762
А причем тут статическая типизация интерфейс? Написано же иное! А ты что утвреждаешь?
101 1458876
>>58641

>в го есть основные коллекции


Из всех коллекций для нас важнейшими являются list и map прям как Ларри Уолл завещал.

А множества, сортированные коллекции, очереди с приоритетом - это все буржуйские излишества и пролетариям такое не нужно.
102 1458884
>>58876

Вы ведь в курсе, что есть множество вариантов реализация различных структур данных?
Какие-то языки решили реализовать "в среднем" лучший вариант, но по факту, когда тебе нужна хитрая структура - пишешь его сам. Для нужного тебе интерфейса.

Зачем раздувать стандартную библиотеку?
103 1458951
>>58876

>А множества, сортированные коллекции, очереди с приоритетом


На ваших питонах и жабоскриптах с мапами и списками справляются. Все эти коллекции больше нужны чтобы было что спрашивать на собеседование, чем реальная потребность возникает в коде.
104 1458974
Поясните за деплоймент в докер. В го же йоба-горутины, которые по-хитрому запихиваются несколько штук в один системный тред. А докер всю эту годноту заворачивает в еще один слой абстракции, разве это хорошо?
105 1458984
>>58974
Я даже не знаю, что сказать, кроме как "и что?".
Это не создаёт никакого оверхэда на уровне приложения.
106 1458985
>>58984

>не создаёт никакого оверхэда


Инфа 100%?
107 1458989
>>58985
Почитайте как работает докер.
Оверхэд приближается к нулю. 100%.
108 1459001
>>58989
Не путайте чувака.
У докера есть вполне определённый оверхед на сетевое взаимодействие и работу с файловой системой, это легко считается и замеряется.
А вот оверхед на горутины и треды действительно находится на уровне статистической погрешности, потому что докер - это движок контейнеризации, а не виртуализации. Он не эмулирует виртуальную машину, а запускает внутренние процессы в той же машине, просто урезает им доступы и видимость, чтобы добиться изоляции. Соответственно, так как машина та же самая, то и оверхеда нет почти, если ты сознательно не урежешь контейнеру ресурсы.
Но это если говорить про докер на линуксе. Потому что докер на маке и винде запускается в отдельной виртуальной машине с линуксом - в таком случае оверхед, конечно, есть. Но это узкий кейс, когда ты запускаешь контейнер у себя, локально. На сервере у тебя, очевидно, будет линукс и нативный докер, так что всё норм будет.
109 1459015
>>59001

А пруфы можно? У io тоже минимальный оверхэд.
У сети только в режиме nat, но есть возможность вынести сеть на хост. (Вроде так, я не админ - настройками сам не занимался)
photo2019-08-2222-25-24.jpg80 Кб, 1280x640
110 1459020
111 1459048
>>59020
Лучше запилите годную шапку с инфой, стёб уже приелся.
112 1459050
>>59020
А кто слева?
113 1459115
>>59015
У io всё зависит от используемого storageDriver'а, читай про device mapper и прочие *FS в документации докера, там описаны их особенности.
К примеру, если ты пишешь в монитруемую директорию а у тебя BTRFS, то файлы не попадут сразу на диск, они промежуточно пишутся в журнал, импакт очевиден.
114 1459117
>>59015
А выносить сеть на хост - это очень спорное решение, потому что ты тут же теряешь изоляцию между контейнерами. И ладно, если у тебя только два с половиной контейнера локально, а когда у тебя кластер на проде - то ты от неймспейсов и прочего не уйдёшь уже никуда.
115 1459229
>>58951
какое джунское имхо

то что большое кол во задач где не критична производительность можно решить с помощью мап и листов это очевидно (в пыхе массивов и объектов), но это не отменяет тот факто что в более узких задачах где прохождение по массиву будет намного дольше чем по линкид листу не говорит нам о том что все реализуемые типы данных нужны только что бы дрочить на собесах
116 1459297
>>59229

>где прохождение по массиву будет намного дольше чем по линкид листу


Схерали?? Одинаково будет
image.png25 Кб, 912x265
117 1459308
>>59297
на самом деле лучше будет у массива

а на добавлении и удалении ?

очевидно что на 10 - 20 - 30 элементах это будет малозаметно , но например на 100кк 100ккк и тд , думаю суть ты уловил анчоус
118 1459318
>>59308

Блин, только не говорите, что вы не можете написать линкед лист. Нахрена он в стандартной библиотеке? Он что по десять раз на дню нужен?
119 1459322
>>59308
Быстро переобулся. Думаешь не заметили?

Приведи мне пример "а на добавлении и удалении ?" при фантастических "100кк 100ккк" Хотя не нужно, очевидно ты какой-то школьник или взрослый с мозгами школьника, уноси свои 100ккк
120 1459323
>>59229

> какое джунское имхо


> прохождение по массиву будет намного дольше чем по линкид листу


Люблю, когда петушки с гонором обсираются.
121 1459324
>>59318
В том и дело что любые структуры данных, отличные от списка и мапы, надо брать из внешних либ, где они хотя бы поддерживаются, а не заброшены в стд-либ, где для галочки существуют.

Ну или написать самому, раз 100кк и 100ккк данных, это повод научиться программировать самому
122 1459412
Как же я благодарен тому, что в го нет полиморфизма, но есть композиция в структурах.
Как же это ООП говнище настапиздела
123 1459416
>>59412
А у вашего котлина, даже наследования нет в дата классах
image.png38 Кб, 431x442
124 1459436
>>59412
Это же очущуенно!!!

Да мои маленькие наблюдатели, там везде стринги, так и задумано, это просто пример, в реально жизни так дробить не имеет смысла из-за возможных пересечений данных
125 1459488
>>59229
В стандартный либе го есть linked list
126 1459497
>>59488
Не ври, нет такого листа, "где прохождение по массиву будет намного дольше чем по линкид листу"
127 1459503
>>59497
А, извини, не заметил сразу. Тогда вопросов нет, Роб Пайк - пидорас, не стал добавлять такой лист. Совсем ебанулся со своей простатой языка, ну его нахуй, пойду в котлин, там дела с коллекциями лучше обстоят
128 1459518
>>59503

>пойду в котлин


Не забудь докупить пару планок ОЗУ.
129 1459621
>>58884

>Зачем раздувать стандартную библиотеку?


Потому что такую роскошь как: map[string]int может себе позволить только стандартная библиотека. А остальным как известно: дженерики не нужны.

>>58951

>На ваших питонах и жабоскриптах с мапами и списками справляются.


Так их никто и не позиционирует как высокопроизводительные языки. У Питона вон попытались выпилить GIL - а потом сказали, да ну нахер нам чистота кода интерпретатора важней.
А Го как раз позиционируется как язык для высокопроизводительных приложений.
130 1459645
>>59621

С питоном отдельная тема.
Никто в него не вливал кучу денег, а текущие кор-разработчики не могут придумать, как избавиться от Гила, без чувствительного замедления однопоточного кода.
131 1459649
>>59645
Ну там были энтузиасты которые выпилили GIL https://www.artima.com/weblogs/viewpost.jsp?thread=214235 .jsp - какая ирония
Да, для однопоточной программы стало хуже, но я уверен, что если бы тогда его все же впилили - сечас бы уже все проблемы были давно решены и у Питона была бы полноценная многозадачность.
132 1459653
>>59645
Блять никого не напрягло, что долбоеб выше высрал полную хуйню насчёт того, что в питоне не коллекций?
Во-первых, лист в питоне может играть роль очереди и стека за счёт методов pop и append, во-вторых, помимо листа и словаря есть ещё такие встроенные коллекции как set, frozenset и tuple. Также, в стандартной либе питона, внезапно, есть пакет collections, который предоставляет ещё несколько коллекций (самые часто используемые из него - deque и Counter).
Наконец, в стандартную либу входит ещё пакет heapq, который включает в себя очередь с приоритетами, пакет bisect, позволяющий поддерживать коллекцию в упорядоченном состоянии, и пакет array, предостовляющий чистые строготипизированные массивы (почти как в си).

В итоге имеем довольно приличный список коллекций, которого хватит в 90% ситуаций, не хватает только, пожалуй, одного связанного списка
133 1459721
>>59621
Лол, го и есть "питон которого не смогли разогнать", одно только йоба наследие циклического импорта о чем говорит да, иногда циклические зависимости нужны

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

Что действительно нужно, так это улучшить обработку ошибок и пакетный менеджер, все.
134 1459722
>>59653
Зачем в питоне вообще какие-то там коллекции? Ты на скорости простого цикла просядишь больше разницу между ними увидишь
image.png15 Кб, 543x227
135 1459735
Достаточно годные курсы.
136 1459740
В го есть extension functions!
137 1459742
>>59740
Забавно, но из-за неявно конвертации между новым и старым, можно даже реально так заюзать ну конечно не стоит
https://play.golang.org/p/qSCvqQA-yyh
Для шапки 138 1459755
Важная концепция для новичков.
1. Горутины в го, после переключения (остановки и продолжения работы), могут возобновить работу в другом системном потоке. Собственно как решит планировщик.

Это исключает перегруженности одного системного потока, как например в js
Для шапки 139 1459758
Для шапки

2. Сам факт переключение горутин происходит после вызовов функций (то есть вызываешь функции и планировщик решает что-то).

3. Если нужно вызвать переключение (планировщик), например если работаете с цифрами в цикле и не вызываете функций, то можно вызвать runtime.Gosched()
Для шапки 140 1459771
Визуализация работы горутин.

Обычная работа:
https://play.golang.org/p/3Wq5eHzX-Yo

Работа с вызовом планировщика
https://play.golang.org/p/8FvLwQ4IqoS

Работа с эмуляцией блокирующего вызова (например запрос в базу данных)
https://play.golang.org/p/waSYlXHdy0h
image.png2,3 Мб, 2000x1340
141 1459776
>>59755
>>59758
>>59771
Make Golang Great Again
142 1459779
>>59755

Вряд-ли это самая полезная и важная информация. А что такое перегруженность системного потока, что так мешает Js, я вообще не понял.

>>59758
Переключения горотин происходят не только после вызова функций и ручного вызова goshed. Но вопрос интересный, так что предлагаю погуглить и разобраться самому.
Но как по мне, это скорее вопрос для собеседования, в работе ни разу не приходилось думать об этом.
143 1459792
>>59735
Только нужно не смотреть их, а читать пдф приложения (хоть там и куча опечаток) и ходить оттуда по рекомендованнм ссылкам.
144 1459823
>>59779
Нужно простое изложение работы горутин и чем они буду лучше, скажем в js. Надо показывать достоинства языка новичкам, а то что информация тебе полезна или нет, это малоебучий факт.

>вопрос для собеседования


Надо знать базис, иметь представление как работает все, причем тут твоя работа и собеседование.
psapopierdolilo.jpg139 Кб, 700x852
145 1459825
>>54628

>Тебя что, ничего в жизни не интересует?


это
146 1459827
>>59823

При том, что эти обрывочные фразы - непонятное говно или гуглтранслейт. Про goshed вообще неправильно, ты не вкурил.
147 1459829
В шапке должны быть перечисленны плюсы го и его фичи.
Статическая строгая типизация, компилируемый, быстрый, рождён быть многопоточных, быстрая компиляция, что там ещё?
И три ссылки. На интерективный тур и на два курса на курсере. И 50 оттенков го с хабра.
Все.

Если материал для новичков, то надо показать преимущества, а не грузить непонятными вырванными из контекста фразами.
148 1459831
>>59829
Компиляция, статик типы...
Это скорее характеристики языка, а не фичи.
Про фичи как раз забывают (хотя бы что с сетью удобно работать или что куча батареек). А про корутины - они видят какую-то магию и им не понятна чем эта магия от других магий отличается.

Новичков - я имел ввиду в языке, а не людей учащих программирование.
149 1459839
>>59829
Какие там курсы на курсере? От мылору что ли?
150 1459841
>>59839
Да, лично мне понравиламь первая часть.
Никаких рассусоливаний по основам, а сразу практический подход. И домашки прикольные были.
151 1459842
>>59841
Пиздос.
152 1459847
>>59721

>Дженерики и правда не нужны


1. А для map их зачем сделали?
2. Без дженериков у тебя внутренние структуры данных смогут работать только со ссылками. А так у тебя тот же []int хранит именно int, экономия памяти и перфоманс.
153 1459853
>>59847
Именно потому что контейнеры у тебя уже параметризованы, дженерики тебе и не нужны.

Придут обязательно жабо кодеры и начнут заворачивать абстракцию абстракций и мы получим не поддерживаемый говнокод ~60-80% кода на жабе ничего полезного не делают

У тебя нет полиморфизма на структурах, больше как для контейнеров тебе дженерики и не нужны кроме базовых операций для числовых примитивов, типа сложения, вычитания. Но это можно и ручками написать.

Реальность:
Среднестатистический программист очень тупой, он видит дженерики у себя в жабе и думает они так же войдут в совершенно другой язык. Ему просто привычно, он верит что будет сидеть на прагматичном языке клепать абстракции и контейнеры, а не решать структурно задачу.
154 1459854
>>59853
И да, дженерик, в жабе а больше я это слово нигде не слышал, у С/С++ другая парадигма, обобщенная, они очень бестолковые и мало что можно сделать из-за затирания типов.
image.png718 Кб, 800x1024
155 1459865
>>59853
>>59854
Ну и быстрая компиляция, мне куда важнее типов. Я не хочу ждать по 15-600с старта каждый раз, я готов писать руками или юзать приведение типов.

Самый лол, что ни раз видел в жабе, когда человек не справлялся с дженериками или не хотел вилкарды юзать с рекурсивными дженериками, тогда тупо прибегали к Object типу и юзал условно договоренность по типам. Это называют джентльменской типизацией, джентльмены всегда смогут договориться
156 1459904
>>59853

>Именно потому что контейнеры у тебя уже параметризованы, дженерики тебе и не нужны.


Вот только тех же контейнеров тут map + array и все. Ни очередей (вставка/удаление в начало массива очень дорого), ни сортированных деревьев. Я конечно понимаю что для среднестатистического гофера префиксное-дерево адский матан и вообще не нужно, но есть задачи где это нужно. И приходится писать руками и постоянно кастить.

>>59853

> больше как для контейнеров тебе дженерики и не нужны


Это тебе не приходит в голову, где они ещё может быть полезен контроли типов на этапе компиляции. Но это не значит, что таких вещей нет.

>>59854

>И да, дженерик, в жабе а больше я это слово нигде не слышал


Ну с твоим кругозором все ясно. Дженерики это частный случай обобщенного программирования и оно есть практически во всех современных языках не кроме го понятное дело. Где-то оно очень мощное типа List, Haskel, Scala, C++, где-то не очень Java, C#. В Ada дженерики появились в 1977. И только в Го дженерики не нужны.
157 1459924
>>59904

>что для среднестатистического гофера


Го юзаю меньше недели, на жабе я 10 лет. Писал такое и в таком, что тебе и не снилось. О чем ты вообще? даже пописал без дженериков немного

Еще раз для контейнеров есть interface{}, с той разницей что на жабе тебе каст компилятор пишет, а тут сам ручками. В итоге тебе обещают какую-то гарантию типов, но замен дают костыльное обобщение Одно говно, на другое разменяли, но второе чтят как святыну

Смирись - го специфически-статически типизированный язык. Ты же блядь к питонистами не приходишь и не тыкаешь что у них типов нет? Хера ты до го докопался? Golang != Java

И да, типизация не панацея и в реале ловит где-то 1-5% ошибок в коде. Кто писал сложный домен те меня поймут не редко сложный домен реализуют через динамические языки. Поэтому вообще какие-то тут претензии, кто и где вам голову забивает про панацею статических типов?

>C++


>Дженерики


Ой, иди уже отсюда, дженерики он в С++ увидел.
158 1459967
>>59841
https://rutracker.org/forum/viewtopic.php?t=5655300
Вот хороший курс про особенности языка, от этого же автора есть книга, а мылору просто сделали видеометодичку по синтаксису и в конце мини-обзор как сделать простенькое веб-приложение.
159 1459982
>>59967

Я его давно смотрел, но не помню "видеометодичку", а помню как с места в карьер предложили написать конвейерную обработку, потом учили пользоваться поофайлером и в дз предложили оптимизировать программу.
160 1460046
>>59924

>Ой, иди уже отсюда, дженерики он в С++ увидел.


Вот же тупое мудило, даже фразу целиком прочесть не может

>Дженерики это частный случай обобщенного программирования и оно есть практически во всех современных языках


В С++ шаблоны, в Lisp макросы, в C# дженерики, и только в Go - хуй вам.

>Еще раз для контейнеров есть interface{}, с той разницей что на жабе тебе каст компилятор пишет, а тут сам ручками. В итоге тебе обещают какую-то гарантию типов, но замен дают костыльное обобщение


А что же Го не использует interface{} для map и array?

>на жабе я 10 лет. Писал такое и в таком, что тебе и не снилось


Жабацелоп в треде, всем присесть и два раза ку.
image.png39 Кб, 300x248
161 1460080
>>60046

>А что же Го не использует interface{} для map и array?


Потому что может себе это позволить. У тебя уже просто походу бомбить, раз ты уже просто херню несешь

>только в Go


Зачем в го дженерики? Нужны ли дженерики в Python?
Почему не компилируется PHP? Почему в java нет функций? Почему пи равен ~3.14? Почему долбаебы продолжают воевать с ветряными мельницами??
162 1460084
>>60046
У меня на яйцах растут большие черные волосы, а у го нет дженериков. Есть вещи, которые нам не нравятся в этой жизни думаю тебе бы тоже не понравились эти волосы, раз не нравится отсутствие дженериков. Поэтому хватит звездеть и пошли писать код на Go, который хорошо утилизирует ресурсы системы.
163 1460093
>>60084
Слишком хорошо, gc съедает добрую четверть проца.

Как будто мало подходов для работы памятью, кроме сборщика. Ленивые мудаки.
164 1460132
>>60093
Там и так все топорно, ты еще хочешь чтобы на руки программистов передали память. Кто хочет страдать, те идут в раст или с++.
165 1460210
>>59982

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

P.S. Можно ещё похвалить с дополнительные материалы в конце каждой недели, помню там штук по 10-20 ссылок на годный вспомогательный материал.
166 1460216
>>60132

Я бы перешёл, но вакансий на расте нет вообще, а на плюсах - мизер.
Раст кстати тема.
167 1460377
>>60216
Ну тебе не обязателен партнер, ты можешь сам одеть кожаный костюм, взять плетку, закрыться в комнате и начать массировать борроу-чекер
168 1460390
Релизнулся го
https://tip.golang.org/doc/go1.13
170 1460605
Сусланы, кто-нибудь может мне объяснить причину и профит от использования каналов в этом примере?

https://github.com/gorilla/websocket/blob/master/examples/chat/hub.go

Почему бы не напрямую вызывать методы h.register(client) и т.д ?
171 1460607
>>60080

>Зачем в го дженерики?


Не не так: почему в Го дженерики только для встроенных типов?
172 1460609
>>60390

> Релизнулся го


> Go 1.13 is not yet released. These are work-in-progress release notes.

173 1460615
>>60605
Чтобы все клиенты работали независимо
174 1460619
>>60615

> независимо


Погоди, hub.Run() запущен через горутину, writePump/readPump тоже. То есть каждный коннекшон асинхронен в i/o операциях. Или я ошибаюсь?
175 1460723
>>60605
В данном примере никакой. Профит будет тогда, когда у тебя будут воркеры, горутины которые запущены заранее и периодически что-то делают и блокируются, ждут. Понятно, что такой горутине ничем кроме как каналом инфу не сообщить. В этом примерно ровно никаких профитов от использования канала нет, точнее он есть, поскольку run это воркер, и отдать ему сообщения иначе не выйдет. Однако вызвать а перед этим создать метод broadcast будет ничем не хуже, а даже лучше для читаемости.
176 1460778
>>52808 (OP)
а что такое "батарейки", которые "почти как в питоне?
177 1460795
>>60778
Окуенная стандартная либа. Под большинство задач накуй не нужны сторонние модули.
178 1460820
>>60795
а, это точно, либа очень хороша. мы, правда, ORM юзаем и сторонний логгер
179 1460855
>>60820
А в каких языках ORM присутствует в стандартной библиотеке?
image.png253 Кб, 1920x1080
180 1460911
Из соседнего треда
Самое интересное падение скалы относительно роста котлина
181 1461035
>>60911
Есть один момент. Язык может уже накопить какое-то количество ответов, поэтому количество вопросов может уменьшаться.
Так же играет роль документация, на молодом языке чаще опытные программисты, которые будут нырять в доку, чем спрашивать. Спрашивают обычно ленивые копипаст-кодеры.

Данная статистика больше показывает насколько язык становится попсовым.
182 1461381
>>60911
Говно
183 1461387
>>61381
Не согласен
184 1461512
>>60911
Опа, а Dart то оказывается жив.
185 1461524
>>61512

Только из-за хайпа Fluttera. Скоро снова заглохнет.
186 1461548
>>61524
Потому что ты так сказал или есть прецедент?
187 1461550
>>61512
Flutter действительно хорош.
188 1461682
>>61550

Не вижу принципиальных преимуществ по сравнению с xamarin или react native.
Хайп, как он есть.
189 1461744
Что думаете о Go Modules?
190 1461787
>>61744

А что о них думать? Сырые.
Так и не получилось их заставить работать с приватными битбакет репами.
191 1461935
Для каких сфер работы стоит учить Го?

СердцеКирилл хочет в геймдев(мёртв в России), разум говорит целиться туда, где можно выйти на $200k/год и больше(facebook, google etc) и не жалеть потом.

Джава, С, С++, Го... всё не осилю же.
192 1462064
>>61935
Го нужно учить как второй язык
193 1462065
>>62064

А смысл? Я уже года три по работе только на го пишу.
194 1462147
>>62065
Держи вкурсе
195 1462153
>>62147

Держу, а то так и будете думать, что гошечка может быть только дополнительным языком.
196 1462215
>>61935
Не осилишь ты программирование, не тереби тред
197 1462323
Котаны, а что нынче модно спрашивать на собеседованиях по го?
Я что-то подумываю менять работу и хочу подготовиться а все же знают, что на собеседованиях спрашивают то, что к работе отношения не имеет, так что придётся вспоминать и/или учить
Я спрашивал у знакомых девелоперов, они говорят, что в основном спрашивают про общие практики и архитектуру, потому что го слишком простой и каких-то тонкостей типа настройки JVM или арифметики указателей там нет.
Но у меня такое чувство, что на собесах должны спрашивать какое-то хитрое дерьмо типа сборки мусора, планировщика, как устроены хэш-таблицы внутри мапов, как работают под капотом строки и всё такое.
198 1462369
>>62323

Я спрашиваю о многопоточном программировании в целом, примитивах синхронизации, о scheduler, как он понимает, что можно переключить активную горутину, о том, как устроены каналы.
Парочку вопросов из 50 оттенков го, вроде работы со слайсами. Банально, но некоторые валятся, все гошные wtfки нужно знать, их не так много, сравнительно с другими языками.
199 1462412
>>62369

>их не так много, сравнительно с другими языками.


Мне говорили что у гоферов есть стокгольмский синдром. Многие костыли в го фатальны и их правда надо знать пишу на го и не страдаю стокгольмским синдромом
200 1462457
>>62323

> сборки мусора, планировщика, как устроены хэш-таблицы внутри мапов, как работают под капотом строки


У меня это и спрашивали. Еще про устройство слайсов и каналов, работу с многопоточностью. Ну и про базы данных, микросервисы и тд
201 1462520
>>62369

>Я спрашиваю о многопоточном программировании в целом, примитивах синхронизации


Что на эту тему почитать стоит? Или всяких гоферских конф хватит?
202 1462669
Объясните своими словами, зачем нужен Go BuildID. Это зонд от гугла или он выполняет действительно какие-то полезные функции? Какие?
image.png83 Кб, 202x164
203 1462926
>>62412

>у гоферов есть стокгольмский синдром


А то!
Ты попробуй их спросить почему в map[int]string дженерики есть, а у тебя только interface{}.
204 1462946
>>62926
Ну вот честно, нахуя они нужны в чистом виде? Вот если подумать? Ну все равно же все пишут <T extends Somethingable> в 99% случаев дженериков, потому что лень отдельный интерфейс выделять, так почему не просто интерфейсами всё писать?
205 1462955
>>62926

>map[int]string дженерики есть


Хорошо что скоро в школу. Это не дженерики, это параметризованный тип, как string или структура, это часть синтаксиса.

В го параметризовать нечего, кроме самописных контейнеров и перегрузки функций для нативных типов.

>>62946
<T extends Somethingable>
Такое не возможно, так как структуры не полиморфны.
Это еще одна причина, почему дженерики не нужны.
То есть, тупо негде особо их применять жаба дауну это трудно понять вообще
206 1462956
>>62946
<U, V> makePair(first: T, second: V): Pair<U, V> => new Pair<>(first, second)
207 1462957
>>62956
Не пугайте людей, тут могут быть питонисты.
208 1463111
>>62955

>Хорошо что скоро в школу.


И в какой класс ты перешел?

>Это не дженерики, это параметризованный тип, как string или структура, это часть синтаксиса.


И снова наша любимая тема - обобщенное программирование и все-все-все. map[int]string - это обычный пример обобщенного типа раз уж слово дженерик тебя тригерит. Реализовывать его можно по разному, можно в виде type cast как в Java, можно генерацией специализации в рантайме как в .Net, можно генерацией на этапе компиляции как в Rust. Но концептуально это и там и там - обобщенный тип.

>Такое не возможно, так как структуры не полиморфны.


В Го не полиморфны, в других языках это не так.

>>62946

>Ну вот честно, нахуя они нужны в чистом виде? Вот если подумать?


Посмотри тот же Stream API, если бы там не было дженериков то call chaining там бы выглядел так уебищно, что это было бы просто не юзабельно.
209 1463117
>>63111

>это обычный пример обобщенного типа


Если ты смотришь на машину, а видишь капусту, это же твои проблемы, да? Тебе сказали что это, дальше можешь сидеть в своих маня-шизо-фантазиях и видеть в этом дженерики, лол.

>В Го не полиморфны, в других языках это не так.


Ты уже близок к тому, чтобы постигнуть эту мысль.
Если в го структуры не полиморфны, а в других языках полиморфны, значит в го не может быть как в других языках. Да?

>И в какой класс ты перешел?


В твой.
210 1463128
>>63117

>Если ты смотришь на машину, а видишь капусту, это же твои проблемы, да? Тебе сказали что это, дальше можешь сидеть в своих маня-шизо-фантазиях и видеть в этом дженерики, лол.


Если бы ты еще мог аргументировать, чем же map[int]string принципиально отличается от Map<int, string>
Но увы, у тебя в голове одна капуста.

>Если в го структуры не полиморфны, а в других языках полиморфны, значит в го не может быть как в других языках. Да?


Да, в Го есть проблемы с дизайном языка, но гошники упорно защищают их под лозунгом "ХХХ не нужно".
Стокгольсмский синдром как он есть.
211 1463147
>>63128

>Если бы ты еще мог аргументировать, чем же map[int]string принципиально отличается от Map<int, string>


Вот тебе параметризированный тип, а вот тебе дженерик с джавы, найди отличие.
А ты не очень умён, да?

>Да, в Го есть проблемы с дизайном языка


Да всем насрать. Люди просто берут инструмент и работают с ним. Но находятся "ограниченные", которые пытаются воевать с языком, с которым даже не работают. Ты понимаешь что ты просто болен, ты еще больнее тех гоферов которые восхищаются языком?

В го порядком больше проблем, чем дженерики на 2-3 случая, ради тормознутой компиляции.
212 1463160
>>62369

> примитивах синхронизации


Речь идет об этом?
https://www.youtube.com/watch?v=YEKjSzIwAdA
213 1463366
Я вам картинок принес
214 1463393
>>63160
Не, в видео речь идёт уже не о примитивах. Примитивы, в своей основной массе - это средства, которые предоставляет пакет sync
215 1463422
Драйвера на go существуют? Если да, то поделитесь ссылками на исходники.
216 1463424
>>63422

>Драйвера на go


Интересует для винды и линуха.
217 1463437
>>63422

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

Но в учебных целях, писали. К примеру: https://out.reddit.com/t3_9uorh8?url=https://www.net.in.tum.de/fileadmin/bibtex/publications/theses/2018-ixy-go.pdf?utm_campaign=Golang%20Ninjas%20Newsletter&utm_medium=email&utm_source=Revue%20newsletter&token=AQAAmCFoXc9yDGe9YnKsm4jgMLmK6lKDId9AVAiXsqng-Ozvsy5t&app_name=mweb2x

Сетевой драйвер с отличным перфомансом.
218 1463568
>>63147

>А ты не очень умён, да?


Аргументы уровня /go/

>Но находятся "ограниченные", которые пытаются воевать с языком, с которым даже не работают. Ты понимаешь что ты просто болен, ты еще больнее тех гоферов которые восхищаются языком?


Я ради прикола накинул дженериков на вентилятор, даже не думал что гоферы так тригернуться. Мне лично в общем-то насрать, я Го учу по фану, всегда могу дропнуть и пойти ржавого учить.
219 1463573
>>62215
я геймдизайнер почти
220 1463735
>>63568
Еще один больной утиной болезнью, пришедший с жабы. Терпи малыш, осилишь ты го.
221 1463794
>>63437
Прикольно.
222 1463912
Близиться 1 сентября, pr треды заметно опустели, лол.
223 1464493
>>63912
тебе бы не помешало
224 1464496
225 1464505
>>64493
Что не помешало бы? глупый ты школьник
226 1464799
Как распознаётся переменная окружения GOMAXPROCS ?
В любом скомпиленном бинарнике существует дополнительный код, который проверяет переменные окружения?
227 1464884
>>64799
А ты сам как считаешь?
228 1464895
>>64505
Сегодня спутал -тся и -ться
А завтра - плачешь, хуй сося
229 1464910
можно ли создать на ГО сайт?
230 1464918
>>64895
К школе приготовился.
231 1465011
>>64910
Можно Машку за ляжку и козу на возу.
232 1465106
>>64910
Сейчас эксперты /pr с линейки вернуться и ответят тебе.
233 1465122
>>64910
сайты делаются только на котлине
234 1465124
С хрена ли гоу стал таким популярным??? Вы откуда вообще взялись???
235 1465180
>>65122
Упаси, братюнь.
236 1465181
>>65124
С хера ли ему не быть популярным? Отличный и простой язык под свои задачи, умело под капотом утилизирует ресурсы железа?
237 1465183
>>65124

Все валят в го. Джавистов/шарпистов задолбали шаблоны на шаблонах погоняющие шаблоны и тырпрайзности кода.
Скриптовики (питон, руби, пыха) устали от медлительности языков, отсутствия типизации, отсутствия нормальной многопоточности.

И го радостно и легко отожрал изрядную долю разработки.
238 1465193
>>59050
лысый из scala-комунити
самый известный апологет pure fp в scala. John de Goes
239 1465203
>>65183
Джавистов задолбала бизнес логика размазанная по сотни полу пустых классов, где простая логическая задача, становится сложной не сопровождаемой херней, которую хочется только обернуть в другой фасад и забыть.

Я надеюсь когда-нибудь это признают антипаттерном, ну а пока я вкатился в го, где те же задачи решают на месте и в лоб.

PS Что насчет котлина, то это та же жаба, точнее это сладкая глазурь, которая покрывает собой большой слой джава-навоза и от этого не легче.
240 1465227
>>65183

> отсутствия типизации


У го, конечно, типизация уровня interface{}
241 1465245
>>65227

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

Блять, если вы не можете писать используя интерфейсы, и вместо этого суете пустые, это у вас кривые руки и валите из профессии.
image.jpeg140 Кб, 852x304
242 1465253
243 1465257
>>65253

А кто говорил, что они пряморукие?

У меня пустые интерфейсы разве что в обёртке логгинга есть.
Почти везде специфичные интерфейсы.
+ кодогенерация
244 1465260
>>65257
Я хуею с таких маневров
245 1465393
>>65180
Ну так-то дохера вакансий щас, где бэк пилят с нуля на котлине, либо переводят с джавы.
246 1465395
>>65393
Можно, чтобы котлин был вместо хтмл?
247 1465462
>>65393
Дохуя это сколько? Когда я искал в прошлый раз в мск на hh, то было меньше 60. Плюс в большинстве вакансий он шёл как вспомогательный язык к джаве
248 1465523
>>65393
1. Как резон переводит код с джавы на котлин, если там интероп? Чтобы тупо получить дополнительное время компиляции?

2. Какой резон пилить сейчас на синхроном языке бэкенд? Без асинк/авэйт?
И не надо говорить про корутины, которые получилось убого и поддерживаются 1,5 фреймворком. Причем тот же ктор - реально тормозит по теста. Не понятно это корутины или сам ктор.
Самое забавно, это вместо await в IDE подсветка асинхронных функций. Такая неявная привязка к правильной IDE.

PS Не вижу я роста энтузиазма на бэкенде, но вижу ослабление jvm языков.
image.png36 Кб, 1231x239
249 1465528
>>65253
Лол, может не будем?
250 1465529
>>65257

>Почти везде специфичные интерфейсы


Тогда придется всегда юзать подобие геттеров и сеттеров для структур.
251 1465545
>>65523
1. Очевидно, чтобы упростить время и увеличить удобство разработки. Тут вот все радуются от перехода на Котлин https://www.reddit.com/r/Kotlin/comments/bj5k4m/kotlin_for_backend_development/

2.

>Какой резон пилить сейчас на синхроном языке бэкенд? Без асинк/авэйт?


Зависит от задач и требований, лол.

>И не надо говорить про корутины, которые получилось убого и поддерживаются 1,5 фреймворком. Причем тот же ктор - реально тормозит по теста. Не понятно это корутины или сам ктор.


Москва не сразу строилась.
252 1465546
>>65545
снизить время и увеличить удобство разработки*
лол-кек-фикс
253 1465610
>>65545

>Тут вот все радуются


Как показывает опыт, недалеких в разработке хватает.
К сожалению, опытные и профессиональные разработчики чаще молчат.

>Зависит от задач и требований, лол.


Синхронный веб, это старый высер больших html страниц.
Я бы тут 10 раз подумал между каким-нибудь спрингом и джанго. При учете что по производительности они одинаковы эталон жабо-кодинга, сделать фреймворк, который будет тормозить на хеллоу-вордах как динамико-дрисня, даже с JIT

>Москва не сразу строилась.


Ты видел их решение по корутинам? Это провал.
254 1465628
>>65610
Пиздатейшие корутины, оче гибкие.
255 1465642
>>65610
>>65628
Я мимокрокодил и только в подкасте слушал, как разраб корутин хвастался, что не нужно писать await, так как это все равно в иде подсвечивается. Это правда? Это же пиздец, иде-лок и в код ревью в каком-нибудь гитлабе нихуя понятно не будет.
Screen Shot 2019-09-02 at 12.09.00.png1,2 Мб, 2162x1216
256 1465653
Годно сделали (нет)
257 1465656
Насколько реально в го вкатиться, ждуном, без знания других языков ? Вакансий для ждунов - 0, в основном требуется переписывать пыхо говно на го.
258 1465657
>>65642

> Это же пиздец, иде-лок и в код ревью в каком-нибудь гитлабе нихуя понятно не будет.



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

То что нет async/await или yield это блять - самое меньшее что должно ебать разраба.
Лучше чтобы они под капотом все сделали хорошо.
259 1465658
>>65653

>Monads


Вот сейчас прикола не понял блять
260 1465671
>>65657
Почему тогда они оставили подсветку в иде, если инфа об асинхронности вызова нинужна?
261 1465680
Поясните мне, пожалуйста, почему комьюнити так плохо отнеслось к try пропозалу? Все равно 95% обработки ошибок - это просто сравнение err с nil и ретерн nil, err, без добавления какой-либо дополнительной информации.
Неужели так сложно сделать нормальную обработку ошибок? Например, если я присвоил результат вызова функции с значением и возможной ошибкой всего одной переменной - автоматом возращать ошибку в случае ее не nil-овости?
262 1465682
>>65656
Да нахуй ты никому не нужен без опыта, хоть на пыхо говне, хоть на просто goвне
image.png58 Кб, 200x200
263 1465686
>>65642

>иде-лок

264 1465688
>>64799
Бинарник так-то содержит не только твой код, но и сам гошный рантайм: сборщик мусора, планировщик, всё такое.
265 1465694
Существуют ли саксесс стори написания на Го либ для C/C++ ?
266 1465724
>>65610

>Синхронный веб, это старый высер больших html страниц.


Но щас до сих пор почти весь веб синхронный, разве нет? Даже если у тебя SPA, и не надо высирать на каждый запрос большие html-страницы, в большинстве случаев на бэке будет обычный синхронный PHP. И изначальная же цель Котлина afaik - заменить жабу (которая всем остопиздела) везде, где только можно, и на это у него вроде бы есть все шансы, че так все доебались до корутин, я хз.
267 1465734
>>65724
зато весь фронт асинхронный
268 1465742
>>65724

Ну давайте ещё вспомним о том, что большая часть интернета на вордпрессе.
Это говорит о том, что нам ничего кроме пыхи и ВП не нужно?

Уже много лет, мне не попадалось синхронных проектов. Везде микросервисы, асинхронные коммуникации через groc/http/очереди.

И без поддержки этого языками было бы грустно.
image.png115 Кб, 750x655
269 1465750
>>65724
Как только появился аякс, появилась необходимость высирать не 100-300кб html кода, а маленькие json ответы. И тут пришла проблема синхронности, слишком жирно для очень частых запросов. Поэтому речь тут даже не про SPA. Тупо просто пришла другая эпоха. никто не запрещает тебе клепать синхронные сайтики в старой эпохе, но поезд уйдет все равно без тебя

>изначальная же цель Котлина afaik - заменить жабу


Нельзя что-то заменить, имея основу того что пытаешься заменить. Даже когда долго пишешь на котлине, ощущаешь ту же жабу. Иногда даже путаешься.
Котлин ничего не меняет, он просто делает чуть удобнее саму жабу а иногда, кстати, делает хуже Жаба и котлин это эпоха тырпразных монолитов, но эпоха ушла и в кровавый пришла эпоха микросервисов. Да, там жабу пытается втиснуться в это, но с виртмашиной, с интерпретацией байткода, с проблемным JIT, с 100500 настроек GC и виртмашины, и тотальной прожорливостью с жирнеющими фреймворками понятно что тут котлин тебе не поможет - это все не так просто.
Есть конечно индивиды, которые пытаются сову на глобус натянуть, но это скорее инерция технологий, а не развитие.

Отсюда популярность node.js и отсюда относительная популярность го, это языки новой эпохи несмотря на не лучший дизайн языков, у них есть киллер фичи, дающие им буст

Так что мысли эпохами и смотри в будущее. Как бы не были круты паравозы, их все равно заменили электровозы.
270 1465754
>>65750
Если бы они сделали котлин на рантайме го, вы бы офигели от роста нового языка. Но, к сожалению, они установили его на паровоз.
271 1465782
>>65671
Потому что могут, лол.
272 1465840
>>65754
Есть же kotlin native, но интерес к нему нулевой, как я понял.
273 1465862
>>65750
Эпоха микросервисов "пришла" только в твоих влажных мечтах.
Микросервисы - инструмент, который создаёт проблем не меньше, чем решает. А то и больше.

Это (по уровню идиотизма), примерно, как заявить, что на си больше никто не пишет, потому, что наступила эпоха джаваскрипта. И привести в пример какие-нибудь diy-приблуды на контроллерах ESP32, у которых внутри прошит забагованный и тормозной интерпретатор js.

>Отсюда популярность node.js


Популярность node.js оттуда же, откуда популярность js.
А потом десятки тысяч смузихлёбов перекатились на него с руби.
И забурлила дегенератская движуха.

>популярность го


Ну нахуй.
274 1465870
>>65862

> Эпоха микросервисов "пришла" только в твоих влажных мечтах



Ну и пили свои монолиты на пыхе/джаве/все равно.

А микросервисы и серверлесс уже здесь и захватывают рынок, вытесняя формошлепов. Это очень славно сказывается на зарплатах.
275 1465880
>>65870

>монолиты


>формошлепов


Т.е., на микросервисах формы не нужны?
Всё само работает?
Понятно.

А что там с транзакциями на микросервисах?
Или это слишком сложно, и ну их нахуй вообще?

Не нужно верить всякой хуйне, которую смузихлёбы пишут в интернетах, сынок.
У них там своя атмосфера.

Например, на днях организаторы отменили европейскую конференцию по php, потому, что туда записались только белые мужчины. О чём пафосно рассказали в твиттере.
https://2019.phpce.eu/en/
https://wptavern.com/php-central-europe-conference-canceled-due-to-lack-of-speaker-diversity

Т.е., для них diversity важнее технологий.
Ты сейчас втираешь примерно такую же дичь.

Я не пишу на пыхе, если что
276 1465882
>>65862
Какое-то "врёти" получилось.
Микросервисы дают масштабируемость как по железу, как по софту, так и по человеческим ресурсам.
Превосходство нового подхода для кровавого очевидно.
Конечно Васяну одиночке это кажется сложным, да и джава маркетинг проел весь мозг.
277 1465891
>>65882
Java же вроде прекрасно масштабируется во все стороны.
278 1465927
>>65891

Тяжёлый рантайм.

Я, конечно, знаю эстетов, которые и лямбды (awsные) на джаве пишут, а потом мужественно борются с холодным стартом, нехваткой памяти и замедлением работы.

Но как-то на го легче выходит.
279 1465931
>>65891
Когда ты крупная ИТ компания и можешь под каждый инстанс сервак подогнать.
А еще холодный старт и слетающий JIT радует.

И все равно это синхронная херня получается, с синхронным БД драйвером. И не рассказывайте что где-то гитхламе лежит асинхронные драйвера которые использовали 1,5 человека
280 1465942
>>65931

>> Когда ты крупная ИТ компания и можешь под каждый инстанс сервак подогнать



Эм.
Наоборот.
Когда ты мелкая - купил ещё пару серверов и все ещё долго хорошо. Растет на пару серверов в год и в ус не дуешь.

А на масштабе твоя программа съедает не ного больше памяти, и на кластер уходит на тысячи баксов больше в год.
281 1465957
>>65942
Каждый запус jvm кушает 50-150мб озу только на jvm
Туда же попадает вся статика под классы и сам jit и мета информация по jit
Там же настраиваешь хип, который еще состоит из поколений.

Для всего этого нужно нормальное облако, чтобы запустить хотя бы 3-5 сервисов

Все твои бюджетные мечты улитают в копейку.

На го запускаешь с десяток сервисов, под размер одного jvm сервиса, приятно урчишь.
282 1465982
Сап, гоферы.

Хочу забить на конторы, которые нанимают народ из восточной Европы для экономии.
Пробовал собеседоваться в чисто иностранные конторы - до сих пор потряхивает, невероятно сложно общаться с теми, кто ожидает флуент инглиша. А я по грамматике едва upper-intermediate, с явным провалом в общении.
Кто-нибудь ищет/собирается искать работу? Давайте поможем друг-другу, соберём по максимуму вопросов и задач для интервью, и потренеруемся отвечать их на ангельском.

Фейкопочта: ACjvnon717ANUSprotonmai$holPUNCTUMcL95om
283 1465993
>>65982
WE'LL CALL YOU BACK
284 1466044
>>65982
Не тот тред
285 1466050
>>66044

Мм? Ну ок. Скопировал в нужный.
Но я размышлял, что гоферам будет легче найти точки соприкосновения.
image.png415 Кб, 700x627
286 1466128
287 1466135
>>65982
Бесполезное занятие, у всех разные вопросы. Плюс в европах сильный акцент на личных качествах, их реально сильно заботит как ты впишешься в коллектив, что ты за человек и т.д.
288 1466138
>>65882

>Микросервисы дают масштабируемость как по железу, как по софту, так и по человеческим ресурсам.


От микросервисов до распределенного монолита - один шаг, ты даже не заметишь тот момент когда ты его сделаешь.

Ровно как и грамотно спроектированные монолиты могут прекрасно масштабироваться по железу а сейчас сервер с сотней ядер и гигов оперативы это вообще обыденность
image.png434 Кб, 650x637
289 1466140
290 1466174
>>66135

А у нас не так же? Но это не значит, что техническая часть не важна.

И если рассказ, о том, какой ты пиздатый можно потренировать с преподом английского.

А вот погонять по матчасти может только другой программист.
291 1466205
>>66174

>А у нас не так же?


У нас в первую очередь смотрят технические скилы, а уже потом смотрят на общечеловеческие качества.
В европе же зачастую общечеловеческие качества важнее, компании готовы взять среднего специалиста, но который лучше впишется в команду, чем профессионала про которого они не уверенны, что он впишется в команду. Т.е. речь идет не о том, что откровенных долбоебов не берут это и у нас так, но могут не взять человека в котором они сомневаются: "мы не видим вас частью команды" реальный слова из отказа.

>И если рассказ, о том, какой ты пиздатый можно потренировать с преподом английского.


Тренировать надо рассказ о своих интересах профессиональных и личных, о том что тебя мотивирует, очень любят вопросы про всякие проблемы на работе и как ты их решал, ну и традиционно "про хобби".

>А вот погонять по матчасти может только другой программист.


Тут момент. что спрашивать можно сильно разные вещи: одни любят CS вещи - а напишите нам эффективный алгоритм ХХХ, другие теоретические вопросы: чем X отличается от Y, кто-то любит живой кодинг. Мое мнение продуктивней будет походить по реальным собеседованиям, так ты и реальные вопросы услышишь и самое главное - перестанешь бояться собеседований и отказов.
292 1466219
>>66140
Да, да, избавимся от наследия проклятого прошлого.
И напишем всё с чистого листа на ассемблере ноде жс.
Как-то так это себе смузихлёбы и представляют.
293 1466245
>>66219
Самый лол, что на node js IDE (vscode) работает быстрее чем на java.
Это же какого говна надо навернуть чтобы так на статик языке тормозить.
294 1466297
>>66245

>vscode


Ты его с идеей сравниваешь, что-ли?
Да ты бы и жигули с роллс-ройсом сравнил бы, лол.
image.png456 Кб, 503x711
295 1466382
>>66297
Как мне нравится когда школьники (или взрослые со школьным умом) на каком-то внутреннем восприятие понимают некоторые вещи и потом выдают за непоколебимую истину.
Типа на джаве ИДЕ такая вся навьюченная, что старт самой ИДЕ и хеллоу-ворда занимает минуты. А мол vscode он типа блокнотика, вот поэтому и быстро.

На самом деле нет никакого прецедента стартовать мой хеллоу-ворд проект в java IDE пол дня и потом еще подтормаживать и поддергивать на каждый выпук.

Нет бро, джава тормозит и жрет все ресурсы аки слон, даже IDE это доказывают.
296 1466407
>>66382
Эх, сейчас бы бенчмаркать языки IDE'шками.
297 1466553
>>66382
Хеловорлд можно и в vi написать. Нет, если это твое основное занятие, то ок VS Code твой выбор.
Но если ты хочешь, что-то более сложное писать и чтобы IDE тебе и семантику проверяла и инспекции кода делала, и автодополнение везде в том числе в файлах ресурсов и конфигурациях, то VS Code тебе такого не обсепечит даже близко.
298 1466554
>>66553
Ты на вим не пизди.
299 1466557
>>66554
Для начала научись различать vi и vim.
300 1466559
>>66557
Назло тебе не буду их различать, что ты теперь будешь делать?
301 1466635
https://play.golang.org/p/FJCmy4kcQvj
Как сконвертировать str[2], чтобы нормально русская буква распечаталась?
302 1466649
>>66559
Осталось ещё уроки на завтра не сделать.
303 1466650
304 1466708
>>66650
Ясно. А как называется аналог strings.Index() для рун? Что-то в документации не находится.
305 1466736
>>66649
А я сделал. Ты потерпел поражения по всем фронтам.
306 1467743
>>66708
https://play.golang.org/p/QcvvHBHmpV
В стандартной бибилиотеке не осилили
307 1467787
А что будет, если я запущу гошное приложение на системе, которая не поддерживает треды? Будут ли работать горутины? Будут ли они выполняться одновременно?
308 1467826
>>67787
У тебя же нет тредов, как ты параллельно собрался юзать

> если я запущу гошное приложение на системе, которая не поддерживает треды?


Видимо как сам напишешь рантайм го в этой системе - так и будет

время тупых вопросов, видимо
309 1467940
Одному мне кажется, что синтаксис у гоши максимально всратый? Хотел перейти, но проблевавшись, сразу понял, что не вынесу этого.
310 1467974
>>67940
Одному тебе.

Иди в джаву и строй абстрактную фабрику абстрактных синглтонов
311 1467995
>>67940

Не только.
Жаль что го взлетел, а не нимрод.
Он покрасивше будет.
312 1468001
>>67940
Давай угадаю, до го ты писал на котлине.
313 1468018
>>68001
Плюсы, джава, пхп, питон. Котлин еще не пробовал (нету задач), но чисто внешне нравится больше гоши.
images (2).jpeg5 Кб, 275x183
314 1468025
>>68018

Ему не нравится синтаксис го после плюсов и джавы
315 1468076
>>67940
Он апогей императивности, в 2019 это, конечно, воспринимается диковато. Зато техническое исполнение хорошее.
316 1468084
>>68076

Любой у кого есть хотя бы минимальный смшный бэкграунд легко втягивается.
А вот тырпрайзникам и любителям метамагии тяжело.
317 1468126
>>67787
Горутины это юзерспейс потоки с переключением контекста, так что будут нормально работать, если не делать системных вызовов.
318 1468154
Пацаны, а почему в Go нет generics? Вот в C# есть и очень удобно, почему тут нет?
319 1468168
>>68084
А что тут втягиваться? Такая императивщина - самое примитивное, что может быть.
320 1468197
В какую максимальную ширину строки стараетесь уложиться при написании кода в вашем редакторе? Какая ширина чаще всего рекомендуется для Go?
321 1468208
>>67940
>>68025

Синтаксис - просто полный пиздец.
Такое ощущение, что проектировали двачеры из /b.
Как на этом goвне можно что-то писать - вообще загадка.
322 1468424
Пишу консольную прогу для линукса. Как в Go принято локаль устанавливать?
Короче, нужен аналог сишной setlocale()
323 1468480
>>68025
Дык в плюсах и джаве - охуенный синтаксис! Си-подобные языки в принципе самые красивые имхо.
324 1468530
>>68480
Гугол не умеет в юзабилити, в принципе, вообще никак.
Если гугол что-то разрабатывает/покупает - можно быть уверенным, что это неюзабельная хуйня. И даже анти-юзабельная. Даже если она делает что-то реально полезное, основана на охуенных алгоритмах и т.д.

Про Goвно всё понятно, я думаю.
А теперь они купили Котлин, и вливают в него тонны бабла.
Я совершенно не удивлён - Groovy они бы хуй купили, именно потому, что он юзабельный и практичный.
325 1468535
>>68480

А у го какой синтаксис, если не сишный?!
326 1469221
>>68530
Типо гугл это один человек.

>А теперь они купили Котлин


Кто купил? Ты уроки сделал?
Котлин скорее всего продвинули внутренняя команда джава-андроид разработки, никаких тайных смыслов тут особо нет.

Если же брать гугл как компанию в целом, то думаю этот котлин им нафиг не нужен.
С го вышло тоже самое, запили язык под какие-то внутренние нужды и зачем-то опубликовали на самом деле понятно зачем, чтобы активировать сотни бесплатных рук

Никто тут никогда не будет работать под высоконагруженными проектами и тем более не будет писать качественный высоконагруженный софт (потому что это еще уметь надо). 90% просадки вашего пет-проекта будет все равно на i/o базы данных и пинга в любых потоках. А 100.000к запросов не уместятся в ширину бюджетного сетевого канала.
Этот язык надо было публиковать в восьмидесятых.

мимо вебмастер со стажем
327 1469259
>>69221
Не говори так.
328 1469260
>>69221

>С го вышло тоже самое, запили язык под какие-то внутренние нужды и зачем-то опубликовали


Я общался с несколькими инженерами из гугла и спросил про основной язык разработки: мне сказали что разрабы предпочитают Java, а SRE - Go.
329 1469320
>>69260

Маленькая выборка.
Я знаю гуглера, который пишет только на питоне (не ml)
Не знаю, но полагаю, что у Гугла огромная кодовая база на с и плюсах.
330 1469350
>>69260
Была целая санта-барбара с системой поддержкой версии, они объясняли это тем что у них внутри компании монолитный подход и поэтому какой либо пакетный менеджер просто им "ненужон" и значит типа всем тоже, то есть проект вообще не планировался делать под общее применение. Я надеялся что язык будет развиваться после его публикации. Но оказалось всем насрать, проще было написать статью, почему руками обрабатывать ошибки это правильно, а наличие двух типов для строк и тупо сырой поток байт в строке - это вообще инновация и фича сиди страдай с рунами, хоть у тебя по дефолту utf-8 как бы

>разрабы предпочитают Java


Есть целая группа "программистов", которая кроме джавы больше ничего не знает и кроме джавы учить больше ничего не хочет. Тырпрайз есть тырпрайз - там логики нет.
331 1469706
>>68197
Пишу так чтобы без скроллинга в бок читалось в гите. На треть экрана примерно.
332 1469710
>>69260
Разрабов на какой проект поставят, то они и будут предпочитать

На С++ они точно пишут, все эти google test, google log не просто так появились.
333 1469890
>>69221

>запили язык под какие-то внутренние нужды и зачем-то опубликовали


Тупо двощую. Тоже давно сложилось впечатление, что запилили под свои нужды, а потом набежали маркетологи и начали продвигать его как язык пригодный для всего на свете. И сами создатели языка этому уже не рады.
334 1469897
>>69350

>Тырпрайз есть тырпрайз - там логики нет.


Это как? А как же бизнесс-логика?
335 1470015
>>69320

>Не знаю, но полагаю, что у Гугла огромная кодовая база на с и плюсах.


Это тоже, всякие системы хранения данных, базы данных и т.п. Но чуваки занимались сервисами для Андроида, жмыла и т.п.

>>69350

>Была целая санта-барбара с системой поддержкой версии, они объясняли это тем что у них внутри компании монолитный подход и поэтому какой либо пакетный менеджер просто им "ненужон"


И поэтому у них есть тулы которые в автоматическом режиме могут править код при автоматической миграции с одной верии либы, на другую.

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


У кого, у кого, но у гугла выбор кого нанимать есть и таких бы просто не взяли.
336 1470048
Где вообще нормальная инфа по gRPC? Все что есть в зарубежных интернетах - только хэллоуворлды.
337 1470052
Полезный репозиторий для изучения Го https://github.com/hoanhan101/ultimate-go/blob/master/README.md
JavaBusinessLogic.jpg105 Кб, 739x710
338 1470053
>>69897
Её там не найти.
339 1470062
Послушал последний подкаст радио-т, проиграл с попоболи умпутуна по поводу го.

Есть еще кто в треде, кто настрадался от го?
340 1470120
От самого популярного на Udemy курса по Go у меня из монитора вода полилась, этот препод либо отвлекается, либо одно и то же повторяет, слушать сложно. А в одном видео он так вообще сидел лулзовал с гит-репозитория, где были картинки с гоферами.
341 1470142
>>70120

Все курсы на удеми - говно.
342 1470144
>>70062

Идите в тред пхп и джса, и ройте о том, насколько они кривое говно.

Гошечка лучшее, что есть на рынке для вебсервисов.
343 1470260
>>67787

>А что будет, если я запущу гошное приложение на системе, которая не поддерживает треды?


Сейчас из таких только васм

>Будут ли работать горутины?


И да и нет. Работать они будут, но не так как ты ожидаешь. Будет ситуация как с тредами в Питоне - в случае I/O ты получаешь буст производительности, а в случае cpu задач - резко хуже чем последовательный однопоточный код

>Будут ли они выполняться одновременно?


Нет, но в случае I/O это нормально
344 1470302
>>70144
Так го - это и есть новый PHP.
345 1470305
>>70144

>Гошечка


ПОКАЖИ СИСЕЧКИ
@
ПОСОСИ ПИСЕЧКУ
346 1470318
Как сделать, чтобы gofmt не менял фигурные скобки, которые расположены в одну линию?
То есть, например, для if a > b { print(a) }
347 1470323
>>70318

Никак.

Для этого и форсанули единый стайлгайд, что бы нормальные люди не ломали глаза о код "эстетов".
348 1470325
>>70302

Ещё нет. Но зато быстрый, практичный и качественный.
349 1470330
>>70323
Блин, если внутри однолинейных фигурных скобок только один оператор, то лучше было бы оставлять как есть.
По идее это несложно реализовать: если внутри скобок не встречается точка с запятой, то оставлять в одну линию.
350 1470335
>>70330

Зачем? Уродливо смотрится.
Найди хотя бы один стайлгайд, где такое разрешено.
351 1470396
>>70335
Лишние две строки - это слишком много для одного оператора в скобках. Они накапливаются, а я не хочу лишний раз скроллить экран, чтобы окинуть взглядом функцию.
gofmt у односточных func f() { return } фигурные скобки не меняет.
352 1470409
>>70144
умпутун то за го, но у него случилась попоболь

>ройте


Новый зуммерски тупой сленг, или няша опечаталась?
353 1470410
>>70325

>быстрый


Почему так решил? Ты его тестил, или веришь напрямую маркетингу?
354 1470415
>>70410

Все независимые тесты публично доступны, хватит пиздеть.
355 1470425
>>70415
То есть, получается, ты даже не тестировал? Ясно.
356 1470457
>>70325

>быстрый


Ты не видел еще си, обосаца шустрый
проигрываю с долбаебов, которым принципиально исполнение функции в 100наносекунд или в 200
357 1470500
>>70457

Это пиздецки важно.
Ибо от этого зависит сможет ли функция укладываться в 50мс в 95 перцентиле или нет
А так же сколько вы заплатите за вычислительные мощности - x или 2-3 x

В то же время, нельзя писать на всем, тут уже стоимость труда слишком дорогая.

И го здесь предстааляется оптимальным выбором между производительностью кода - производительностью разработчиков.
358 1470513
>>70500

>Ибо от этого зависит сможет ли функция укладываться в 50мс в 95 перцентиле или нет


>А так же сколько вы заплатите за вычислительные мощности - x или 2-3 x


Что?

>стоимость труда слишком дорогая.


Ты начинаешь догадываться.
Но ты же не платишь программистами ни капли, зачем ты эту фразу воспроизводишь тут?

Я знаю, мне маркетинг не победить, но все же ты же понимаешь что твоя программа в среднем простаивает в файловом/сетевом i/o или запросе в бд, где-то 80-95% времени не веришь, иди протестируй и проверь.

Почему в начале 2000 все поголовно пересаживались на скриптовые языки? Наверное потому что раньше было лучше и железо производительно да?
359 1470516
>>70513
Программа на go не простаивает, а берет и выполняет другую горутину
360 1470520
Кто-нибудь разбирал подробно спецификацию языка? Если такие есть хотел бы пару вопросов задать
361 1470523
>>70513

Мальчик, давай я тебе расскажу, что в есть не только компании, где все крутится на одном старом целероне, а есть такие компании, которые арендуют серваков на сотни тысяч вечнозелёных в месяц.
И никто не будет рад тому, что из-за того, что твоя любимая пыха или питончик любят подумать, придется взять в два раза больше серверов.

Опять же, видимо у ИП рулона обоева так не принято, пусть посетитель подождёт десять минут загрузки главной, но есть продукты, которым необходимо успеть дать ответ в жёстко заданные рамки времени.

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

Да, раньше скриптовые языки работали. Знаешь почему? Потому что у интернета было полтора пользователя. А сейчас даже захудалый нах никому не нужный сервис должен стоять под напором 1к rpc, потому что теперь это средняя нагрузка.
362 1470590
>>70513

>Почему в начале 2000 все поголовно пересаживались на скриптовые языки? Наверное потому что раньше было лучше и железо производительно да?


Накидайте еще айтишных теорий заговора, мне понравилось.
363 1470602
>>70330
В го нет точек с запятой в конце действия и они расставляются компилятором автоматически.
364 1470618
Есть какой-нибудь роадмап с туториалами или курсами, статьями по изучению микросервисов? Складывается впечатление, что по простым вещам, типа сделать базовый API с REST или gRPC много всего, а потом нихуя. И если всплывают темы по лоад-балансингу, логгингу, трейсингу или прокси, то рассказывается в общих словах, что, мол, так можно делать, но без конкретных примеров.
365 1470624
>>70618

Нет.
Это тебе не бложик на пыхе запилить.
На этом консультанты и тренеры делают бабло.
366 1470752
>>70516

>Программа на go не простаивает, а берет и выполняет другую горутину


А если её нет, го программа выдумывает другую горутину, лол.
Ты думаешь потоки работают как-то по другому?
367 1470762
>>70523

>а есть такие компании, которые арендуют серваков на сотни тысяч вечнозелёных в месяц.


Но ты же не из это компании, давай ты не будешь говорить о том, о чем не знаешь, выдумывая такие вещи, что железо дороже времени разработчиков.
368 1470765
>>70590
Это пища для ума, чтобы заставить задуматься над той самой мнимой производительностью, которую хотят достичь в своих проектах, местные фантазеры а ты не понял
369 1470779
>>70762

Нет, я именно из такой)

Мы отдаем кучу денег амазону за то, что бы мы могли гибко масштабироваться под нагрузку и выдерживать sla.
И хрен кто согласится писать на джаве, потому что придется резервировать в разы больше памяти под контейнеры, вот кому это надо?

Так же мы не миллионеры, что бы позволить сервисам просто так жечт деньги, нужна максимальная утилизация процессора, и опять же у го нет конкурентов. (Ну кроме плюсов, эрланга, раста,... Но на них бы мы писали в разы дольше)

Я повторюсь, в твоём ИП на надо - ок, дуй свой кактус, а многим - надо.
370 1470781
>>70779
Ты несешь херню неопытного фантазера, который каким-то местом связан с ИТ, это настолько очевидно, что мне даже лень писать опровержения к твоим фентази-тезисам.

Тебе надо работать над своих актерским амплуа.
371 1470783
>>70781

Не пойму, ты Джун с завышенным ЧСВ, который краем уха услышал, что скорость не важна, и не разобравшись считаешь это абсолютной истинной?

Или наоборот, уже старый опытный маразмтаик, который не понял, что и веб, и нагрузки изменились, и что "перла под cgi" не хватает?
image.png268 Кб, 1256x813
372 1470792
>>70783
А может он бэтмен??
Тебе сказали работать над амплуа.

Когда встает вопрос железа, большие дяди о го даже не вспоминают, потому что jit еще рулит (см картинку), а го, не обкатанная игрушка. Твой го тормозит как синхронная джава, и может уделать только питон. что вообще очень странно для асинхронной работы

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

Блин, в го даже нет вменяемого пакетного менеджера, о какой эволюции качественного кода можно говорить? Те же js-ваннаби программисты на голову впереди я уже молчу что го это сплошной бойлерплейт сам по себе
373 1470847
>>70792
actix-web при 150 рпс начинает сыпать 400ыми, этот тест похож на пиздеж
374 1470862
Как в го сделать бинарник для самостоятельного исполнения, а не из под go run?
375 1470863
>>70862
go build
376 1470874
>>70792

Мне кажется, ты тупой.
Значит папу сообщений назад, чистый перфоманс был не важен, а теперь важен? Клал я на этот список, потому как под "топ фреймворков" никуя нет инфраструктуры.

И вообще, фантазируй сколько влезет, все аргументы в пользу го я высказал, но видимо ты их даже осознать не можешь, Вт и брызжешь слюной.
377 1470933
Возможно ли вкатиться на вакансию go удаленно, не имея опыта коммерческой разработки на go?
В моей мухосрани таких нет, удаленно все требуют с опытом работы на го от года. Сам я джва года на джаве.
378 1470952
>>70933
На джаве тоже удаленно сидишь?
379 1470988
https://play.golang.org/p/hsFaejfzzmc
Как правильно формат указывать, чтобы верно выводилась дата в формате "yyyy-MM-dd HH:mm:ss"?
380 1471121
>>70847
Этот тест можно в пару кликов запустить у себя.
И да, там тестируют не на твоем старом ноуте.
381 1471125
>>70874

>Значит папу сообщений назад


Теперь я знаю кто дорвеям тесты пишет.
382 1471362
>>70988
t.Format("2006-01-02 15:04:05")
383 1471364
>>71362
Зачем они так выебнулись с форматиррованием даты?
384 1471383
>>71364
Это тебя единственное что в го удивило?
385 1471386
>>71383
Если по остальным спорным моментам можно дискутировать, то с датами у них как будто один человек дорвался до исходников и сделал как ему удобно.
386 1471400
>>71386

А никто не знает,может в каких-нибудь языках такое-же ебанутое форматирование дат?
Не могли же они сами эту дичь придумать.
387 1471477
>>70952
Нет, гребу в офисе. Понимаю, что работать на удаленке это отдельный скилл, готов к этому морально.
388 1471601
>>71362
Так работает. Но странно, что в документации нет полного списка всех этих магических констант.
389 1471603
390 1471729
>>71603
Прям в духе js, надо теперь 100500 библиотек, чтобы тупо с датой норм поработать.
Как же теперь людям нормально скриптики писать?
391 1471731
>>71603

>Люди исправили


И тут же навернули своего говна с "%"
"%Y-%m-%d %H:%M:%S"
392 1471739
>>71731
Почему говна? Получилось как в баше и прочих скриптах.
393 1471747
JavaScript вас всех уничтожит.
394 1471748
>>71747
Сколько процентов инфа?
395 1471983
>>71731
А как в данном формате задать месяц не числом, а словом?
396 1472035
>>71748
console.log("1" + + [] + + [] + "%")
397 1472041
>>72035
console.log("a" + + "2ch" + "yMoUs");
398 1472140
>>70792

> Когда встает вопрос железа, большие дяди о го даже не вспоминают, потому что jit еще рулит (см картинку), а го, не обкатанная игрушка


Охуеть, необкатанная игрушка. Учитывая, что гошников сейчас нанимают вообще все крупные конторы. От Амазона и Гугла, до Яндекса, Озона и Авито.
399 1472159
>>72140
Там всех нанимают могут себе позволить, потому что похер на чем микросервис, главное чтобы специалисты были.
401 1472168
>>57992
Зачем дженерики для динамического языка? Там же поебать что куда суешь, пока не упадет
402 1472171
>>72159
Ну так тогда бы брали джавистов, их же больше всего.
403 1472180
>>72171
Их и берут больше.
404 1472184
Имеет ли смысл брать го как второй язык к пистону на бекенд разработку? Вообще когда изучал вопрос удивился, что компилируемого решения для таких задачь нет.
405 1472185
>>72184

>что компилируемого другого решения


фикс
406 1472195
>>72184
Чтобы тупо пострадать?
Тебе код писать или нуллы с еггорами сравнивать?

К питону имеет смысл подтянуть си и научиться шустрые модули писать для питона, но не как не нырять в клоаку малопопулярных экзотических языков.
407 1472200
>>72180
Хз, я вижу тренд, когда сначала пишется монолит на php (потому что быстро), взлетает, а потом узкие места начинают выносить в сервисы на го. Уже куча крупных компаний пошла по такому пути. С моей т.з. го уже взлетел и поздно об этом спорить.
408 1472279
>>72165
Вышел ES6 и все охуели. А вот динамика питона непонятна.
409 1472280
>>72184

>второй язык к пистону на бекенд разработку


Зачем? Высоконагруженный дохуя?
410 1472290
>>72280
Ну вот столкнулись с ситуацией, когда осталось только масштабировать горизонтально или извращаться со всякими pypy/cython. Хотелось бы некоторые места переписать на чем-то более быстром.
411 1472429
>>72279
машинное обучение
image.png95 Кб, 1248x654
412 1472441
>>72200
Я тебе раскрою тайну.
Крупные компании позволяют разным группам программистам брать интересные для них языки, дабы удержать специалистов на рабочем месте (чтобы им было интересно, "модно и молодежно").
Агрессивный маркетинг новых языков сильнее и поэтому случается так что кто-то где-то "ручку" (микросервис) написал на го, кто-то на котлине, кто-то ерланге, кто-то на кложе.

При учете что даже в пистоне уже есть асинки (ну и в других языках), страдать на го уже не имеет смысла вообще. Получилось так, что его основная фича стала уже не фичей и спустя несколько лет бойлерплейта люди устают от го (как это случилось и у меня) и лично мне кажется его будущее сомнительным.

Графики тоже показывают что он достиг определенного максимума. Его "бум" прошел, максимум он не взял.
413 1472442
>>72290
Я как-то тоже был таким юным и глупым. Написал какой-то участок на сях (а все было на пыхе), в общем получился микросервис, который почему-то тормозил больше чем на пхп.
Оказалось что быстро писать на быстрых языках надо еще уметь (я делал си обёртки для классических пхп функций). Даже если я и получал прирост, он был незначительным. Оказалось что масштабироваться в ширь, куда эффективнее, чем экономить на спичках.
414 1472515
>>72200
Только что вернулся с доклада от компании Gett.
Их история вкратце: написали монолит на руби, потому что руби был на хайпе. Потом начало притормаживать, начали выделять отдельные сервисы. Какой-то критический сервис работал плохо, решили переписать. На выбор был нода и го, го оказался быстрее. Начали писать все на го и переписывать старые сервисы. На данный момент у них 160 сервисов на го и 10 на руби.
415 1472524
>>72515
А когда им не будет хватать го они на ассемблер перейдут? Что за гуманитарное масштабирование?

У тебя был удобнейший язык, пришел прирост трафика - ну так масштабируй. Там разница в производительности 2-10 раза (в реальном проекте 2-5), то есть если проект реально быстро растет, то так же быстро они и в го упрутся.

На самом деле понятно, это классическое хипстерско-гуманитарное программирование. Был на волне руби - они няшились с ним, тут пришел в моду го, они перебежали, но что бы заглушить ту боль, после рубина, они нашли радость в приросте производительности. Ждем теперь откровений от раста, там боль будет еще сильнее.
416 1472526
>>72524
Не, там было что связанное не с масштабируемостью, а со стабильностью работы вроде как.
Короче, их перестал устраивать руби, и они выбрали го, пока что им нравится.
417 1472692
>>72290
Если у тебя не асинхронный фреймворк (aiohttp или всякие до-asyncio'шные торнадо или твистеды), то на большинстве задач, которые решаються выносом функциональности в микросервис ты не получишь прироста производительности, а только увеличишь нагрузку на io

Также и

>извращаться со всякими pypy/cython


Есть смысл только на числодробилках, т.к. бридж между языками - это всегда дорого.
418 1472712
>>72692
Хуита по обоим пунктам.
419 1472742
>>72712
Напиши не хуиту.
420 1472899
>>72712
Можешь поподробнее рассказать, где я не прав?
421 1472958
>>52808 (OP)
Стоит учить Го или Яву или ДжаваСкрипт? Есть опыт С++, 6 лет назад, первый семестр НЕ айти спецухи, сука, как же я его ненавижу.

Хочу:
а) иметь скиллы на черный день
б) зарабатывать миллионыя гуглил что Го не популярнен, но на МоемКруге, напимер, нужен Го/руби-мидл Рокетбанку с з/п до 200к(до?) - значит ли это, что Го постепенно набирает популярность?
в) возмоность заниматься интересными мне темамаи, в идеале геймдев
422 1472962
>>72958
После просто обучения ты никому не нужен будешь ибо каждый год куча студентов программистов добавляется.
>>72958

>возмоность заниматься интересными мне темамаи, в идеале геймдев


Ты во-первых, не понимаешь, что такое геймдев, а во вторых, погуглил бы, какие там языки
423 1472986
>>72958
Гейдев это C++. Вкатываться туда больно и долго. Нужно хорошо знать весь стандартный стэк CS (архитектура компьютера, ОС, ассемблер, алгоритмы и структуры данных, компиляторы и т.д.), понимать collision detection и работу физических движков (я подчеркиваю: это два отдельных топика), устройство видеокарт и графических API, а также математику (линейная алгебра, само собой дискретная математика, и др.).
Это если ты хочешь прям программистом в гей дев, а не клепать хуйню на юнити.
424 1472990
>>72986
Ну и да, учить придется не столько язык (в гейдеве многие используют C++ как C с классами по ряду причин), сколько все вышеперечисленное.
425 1472996
>>72962

>первых


я гуглил, шарп и кресты...
го ни к месту, да?
426 1473121
>>72986
Может ещё свой opengl написать надо для вката в геймдев?
427 1473192
>>73121
Для понимания того, как работает opengl, неплохо уметь писать рендереры без него хотя бы на уровне пет проектов.
428 1473231
>>73192

>без OpenGL


На директе?
429 1473234
>>73192
Что-то уровня "не служил - не мужик".
430 1473244
>>73231
Нет, когда дан массив RGB размером width * height и больше нихуя, все пиши ручками, никаких тебе шейдеров и пайплайнов.
>>73234
Это не настолько сложно, при этом ты реально получаешь понимание того, как работает 3D графика.
431 1473310
>>73244
А как я рендерить то буду вилкой?!!
432 1473565
>>73244
бамп нахуй
Ты какую-нибудь статью подкинул что ли, а то пока что твое пиздабольство бессмысленное уровня сикпа не впечатляет.
433 1473579
Я тут начал изучать Го, и у меня внезапно возник вопрос.
Если указатели у указателей в го нет pointer arithmetic то нахуя их вообще сделали?
И второй вопрос
Почему вот так можно
i:=10
ptr:= &i
ptr = 10

А вот так нельзя
type person struct {
name string
age int
head
person
}
dep[0] = person{
name: "head",
age: 10,
head: nil,
}
dep[1] = person{
name: "emp",
age: 10,
head: &dep[0],
}
*dep[1].head.name = "head2"
Зато можно
dep[1].head.name = "head2"
433 1473579
Я тут начал изучать Го, и у меня внезапно возник вопрос.
Если указатели у указателей в го нет pointer arithmetic то нахуя их вообще сделали?
И второй вопрос
Почему вот так можно
i:=10
ptr:= &i
ptr = 10

А вот так нельзя
type person struct {
name string
age int
head
person
}
dep[0] = person{
name: "head",
age: 10,
head: nil,
}
dep[1] = person{
name: "emp",
age: 10,
head: &dep[0],
}
*dep[1].head.name = "head2"
Зато можно
dep[1].head.name = "head2"
434 1473581
>>73579
Обосрался с разметкой
https://play.golang.org/p/IpSFG5jNFYy
Вот так нельзя в общем, хотя с интом работает
435 1473587
>>73579
Указатели нужны, чтобы передавать по ссылке и по значению, что дает возможность в одном случае менять переменную,а в другом работать с ее копией
436 1473589
>>73581
Го сам разыменовывает указатель, если используется точка (x.f).
Твой пример не работает, потому что ты разыменовываешь строку, а не структуру, Должно быть (*dep[1].head).name
437 1473642
>>73565
Jason Gregory, Game Engine Architecture
438 1473685
>>73589
Спасибо, понял. Почему я сразу не догадался интересно
439 1474082
>>73642
Говно книжка. Много поверхностной инфы, ноль конкретики.

Читать надо real time rendering.
440 1474387
Тут есть кто-то, кто работает на Go? Новый проект или с чего-то переписываете? Сложно вкатиться?
Хочу уйти с ноды в нормальный язык
441 1474424
>>72958
Если хочешь и в гейдев и в банки макакой, то очевидный сишарп
442 1474474
>>70048
В уроках по микросервисам на Го нет ничего сложнее простейшего роутера на каком-нибудь Mux или Gin и вызова функций на сервисе с клиента через GRPC.
Никаких тебе CQRS, Event Sourcing, NATS, Envoy и прочих real-world вещей. Только очередной туторитал с CRUD Do-To.
Чтобы чему-то научиться, нужно работать в компании с опытными программистами
443 1474504
>>74474
Как, впрочем. и с любой другой технологией. 90% статей на том же медиуме - скам, обсасывающий одни и те же хеллоуворлды.
444 1474859
Котлинодаун все-таки окончательно ебанулся и вайпает?
445 1475592
>>52808 (OP)

> https://www.golang-book.com/,


> https://github.com/dariubs/GoBooks,


> ,


> ,


Это тест такой? На СМЕКАЛОЧКУ???

Нюфаня, решил немножко вкотится и поговнокодить на Го.
И у меня недопонимание с присваиванием значения.
Сначала сам, чисто интуитивно, по аналогии с пистоном, решил присвоить куче переменных одно значение. Словил ошибку компиляции, и забыл об этом.
Сейчас читал книгу, из списка рекомендованных на главном сайте, и заметил пик 2 в примерах. Книга 2017 года.

Вопрос: Это у меня что-то с компилятором, или множественное присваивание одного значения убрали?
446 1475616
>>75592
На втором пике exists типа bool принимает значение True, если в мапе был создан такой ключ, иначе false.
Power же принимает значение по ключу если такого ключа не было, то принимает значение по умолчанию в соответствии со своим типом, в данном случае 0
Считай, что ты присваиваешь результат функции с двумя выходными значениями.
447 1475667
>>75616

> 0 false


У меня в первый раз не скомпилилось вообще, а сейчас да, вижу. Плохой пример был.
Значит я не могу в го
присвоить, куче, переменных, одно = значение
image.png13 Кб, 375x197
448 1475676
>>75667
Ничего страшного.
присвоить, трем, переменным = значение1, значение2, значение3
Вообще, пример хороший, но мб надо было показать его как на пикрил
449 1475686
И еще одному нюфане нужна помощь.
Имеется библиотека php для работы с соц сетью.
Нужно брать оттуда некоторые данные, и отображать на страничке.
Сервер на го. Как вообще это будет выглядеть? Подскажите
.png14 Кб, 331x270
450 1475706
>>75676

> _


Уже встречал такое. В чём суть такого имени переменной? Это такая переменная для хлама?
451 1475713
>>75706
Да, заглушка. Ты её ставишь, чтобы не тратить память на новую переменную.
452 1475722
>>75706
Вообще для вката в любой язык, советую порешать задачки на литкоде
453 1475729
>>75722
И как бы ему в его вопросе помогло переворачивание списков? Нет бы документацию языка почитать и реальный пет проект начать.
454 1475732
>>75729
Ему нужно не умение переворачивать списки, а привыкнуть к языку. Пет проект для новичка будет тяжелой ношей и, скорее всего, он его забросит.
Как обычно: сколько людей, столько и мнений
455 1475758
>>75732
Мое мнение такое, что пиление чего-то реально работающего держит интерес лучше, чем монтонные упражнения.
.png140 Кб, 500x834
456 1475831
>>75722

>литкоде


>>75729

>пет проект



Спасибо за советы.
Вяло пилю свою программулинку на питоне, по лингвистике. Со стандартными гуями и сторонней библиотекой для проигрывания аудио. Есть желание переписать её на го, чтобы сразу компилировать в исполняемый файл, не играясь с сомнительными костылями. Вот и решил пока поучить синтаксис
457 1475856
>>75686
Ты хочешь запускать php из го что-ли?
458 1475877
>>75592
>>75706
У тебя вопросы уровня "мне лень пройти tour of go за 10 минут".
459 1475929
>>75877
Утраиваю этого гофера, должно быть стыдно такие вопросы задавать. В любом гайде по го или тем более в туре это освещяется.
460 1475990
>>75856
Получается, что так. Похоже мне придётся как то запускать php скрипты с сервера и обрабатывать их. Это вообще можно нормально реализовать?
461 1476160
>>75990
Это скорее всего не нужно реализовывать таким образом. Если тебе нужен доступ к соцсети, то найди такую же библиотеку на го и используй её (ну или напиши/сгенерируй свою это несложно, если нужен просто апи клиент).
Но если бы у тебя гипотетически была библиотека, которая существует только и исключительно на php, не имеет аналогов и не воспроизводится на других языках - то стоило бы php-шные вызовы этой библиотеки обернуть в апи, сделав таким образом микросервис.
462 1476196
>>76160

>стоило бы php-шные вызовы этой библиотеки обернуть в апи, сделав таким образом микросервис


Можно об этом поподробнее?
Если я правильно понял, то предлагаешь сделать микросервисы на пыхе и го и через запросы производить обмен данными? Похоже, что я какую то чушь написал..
463 1476240
>>76196
До сих пор топчусь на месте. Понятно, что php скрипт должен возвращать данные в json серверу go. Но как запустить сам скрипт.. Скорее всего не туда я копаю как баран
464 1476280
>>76240
Поднимешь микросервис с пхп на другом порту, обращаешься через http что непонятно?
465 1476288
>>76280
Эх, спасибо
466 1476292
>>76240
Тебе скорее в тред по php, но отвечу тебе пока здесь.
Классическая схема работы php - это в паре с сервером (nginx) и php-fpm, когда сервер удерживает коннекты и через php-fpm запускает, собственно, скрипты (гугли примеры, их дофига).
Если ты используешь докер (а если нет, то стоило бы), то можешь взять, как пример, вот это (статей и примеров миллион, но этот хотя бы выглядит адекватно) - http://geekyplatypus.com/dockerise-your-php-application-with-nginx-and-php7-fpm/
Если тебе нужно просто заставить это крутиться локально, без усложнений, то в php есть простенький встроенный сервер, вызывай `php -S 127.0.0.1:8000 ~/path/to/script.php`, а внутри script.php уже читай запрос и отдавай ответ.
467 1476294
>>76292
Очевидно, стучаться из го будешь по адресу 127.0.0.1:8000
468 1476364
>>76292
Спасибо, анончик
469 1478663
>>74387
Работаю на крупную контору в Штатах.
Энтерпрайз, десятки микросервисов на Го (и не только)
Поддерживаю/допиливаю старые, пишу новые.
470 1478852
Как думаешь программач, пщ хороший язык для изучения после питона и жс? Думаю поковырять ещё какие-нибудь языки, всё-таки одним питоном сыт не будешь.

Думаю может стоит взять какой-нибудь со строгой типизацией, но пщ как и питон в душу запал.
471 1478888
>>78852
В Го строгая типизация.
472 1479155
>>78852

>всё-таки одним питоном сыт не будешь


Тоже перестал умещаться в 100К запросов в наносекунду?
473 1479161
>>74387

>Хочу уйти с ноды


Молодец.

>в нормальный язык


А вот тут кекус.
474 1479409
>>79155
Нет, просто хочу расширить так сказать кругозор и подстелить соломы если вдруг питон будет загнивать. Или если вдруг захочу в тырпрайз, сисярп не хочу из-за M$, а жаву просто не хочу.
475 1479490
>>79161

>>Хочу уйти с ноды


>Молодец.


Зачем уходить с ноды? Она рано или поздно станет для людей, а он к тому времени будет прожженным ветераном нарасхват.
476 1479519
>>79490
Скорее уж плюсы станут для людей, уже сколько лет обещают и всё никак.
477 1479560
>>79519

>Скорее уж плюсы станут для людей


С каждым днем все лучше!
https://gcc.godbolt.org/z/fSKbkQ
478 1479588
>>79560
дурачок, вбей свой код в wandbox.org
sage 479 1479607
>>79519
>>79560
неосилятор силён в тебе семен
480 1479613
>>79409
Ты либо становишься экспертом в одном языке, либо становишься "так себе"-спецом, но уже с несколькими языками.

Не верь в расширение кругозора, ресурсы, в том числе и время, всегда ограничены. То что ты мог потратить на углубление одного языка, ты тратишь на поверхностное уже нескольких языков.
Знание языка это не только его синтаксис, это знание его экзосистемы

Самый лол, что ты боишься судьбы питона, выбирая менее популярный язык с сомнительным будущем. Гуманитарный программист как есть.
481 1479614
Парни, не холивара ради. Но зачем го, когда сделали rust?
482 1479644
>>79614
Один из принципов Го - язык с легкочитаемым кодом. Раст этого не дает
sage 483 1479651
>>79614
Пацаны, не холивара ради
зачем rust, когда есть с++
484 1479654
>>79644

>легкочитаемым кодом


это ты про if err != null на каждый пук?
485 1479659
>>79644
В языке мало что есть. Нет даже перегрузки функций.
Из-за этого код сплошной бойлерплейт. О какой читаемости вообще речь?
Особенно читаем формат даты.
486 1479666
>>79654
А что, это мешает тебе прочитать код? Или понять, что тут выход из функции в случае ошибки?

>>79659

>Нет даже перегрузки функций.


А она нужна?
image.png102 Кб, 320x320
487 1479679
>>79651

>когда есть с++

488 1479681
>>79666
Это мне реально мешает читать код.

>А она нужна?


Да, когда функция делает одно и тоже, но с разными аргументами, я хочу иметь единое название и вменяемое API
do(String s)
do(Strint s, Int i)

А не
doString(String s)
doStringInt(String s, Int i)
15688541550230.jpg151 Кб, 1080x1325
489 1479783
>>58717
Фатальная ошибка котлина совсем другая - его соновная платформа, т.е. JVM, в которой нет грин тредов, а большая часть экосистемы это блокирующее легаси-говно, а та часть которая ну хоть как-то написано с асинкам едет каждая на своём велосипеде, кто на netty, кто на akka, кто на новых корутинах котлина. Суммарно всё равно говно, поэтому котлин это десткая хуйня и игрушка на фоне го. при всех его недостатках.
image.png347 Кб, 1280x1183
490 1480005
491 1480098
>>79783
Забавно что асинхронное программирование в действительности нужно местному анону в 1 случае из 1000
492 1480563
>>79613
Не слушай этого мудака. Смысл в расширении кругозора есть, просто потому, что новые языки - это новые концепции, которые во-первых, дают тебе больше опыта (вдруг столкнёшься), а во-вторых позволяют взглянуть на то, как ты решаешь свои текущие задачи на своёс текущем ЯПе под другим углом, что повышает твои навыки решать их. Ну и с медицинской точки зрения очень полезно, изучение новых концепций означает выстраивание новых нейронных связей в мозгу, что повышает эффективность твоей умственной деятельности.
Го как раз неплохой вариант для "поиграться", потому как очень прост. Можно за неделю пройти тур и написать несколько приложений, уже достаточно для того, чтобы понять, как работают горутины, типизация и всё такое.
493 1480580
>>80563

>новые языки - это новые концепции


Лол, какие? Решение одной и той же задачи, но с либами у которых другое название или положение аргументов?
Охереть расширитель кругозора. Это никак не развивает вообще, скорее засоряет мозги.

>Ну и с медицинской точки зрения очень полезно, изучение новых концепций означает выстраивание новых нейронных связей в мозгу


Ой, да у нас тут доктор наук. То что тебе не нужно, моментом обнулиться в мозгу. А новый язык, обычно, нужен тебе как пятое колесо. То есть, чтобы не застрять на уровне хелло-вордов, надо постоянно подогревать знания, по сути, просто так, потому что какой-то хер в интернете так говорит.
Не тратьте время на то, что не будете явно использовать в будущем, тем более на мало-популярные языки, нельзя запастись знаниями наперед, будете только программировать через вечный поиск и StackOverflow.
494 1480610
>>80580
Котлиндаун, ты?
Ну да, плюсы, эрланг, питон, хаскель и го - охуенно похожие языки, ничего нового ты не встретишь.
495 1480663
>>80098
постоянно нужно, на работе все задачи связаны с ИО и интеграцией различных систем. вообще весь веб и сетевые штуки - это сполошной асинк.
496 1480664
>>80663
Зачем именно нужно, без это абстракции, типа "у меня тут веб и значит надо асинхронно". Реальный пример, когда по синхронному встрял.
497 1480676
>>80610

>Расширить кругозор


>С++


Очень смешно.

>питон


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

>эрланг, хаскель


Нескучные языки подъехали.

Ты можешь теперь внятно объяснить зачем их учить, как тебе это поможет развиваться? Особенно это ненужная экзотика? Или мне засчитывать слив?
498 1480719
>>80664
Да запросто, нужно записать что-то в кэш после обновления либо отправить письмо посредине какой-то операции. Либо Нет никакого смысла выполняить эти оперции синхронно, можно продолжать выполнять бизнес-логику или уже отдавать ответ.
499 1480730
>>80676
Я, мне казалось, объяснил уже. Программирование - это построение логических моделей реального мира, на самом деле. Каждая новая концепция показывает тебе ещё один способ выразить что-то логически.
Сидя на питоне ты не поймёшь, как всё работает на низком уровне, пока не попробуешь си либо плюсы. Не поймешь, что именно делает за тебя сборщик мусора и зачем он нужен. Не поймешь, что делают планировщики и зачем они вообще нужны, пока сам треды не попрограммируешь.
Без тех же плюсов либо скалы ты не поймешь силы действительно развитого метапрограммирования и чего лишены гошники и многие другие.
Сидя на питоне и не попробовав го, ты не поймешь, что такое горутины и как можно мыслить ассинхронно, учитывая планировщик.
Сидя на питоне и не попробовав эрланг ты не поймешь, к примеру, акторной модели и в итоге так и будешь сидеть, думая, что ООП - это наследование (спойлер: нет, ООП - это про объекты, посылающие друг другу сообщения).
Сидя на питоне, и не попробовав функциональщину, ты не поймешь, зачем вообще нужны чистые функции и в чём красота чистого кода, что такое монады и как можно элегантно обрабатывать, к примеру, нулевые значения (и почему джава с её null'ами сосёт с проглотом).
Не посидев на джаве или котлине, ты не сможешь попробовать действительно хорошую реализацию rx и не поймешь, в чём прикол представлять бизнес-модель как потоки данных и насколько удобно это обрабатывать.

А вот поигравшись со всем этим, ты сможешь рассмотреть любую бизнес-задачу с разных сторон и отобразить её технически наиболее удачным способом (расширяемость, поддерживаемость и вот это всё). Подобрать язык для микросервиса, способ закодировать сложную бизнес-логику и так далее.

А если сидеть и всю жизнь сидеть на одном стеке, не высовывая голову из задницы, то в итоге окажешься рабом только одного способа мышления, потому что всё есть гвозди, когда в руках кроме молотка ничего никогда и не было.

При этом, понятно, что нельзя поизучать всё подряд и объявлять себя уберсеньором, ты можешь и должен выбрать для себя специализацию и развивать в первую очередь в ней, в глубину. Но также верно и то, что нельзя забывать о кругозоре.

На этом я умолкаю, потому что заебался повторять одни и те же прописные истины. Если тебе интересно дрочить только свою ссаную на самом деле нет, нормальная технология, если не объявлять её божественной джаву - то пожалуйста, играйся. Главное, новичкам мозги не засоряй.
499 1480730
>>80676
Я, мне казалось, объяснил уже. Программирование - это построение логических моделей реального мира, на самом деле. Каждая новая концепция показывает тебе ещё один способ выразить что-то логически.
Сидя на питоне ты не поймёшь, как всё работает на низком уровне, пока не попробуешь си либо плюсы. Не поймешь, что именно делает за тебя сборщик мусора и зачем он нужен. Не поймешь, что делают планировщики и зачем они вообще нужны, пока сам треды не попрограммируешь.
Без тех же плюсов либо скалы ты не поймешь силы действительно развитого метапрограммирования и чего лишены гошники и многие другие.
Сидя на питоне и не попробовав го, ты не поймешь, что такое горутины и как можно мыслить ассинхронно, учитывая планировщик.
Сидя на питоне и не попробовав эрланг ты не поймешь, к примеру, акторной модели и в итоге так и будешь сидеть, думая, что ООП - это наследование (спойлер: нет, ООП - это про объекты, посылающие друг другу сообщения).
Сидя на питоне, и не попробовав функциональщину, ты не поймешь, зачем вообще нужны чистые функции и в чём красота чистого кода, что такое монады и как можно элегантно обрабатывать, к примеру, нулевые значения (и почему джава с её null'ами сосёт с проглотом).
Не посидев на джаве или котлине, ты не сможешь попробовать действительно хорошую реализацию rx и не поймешь, в чём прикол представлять бизнес-модель как потоки данных и насколько удобно это обрабатывать.

А вот поигравшись со всем этим, ты сможешь рассмотреть любую бизнес-задачу с разных сторон и отобразить её технически наиболее удачным способом (расширяемость, поддерживаемость и вот это всё). Подобрать язык для микросервиса, способ закодировать сложную бизнес-логику и так далее.

А если сидеть и всю жизнь сидеть на одном стеке, не высовывая голову из задницы, то в итоге окажешься рабом только одного способа мышления, потому что всё есть гвозди, когда в руках кроме молотка ничего никогда и не было.

При этом, понятно, что нельзя поизучать всё подряд и объявлять себя уберсеньором, ты можешь и должен выбрать для себя специализацию и развивать в первую очередь в ней, в глубину. Но также верно и то, что нельзя забывать о кругозоре.

На этом я умолкаю, потому что заебался повторять одни и те же прописные истины. Если тебе интересно дрочить только свою ссаную на самом деле нет, нормальная технология, если не объявлять её божественной джаву - то пожалуйста, играйся. Главное, новичкам мозги не засоряй.
image.png464 Кб, 770x546
500 1480760
>>80719
Так и знал что фантазер и маня архитектор.

>Да запросто, нужно записать что-то в кэш после обновления либо отправить письмо посредине какой-то операции


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

>можно продолжать выполнять бизнес-логику или уже отдавать ответ.


Произошла ошибка, а клиент думает что все ок, но видит некорректный результат (или вообще ничего не видит). Чистая магия, которая противоречит юзабельности.

Маня архитектор как есть, выдумал прям на коленке.
Не нужны тебе асинхронные задачи, ты же смело можешь положить второстепенными вычислениями основные рабочие потоки.
501 1480766
>>80730

>не попробовав эрланг


Попробовал, никому не советую.
эликсир-господин
502 1480841
>>80766
Почему?
503 1480914
>>80730

>плюсов


> метапрограммирования


Тут лучше посоветовать посмотреть D, в плюсах от него ничего кроме боли и страданий получить не получится. Кроме 3-х часовой компиляции.

> скалы


Даже на плюсах это метапрограммирование легче поддерживать после написания, лол.

>и не попробовав го, ты не поймешь, что такое горутины и как можно мыслить ассинхронно,


Вот этот пункт ещё дырявый, сейчас почти во всех языках +- похожая модель асинхронности, только без встраивания в язык и с другой терминологией (вроде того же GCD в эпловских продуктах), гринтреды не новинка уже давно.

>и не попробовав го, ты не поймешь, что такое горутины и как можно мыслить ассинхронно,


обжс тебе махает рукой кстати.
504 1481023
>>80730
Классический гуманитарный программист. Абстрактные мечты и ничего по делу.

>А вот поигравшись со всем этим, ты сможешь рассмотреть любую бизнес-задачу с разных сторон и отобразить её технически наиболее удачным способом


Как я смогу это сделать, если ты только что сказал, что в одном языке что-то есть, а в другом нету? Я могу знать как писать хеллоуворды на многострочных лямбдах, но если у меня питон, что мне делать?
Ты сам же себе противоречишь. И весь твой текст не техническое изложение, а просто творческий нелогичный выпук.
505 1481338
>>80664
Ты упоролся? У тебя сервер принимает входящие соединения. На каждое соединение будешь выделять системный тред? А потом дополнительный треды на соединения до других эндпойнтов, например баз или проксирование. Пиздец
506 1481340
>>80760
Кого бы ты там уволил, лол. Ты джун без опыта, если тебе про асинк и грин треды надо пояснять.
507 1481528
>>81338
Чего?? Интересный маня-маневр.
508 1481532
>>81340
Прикинь тебе джун без опыта, не знающий про асинки по твоим словам тебе объясняет за правильную архитектору и что ты тупо не смог обосрался.

Это в двойне обидно.
509 1481569
>>80841
Морально устаревшая хуйня, даже блять модуль в саб-директорию не перенести без очумелой ебли. Работать дальше хеллоу-ворлда с ним невозможно, да и не нужно, когда есть современный эликсир со всеми фичами эрланга и возможностью вызывать нативный эрланг код.
510 1481660
>>80760

>Произошла ошибка, а клиент думает что все ок, но видит некорректный результат (или вообще ничего не видит). Чистая магия, которая противоречит юзабельности.



А лучше когда клиент висит десятки секунд в ожидании ответа и потом разрывает соединение по таймауту?
511 1481688
>>81532

>в двойне


Спиймав котлинодауна.
512 1481754
>>81660
Если не понял почему не правильно, то лучше спроси, не стоит дальше высирать чушь и позориться.

Почему вообще у тебя клиент запускает таску которая идет десятки секунд??
513 1481804
>>81754
Представь себе в вебе есть задачи посложнее перекладывания джсонов, и, зачастую, выполнение таких задач может занимать продолжительное время. Сервер в свою очередь как раз таки и предназначаен для обработки запросов от клиентов. Хотя может в твоем понимании веба сервер сам себе создает задачи и сам же их выполняет.

>Если не понял почему не правильно" то лучше спроси, не стоит дальше высирать чушь и позориться.


Если подъедут аргументы, то сниму шляпу и извинюсь, а пока я не услышал ничего кроме пустого пиздежа на кривом русском языке.
514 1481927
>>81804
Тебе это и говорили, маняврятор ты джуновый. Тебе и сказали что нельзя ложить таски в поток с бизнес-логикой. У го нет никакой возможности отделить мух от котлет, кроме как еще микросервис подымать.
Сейчас ты берешь и мне рассказываешь то, на чем я тебя подловил, лол.
515 1481932
>>81927
Ты не мне отвечал в том сообщении, шизик.

>Произошла ошибка, а клиент думает что все ок, но видит некорректный результат (или вообще ничего не видит). Чистая магия, которая противоречит юзабельности.



Я вообще тебя только насчёт этого спрашивал. Какие у тебя есть решения данной проблемы
516 1482329
>>81932
Снова какие-то маневры.

Решение простое - по бизнес-логике отвечаем клиенту полностью.
Если в запросе нужно задействовать таску о которой пишем/не пишем и отдельно запускаем таску (микросервис который может возвращать статус).

В бизнес логике никакие числодробилки не юзаем, даже если ватемарочку добавляешь (4 таких запроса для 4 ядер и веб сервер сосёт полностью).

Асинхронное программирование не серебряная пуля, она имеет и плюсы и недостатки, положить весь тред, с тысячью корутин - нефиг делать
517 1482431
>>82329

>Если в запросе нужно задействовать таску о которой пишем/не пишем и отдельно запускаем таску (микросервис который может возвращать статус).



Как это поможет решить эту проблему:

>Произошла ошибка, а клиент думает что все ок, но видит некорректный результат (или вообще ничего не видит). Чистая магия, которая противоречит юзабельности.



>В бизнес логике никакие числодробилки не юзаем, даже если ватемарочку добавляешь (4 таких запроса для 4 ядер и веб сервер сосёт полностью) и дальше пиздеж про асинхронщину


Это вообще к чему? Кто-то предлагал решать cpu-bound задачи с помощью асинхронщины?
518 1482455
>>82431

>Как это поможет решить эту проблему:


Что именно?
Если например идет сохранение документа, то вешается ответ что идет процесс сохранения.
Нельзя же юзеру сказать что все ок, хотя на серваке сохранение не может произойти. Надо уведомить, пускай тогда сохранит хотя бы у себя или повторит позже.

Веб-морда всегда должна взаимодействовать с клиентом, даже если ошибка не у тонкого клиента.
Иначе начинается магия.
519 1482458
Хомячье, перекатывайтесь уже
520 1482494
521 1482523
>>82455
Ответил тебе в новом треде
522 1489845
>>82523
вот ето метаирония
Тред утонул или удален.
Это копия, сохраненная 24 октября 2019 года.

Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее

Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
« /pr/В начало тредаВеб-версияНастройки
/a//b//mu//s//vg/Все доски