Этого треда уже нет.
Это копия, сохраненная 30 июля 2021 года.

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

Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
Go тред №16 /go/ /go/ 2061078 В конец треда | Веб
Cамого МУЖЕСТВЕННОГО в мире языка Go тред №16 /go/

ВЕЛИЧЕСТВЕННОЕ БЕЗХОМЯЧЬЕ ЛОГО ЭДИШН

Go или Golang — компилируемый язык программирования от создателей таких шедевров, как UTF–8, язык С, UNIX, Plan9 и других. Go поддерживает типобезопасность, богатую и универсальную стандартную библиотеку функций и инновационные семантики одновременности: все то, что мы в индустрии называем concurrency и parallelism. На сегодня язык Go является маяком стабильности, прагматичности, де факто представляет из себя стандарт в мире бэкенд–микросервисов и серверного оркестрирования.

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

Растобляди завидуют, сектантская запарта не переваривает.

С чего начать:
- В обязательном порядке проходим Go Tour: https://tour.golang.org/welcome/1 (есть на Русском)
- Читаем документацию прямо по порядку (пункт "Learning Go"): https://golang.org/doc/
- Ознакамливаемся с общим roadmap по изучению языка и сопутствующих инструментов: https://github.com/Alikhll/golang-developer-roadmap (постоянно обновляется сообществом)

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

Полезные ресурсы:
- Сборник паттернов и инфы по микросервисам: https://microservices.io/
- Смотрим видео https://www.youtube.com/channel/UC_BzFbxG2za3bp5NRRRXJSw

Обновляемый список с пакетами: https://github.com/avelino/awesome-go

Небольшой канал треда: t.me/golang2ch и даже живой

Предыдущий тред умирает здесь: >>1986204 (OP)

Шаблон шапки: https://pastebin.com/vmWawK2t
2 2061093
мимокродил, не знаю до конца синтаксис, пишу сервисы в k8s за 300KK/сек на Golang, задавайте вопросы
3 2061095
написал уже два
4 2061099
кстати чмохи, уже видели как будут выглядеть дженерики?
5 2061186
Шарп лучше чем Go.
6 2061206
>>061186
База
7 2061257
>>061186
Адепт уродливого переноса скобок, плиз. Съеби обратно в мвп-тред, откуда ты вылез.
8 2061258
>>061099
Твой батя-алкаш чмоха, чмохин ты сын.

https://go.googlesource.com/proposal/+/refs/heads/master/design/go2draft-contracts.md
9 2061260
>>061093
Какой-такой синтаксис ты не знаешь?

А у меня трудности вызывают только форматирование даты, там какой-то пиздец навелосипедили.
10 2061263
>>061257
Твой выбор языка понятен, раз у тебя мир сошёлся клином на конвенциях о скобочках.
11 2061266
>>061186
Как выглядит zero allocation CRUD на этих ваших шарпах? Такой же пиздец как на джабе или хоть чуть-чуть получше?
12 2061267
>>061263
Да. В goвне есть какая-то эстетическая притягательность, хотя он довольно старомодный на вид. А на код на шарпе без слез смотреть невозможно, в основном как раз из-за скобок.
image33 Кб, 823x778
13 2061352
>>061078 (OP)
Добавьте в шапку уже, ироды:
https://www.practical-go-lessons.com
14 2061386
>>061186
Моча лучше goвна? Сомнительно.
15 2061398
Сынок, "It has been replaced by a new proposal".
Вот тут приняли дженерики и теперь они ожидаются в Go 1.18
https://go.googlesource.com/proposal/+/refs/heads/master/design/43651-type-parameters.md

Обновите шапку, все таки дженерики вам нужны получается
>>061258
16 2061566
Открыл резюме как питонист-ГОвнист, на змеюку начали сыпаться вакансии огромным потоком, на говяху пришла только одна, и то, в связке с пистоном. Тут какое-то время орали о том, что первое нахуй не нужно и все с него переезжают на второе. Ну и где это все?
17 2061666
>>061078 (OP)
На сколько говнокодом является создание вебсокет-ендпоинта на каждую сущность, как мы делаем в случае REST-а?
Я, конечно, могу всё в одном соединении делать, пихать json'ы с метадатой и json.RawMessage с пейлоадом, а потом уже, на основании метадаты анмаршалить этот json.RawMessage на конкретный тип, но тогда еще нужно самому реализовывать подписку/отписку, свой аналог multiplexer'а, и, возможно еще кучу всего, о чем я сейчас еще не вспомнил.

С другой стороны, если я создам несколько ендпоинтов, /foo, /bar, /baz, на каждом из которых будут отдаваться только один тип структур - маршалинг/анмаршалинг будет на порядок проще, вместо подписки/отписки у нас просто соединение - пока оно активно, значит клиенту нужны обновления конкретного типа, если закрыто - значит больше нет, multiplexer тоже можно переиспользовать стандартный, либо какой угодно другой из http-совместимых. Код в целом чище и проще.

Но как это по ресурсам? Я предполагаю, что низкоуровневые либы пишут умные люди, и они догадались для нескольких вебсокет соединений от одного и того же клиента к одному и тому же серверу переиспользовать одно и то же TCP/TLS соединение. Подскажите, пожалуйста, как это проверить?
18 2062078
>>061566
Хз, меня ддосят вакансиями постоянно, ты что-то не так делаешь
19 2062091
>>061666

man lsof
20 2062186
>>061266
пихать результат в аргументы метода, везде. как в с/с++
21 2062209
>>062078
За какой период тебя ддосят? Утром позавчера открыл резюме, сразу же начинают писать тонны хрюш на мейл по пиздону, вакуха по го пришла только вечером и еще одна на следующий день, сейчас закрыл, потому что похоже, что с двойным стеком подходит. А по поводу питоноработы все срут и срут
22 2062324
>>062209
Всм за какой период? Недавно искал работу - пришлось резюме закрыть через несколько дней из-за спама. Возможно у тебя очень хуевое резюме для гошки. Хотя если ты питонист - то страшно представить какое у тебя гошное резюме. А нахуя ты вообще работу ищешь на питоне и го одновременно по различным резюме? Бред какой-то.
23 2062330
>>062324
А, неправильно прочитал, у тебя путхон+го. Хз, я мало вакух видел, где питон с гошкой юзают одновременно, у меня то резюме чисто гошника с релевантным опытом. А ты из тех питонистов, что на джанге сайтики клепают? Возможно поэтому мало интереса со стороны гошных позиций, специфика в го посложнее
24 2062425
>>062091
Спасибо
25 2062450
>>062330
Не, всякое микросервисное говно с кафкой и кроликом
26 2062456
>>062330
Почему у всех горит с джанги? Мне например пофигу на чем писать бэк, хоть джанга, хоть асинхронщина, хоть микросервисы на го. Тупо разные задачи, сложность зависит совсем от другого.
27 2062470
>>062456
У людей горит не с джанги, а с джанго-кодеров, так же как и с ${FRAMEWORK_NAME}-кодеров, по тому что так называют себя люди, которые кроме своего фреймворка ничего другого и не знают. Это как слесарь втулок или сантехник биде
28 2062506
>>062456
Говно тому что
29 2062509
>>062506
Нет
30 2062579
>>061352
Спасибо, анончик, годнота
31 2062600
лучше на аде
33 2062794
В иннотех тут кто-нибудь собеседовался?
34 2063572
>>061078 (OP)
Есть ли шанс вкатиться нубу и найти работу джуном без опыта?
35 2063681
>>063572
Очевидно как и везденет
36 2063792
От какого года материалы ещё актуальны?
37 2063795
>>063792
Смотря какие, но лучше поновее искать, гошка беквард компатибилити держит аж с первой версией, так что можно и старье читать, но лучше канеш этого не делать, как и в любом другом языке
38 2063907
Бляпиздец почаны
Перешел недавно на уважаемую работу не галера, суперкрупные ребята
Раньше у меня в другой компании не было код-ревью и вообще похуистично довольно относились к коду, работает - заебись. А здесь меня на каждом пул-реквесте ебашат за стиль и прочее, постоянно косячу в каких-то мелких моментах, так что ревью занимает вечность и кучу итераций до мерджа в мастер. На этой почве постоянная минус мораль, хоть и тим-лид говорит, что нормально вливаешься и вообще заебись. Хочется сразу писать красоту и правильный код, без разъеба.. Помогите, я уже в конвульсиях по ночам читаю кодстайлы убера и достал с полки макконнелла, аж плакать хочется
image.png283 Кб, 610x396
39 2063929
>>063907

Поссы своим супер-крутым лиду и команде на лица
40 2064080
>>063907
Палю годну, авторская методика:
делаете в вашей связке VCS и таск трекере максимальный лимит на время ПРа без реакции (approve/reject). При достижении этого лимита - включите автомерж. Пару таких автомержей и дальше желания оставлять ПР без ревью пропадет, базарю. Будут ревьить максимально быстро и эффективно. Дальше, вешаете ограничение на количество реджектов - не более двух. Если ПР реджектится в третий раз - ПР деклайнится автоматом и таска возвращается в бэклог. При этом заассайнить ее снова на последнего девелопера нельзя, ибо тот проштрафился. Это сократит количество итераций ревью
15963857674751.jpg62 Кб, 679x513
41 2064123
>>063907
Так радуйся, лол. Если ты хоть немного обучаемый, то за 3-6 месяцев методичного тыкания в говно на пулл-реквестах приспособишься и будешь потом не задумываясь на автомате выдавать отличный код по самым современным кодстайлам. Меня как перебежчика с другого стека тоже активно прикладывают последние полгода за мелкие косяки и тонкости гошки их оказалось намного больше, чем я думал при вкате, лол, но я наоборот не нарадуюсь на такое отношение. Уж лучше пусть сейчас на старте go-карьеры я словлю все косяки и подводные камни, чтобы вбить базу в мышечную память и потом не отвлекаться на мелочи, будучи сеньором-пиздаболом за 300ксек через пару-тройку лет.
Ну и за эти полгода мой код заметно вырос по качеству, чего уж греха таить. Еще немного, и начну сам разносить молодых и неопытных джунов на ревью но без жести :3
42 2064249
>>061352
А есть на русском?
43 2064313
>>064249
Ты уже проиграл молодым-упругим джунам-конкурентам, можешь выкатываться.
44 2064323
Go - язык для миддлов.
Джунам здесь делать нечего.
45 2064580
>>061352
Оке, в след шапку докину
46 2065665
>>061078 (OP)
Что вообще пилят на го? Кучу микросервисов, перекладывающих джейсоны? Думаю перекатиться из крестов или хотя бы немного диверсифицировать свои навыки, но боюсь охуеть от клепания крудов.
47 2065740
>>065665
А ну брысь обратно в мвп-тред, паук-крестовик!
48 2065763
>>065740
Нет.
49 2065770
>>065763
Байтоеба ответ.
50 2066022
Ваше мнение по поводу gob?
51 2066906

>>2065903


У тебя файл пересоздаётся каждый раз скорее всего
52 2067184
>>063792
Практически все, значительных изменений языка за 11 лет практически не было. То, что вместо ioutil теперь нужно использовать os или io, где это возможно, и то, что теперь есть NotifyContext и не нужно его каждый раз реализовывать самому - это ничего не меняет.
53 2067193
>>067184
А как же появление модулей? Теперь всякие gosdep не нужны.
54 2067215
>>066022

А какую проблему ты решаешь?
55 2067218
>>067215
Допустим, зову сервисы по rpc, надо передать некие данные. Вообще проблемы как таковой нет, интересуют плюсы-минусы по сравнению с тем же протобафом.
56 2067247
Вы бизнес логику на ГОвне пишите или только места соприкосновения с высоконагруженной сетевухой? Перелез с пистона пол года назад и возникло ощущение, что он только для этого и нужен, как будто на недо сишке пишу.
57 2067273
>>067193
Это не изменение языка, это изменение тулинга. Да и то, тебе один раз на проект нужно сделать go mod init и дальше всё как и раньше
58 2067347
>>067218

> плюсы-минусы по сравнению с тем же протобафом.


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

Как схема описания данных - это херня, потому что очень мало возможностей (отсутствуют даже базовые, вроде отметки полей как required / optional) и странные ограничения. В итоге приходится лепить костыли типа zero value у енумов или google/types/wrappers для опиональностей. Расширяется тоже уебищно, аннотации неудобны и не проверяются никак.
Как кодогенератор херня, потому что генерирует крайне неоптимальный код, []*Type видели? Сколько ненужных указателей, это пиздец, на больших нагрузках ГЦ умирать будет. Актуально кстати не только для го, для джавы там такие же проблемы с кодом.
Как тулчейн тоже обосрались, вместо питона написали проток на ебучих плюсах, хер расширишь нормально, для того, чтобы плагин написать или отдебажить, нужно пострадать. Импорты кстати тоже уебищно работают.
Как экосистема протобаф + grpc проигрывают jsonчикам просто всухую, количество и качество тулзов несопоставимо просто.
Как способ экономить трафик в целом норм, но штука в том, что json | swagger | gzip будет не сильно хуже.

Даже сами сотрудники гугла в неофициальной беседе признавались, что протобаф - это ну такое.
Имхо, отличный пример карго-культа и засилия хипстеров в индустрии, гугл ведь говна не сделает, надо брать.
60 2068372
>>068353
Ок. Какие годные альтернативы, если мне нужно экономить трафик и важна латенси?
61 2068572
Что больше подходи для нормальной работы с кодом на Гошане? VS Code or golang? Да и вообще, это единственные редкторы/ИДЕ'шки для него?
62 2068574
>>068372
Та в том то и дело, что альтернатив тонет.
Не нравиться rest+json и gRPC? Cоздавай свой протокол над http.
>>068353

>Как кодогенератор херня, потому что генерирует крайне неоптимальный код, []*Type видели? Сколько ненужных указателей, это пиздец, на больших нагрузках ГЦ умирать будет. Актуально кстати не только для го, для джавы там такие же проблемы с кодом.


Не использовал на проде gRPC, но если гуглу норм - то нам тем более должно быть норм. Похоже на больших объемах трафик дороже CPU.
>>068572
Есть два варианта - либо Goland, либо ваш-любимый-текстовый-редактор+https://github.com/golang/tools/blob/master/gopls/README.md
Я сам использую первый вариант, т.к. давно подсел на иглу реактивных мозгов и лень переучиваться. Но люди в интернете говорят, что gopls вполне юзабельный
63 2068643
>>068574 >>068353

ну как схема данных, тут уж простите, или schemaless бинарщина со своими плюсами-минусами, либо json и далее

а в плане иплементации, да, гугол жиденько обосрался, посмотри на альтернативную имплементацию https://github.com/gogo/protobuf

или альтернативные бинарные протоколы wire, msgpack, avro, твитеровский какой-то, не помню как называется

без нормального протокола наешься говна как пхпшники, со своим `serialize()` в свое время.

>>068572

любой редактор по вкусу, который умеет LSP + gopls сам на gopls сижу, зависимость есть, брат жив

>>067247

пишу, прививаю команде DDD и гексагональность ибо заебали со своим копипастным-говнокодом
64 2068760
>>061078 (OP)
Предложили перекат с java на Go. Какие подводные камни?
65 2068765
>>068760

программировать научишься
66 2068782
>>068765
В каком плане? В чем будет для меня разница?
67 2068783
>>068760
Как минимум у тебя будет работа, в отличии от миллионов жабистов которые в ближайшие два года дружно отправятся в утиль, так как их костыльная jvm из прошлого века не соответствует реалиям современной разработки
68 2068785
>>068783
Java вакансий раза в 3 больше чем Go вакансий, браток.
Все банки, дохуя серверов, дохуя сервисов, IoT, ретейл и дохуя чего ещё написаны на жабе. В ближайшие два года количество java-вакансий только увеличиться.
Так что я спрошу еще раз, с надеждой на адекватный ответ:
в чем будет разница между работой на Java и работой на Go?
69 2068846
>>068785
Он шиз, который принимает ГОвно как спасение и очередную серебрянную пулю. На ГОвне ты будешь пилить быстрый перекладыватель джсонов, для которого ГОвно и было написано
70 2068882
>>068846

> быстрый перекладыватель джсонов



Ресты что-ли обычные? А на сколько быстрее жабы?
71 2068918
Что учить чтобы не остаться на обочине разработки в 2021 году? Govno? Node.js? Rust?
Сам я немного прогал на плюсах и на джаве.
72 2068981
>>068918
Что такое обочина разработки? Даже крестов с жабой тебе хватит минимум до 2030. Если надо модное-молодёжное, иди во фронтенд.
73 2068983
>>068981
Ну например сегодняшние шарписты, у которых были большие надежды на неткор, но все сдулось и теперь шарп нужен в легаси проектах и игрульках на юнити.
74 2069000
>>068983
Вроде, попадаются вакансии с неткором, хотя не особо слежу. В энтерпрайз ему пока рановато, там не любят необкатанные технологии. Жаба вряд ли сдается в ближайшие лет 10. С Go не станет хуже, чем сейчас, будет только дальнейшее развитие. Ноду не сервере используют редко. На расте почти нет работы, он тоже набирает популярность, но не такими темпами, чтобы убить кресты в ближайшем будущем. Вот именно в раст и ноду я бы вкатываться не стал.
75 2069698
300кк наносекеры, есть желание вынести генерацию xlsx куда-то из проекта, хвалят эти ваши голанги.

Как в таких сдучаях у вас принято общаться между core (например ruby) и сервисом с го?
76 2069792
>>069698
Если тебе надо получить именно файл - то пусть го (хотя почему именно он, непонятно) файл и делает. А запрос на генерацию файла отправь таким образом, каким это принято у тебя в проекте. Лучше однообразно, чем "как надо в маняфантазиях"
77 2069802
>>069000

>Ноду не сервере используют редко


Это смотря где. В СНГ-песочнице да не слишком часто.
78 2069823
>>069792
Спасибо за отклик, антош. На рубях отчет генерится больше 20 минут, поэтому надо что-то с этим делать.
79 2069835
>>069698

> есть желание



подрочи, обычно помогает

> Как в таких сдучаях у вас принято общаться между core (например ruby) и сервисом с го?



да как и с остальными языками, через IPC, RPC и все прочее

> На рубях отчет генерится больше 20 минут, поэтому надо что-то с этим делать.



а почему ты считаешь, что если просто переписать с одного языка на другой, то станет быстрее?
80 2070598
>>069835

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



Потому что на соседнем проекте на crystal похожее вылезает за несколько секунд. Меня кристал не особо интересует, поэтому смотрю на го.
81 2070705
>>070598
Охуеть, кристал кто-то использует в продакшене?
82 2070871
>>070705
Даже хаскелль используют, если хорошо поискать.
83 2070911
>>070598

С таким уровнем аргументации лучше на асме переписать, он самый "быстрый".
84 2073554
>>061093
Как пролез?
85 2073709
>>068572
С го суть в том, что хоть в блокноте пиши, а через консоль запускай
86 2073715
>>073709
Так про любой язык можно сказать. И нигде так делать не будут, потому что неудобно.
87 2073996
>>073715

Попробуй из интереса по-писать на каком-нить php-си-расте в блокноте/на бумажке и потом так же на го, вот тут-то ты и прочувствуешь насколько го проще.
88 2074019
>>073996
Пробовал, не проще.
89 2074179
Понадобилось копаться в одной софтине на го и модифицировать ее. Посоны, это ужас. Ну совсем прям плохи дела. Язык у вас - калека уровня QBASIC.
Работа над ошибками это какое-то квазимодальное уродство. Такое впечатление, что создатель этого издевался над кодерами. Композиция вызовов? Вызов функции в условии ифа? Не нужно. Нужно на каждый вызов функции 4 строки оверхеда с одним и тем же кодом. Поменял возвращаемые значения функции? Будь добр, пройдись теперь по всем return nil, nil, 0, nil, nil, 0, 0, err и поправь их в 20 местах. Что, хочешь спарсить JSON? Нна, сука, по 10 строк на вытаскивание каждого следующего элемента. Продолжать можно долго.
Что это? Зачем это? Кто это делает? Почему оно еще живо?
90 2074180
>>074179
Платят за него больше всего, работать на нём просто, язык быстрый по перформансу и по скорости написания программ.
91 2074246
>>074179
Вызвать в условии ифа можно. А как в других языках (именно языках, не иде) меняются ретурны самостоятельно? Как это вообще возможно?
92 2074267
>>074179

> Что это?


Язык-гной, язык-пидор.

> Зачем это?


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

> Кто это делает?



Главпидор всея интернета, а.к.а. Гугл.

> Почему оно еще живо?



Потому что порриджи не способны освоить что-то более сложное и взрослое. Так и живём.
93 2074331
протухший язык от которого отказался даже сам создатель брошенный на произвол судьбы не нужный никому стоит задуматься...
94 2074334
>>074331
Согласен, пхп он такой, но зачем ты в го тред это постишь?
95 2074426
>>074267
Хуйню несёшь, зумеры тут не при чём, язык создали бумеры, причём уважаемые другими бумерами, и создан он был тоже для бумеров. Если не в курсе, в американских корпорациях на основных сеньорских должностях трудятся люди под сорок. Ты постсоветское эйджистское ведро с крабами / банку со скорпионами не проецируй на западный мир.
96 2074436
>>074426
Дедули получается говном накормили порриджей, пора бы и на пенсию уже
97 2074443
>>074436
Го набирает популярность, денег платят много, лучше не завидовал бы и грёб баблос
98 2074795
Кто-нибудь пробовал goschool от озона? Как оно? Какой вообще положняк по озону, наверняка кто-нибудь из вас изнутри знает
99 2074836
Что пишут на вашем голанге? Какой стек нужен чтобы преуспеть в нем.
100 2074932
>>074426

> язык создали бумеры


Прав.

> причём уважаемые другими бумерами


Прав.

> создан он был тоже для бумеров


А вот тут ты неправ.

> Если не в курсе, в американских корпорациях на основных сеньорских должностях трудятся люди под сорок



Этот язык не создавали для сеньёров. Сеньёры пишут на нормальных языках, которые требуют работающей головы. Этот же "язык" - это станок для будущего пролетариата, т.е. порриджей. Простой, с минимальным количеством концепций, требующий минимальных знаний. Сел, выучил за неделю и на завод на галеру.
101 2075030
Можно ли к вам вкатиться, если я работал ETLщиком и писал скрипты на питоне?
102 2075031
>>075030
Алсо, при вкате желательно зп от 150к.
103 2075148
>>074932
Какие тебе сложные концепции нужны?
104 2075152
G
105 2075233
>>074246
В других языках из функции не нужно делать 50 ретурнов. В подавляющем большинстве случаев ретурн один, и менять его нужно только по делу.
106 2075331
>>075233
Ты просто не очень хороший программист
107 2075943
>>074836
Бамп
Интересно узнать мнение голанг специалистов разбирающихся в этом вопросе
108 2076243
>>074932

>выучил за неделю и на завод на галеру.


Ага блять, за неделю. Из за этого "go way", много всякой нестандартной хуйни. Всякие специфические только для го паттерноы типа singleton dependency injection? multiton. Понимание того как работает GC (который блять меняется через каждую версию), понимание работы шедулера (та же хуйня, что и с gc), дохуища всяких нюансов для горутин, трэйсы etc. Это конечно не c++, которые можно всю жизнь использовать и находить что-то новое, но и не дажва или питон.
109 2076380
>>075331

>Ты просто не смакуешь, пока жрешь говно


Поправил тебя
110 2076854
>>061078 (OP)
Какая уебищная система импортов тут, даже с локальным модулем лютая ебля
111 2076881
>>074443
Ну так на него берут только с опытом в других языках, а с таким опытом итак бабла хватает и ты обычно уже бородатый
112 2076889
>>076854
Пориджы должны страдать
113 2076895
>>076889
Странно, что те, для кого создавался этот язык должны страдать
114 2077579
Полгода пытаюсь понять, как там отстреливают себе ноги модулями
115 2078599
>>076243

> Всякие специфические только для го паттерноы типа singleton dependency injection? multiton


В мире го нет специфичных паттернов, особенно таких

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


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

> , понимание работы шедулера (та же хуйня, что и с gc),


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

> дохуища всяких нюансов


как вообще в любом языке

> нюансов для горутин, трэйсы etc.


Го тура хватает на 90%, го тур + пакет sync так и вообще на все сто. Хз чё тебе там сложным кажется, как раз с горутинами проблем меньше всего, если один раз пройти мануал

Я концептуально с тобой согласен, что никакой язык за неделю не учится на про уровень, и го в том числе, но аргументы у тебя всё равно уебанские
116 2078636
>>078599

>Нет, не меняется. Немного допиливается, но базовая логика неизменна уже давно.


Вот когда завезут суб-миллисекундный гц, как в жяве, тогда язык будет просто топ. Очень хочеца.
117 2078705
>>074836
Бамп
118 2078710
>>074836
Пишут что угодно, это один из настоящий генерал пурпос языков
Чтобы преуспеть нужно или быть экспертом DDD, или крутить байты в кешах и гц вручную. К сеньерству должен уметь обе вещи
119 2078716
>>078710
Как то размыто получается
120 2078905
>>078705
Пишут джейсоноукладчики в микросервисном стиле. И кубер с докером. В общем, все, что связано с "облаками"
121 2079026
>>078905

что за предвзятость? вот, ознакомьтесь:

- https://github.com/zyedidia/micro
- https://github.com/stretto-editor/stretto
- https://www.dolthub.com/blog/2021-06-21-copying-mysqls-dumb-decisions/
- болт и прочие хранилища иди сам по-гугли
- message queue тоже найдешь наверно
- https://blitiri.com.ar/p/chasquid/
- https://github.com/pokemium/Worldwide
- https://github.com/Thinkofname/steven-go
122 2079674
>>079026
Очередь задач попадает в "все что связано с облаками".
Всё остальное - не целевое предназначение языка, хотя конечно написать можно что угодно. Но если так считать, то вопрос зачем нужен язык вообще смысла не имеет, потому что что угодно можно написать на чём угодно
123 2079679
>>079674
Напиши-ка мне на ноде многопоточную бд.
124 2079797
>>079674

Погугли, что значит словосочетание "язык общего назначения".
125 2080344
>>061078 (OP)
Как правильно писать вложенные пакеты? В стандартной либе есть "net/http/fcgi", который импортирует "net/http", который в свою очередь импортирует "net"
С другой стороны есть "sync", который импортирует "sync/atomic"
126 2080348
>>079797

> язык общего назначения


Понятие, описывающее несуществующее явление. Иначе был бы один язык, на котором писали бы все. И не надо отговорок про легаси.
127 2080412
>>080344
Как они по смыслу вкладываются друг в друга, так и вкладывай в коде. Если возникнут кольцевые зависимости - будешь их разрывать
128 2080542
Какое же говно эти ваши параметры типа. Не могли как TypeScript сделать?
https://go2goplay.golang.org/p/bqxCBcv0jjV
129 2080554
>>080348

Сложно быть тупым, постарайся избегать этого
130 2080557
>>080542

А ещё, Роб Пайк, лично, мог соссать тебе на лицо, но он же не стал так делать, попробуй проанализировать почему так случилось
131 2080559
>>080554

> пукс реньк

132 2080560
>>080542
Бля, ну защо. Сделали бы хоть <> вместо [], как в жяве. Ну некрасиво же смотрится.
sage 133 2081127
>>080560

> как в жяве


Потому и сделали, что надо какое угодно говнище, лишь бы не как в жабе, даже если и не в ней это придумали. В котлине тоже эта шиза, но появляется в другом.
134 2081223
>>080542
Маня меняй парадигму мышления
135 2081267
>>081223
Парадигма-хуедигма. Хули так сложно сделаны констрейнты? Мне всего лишь нужен поинтер любого типа, который обладает парой методов. Нахуя мне 2 типа описывать, если второй тип это буквально что угодно?
136 2081477
>>081127
В чём в Котлине проявляется?
137 2081824
>>081477
Например, запрет static. Вместо него придумали companion objects, функции и ещё десяток костылей.
138 2082325
>>079679
Напишу

бекендер-нодовец
image.png947 Кб, 900x600
139 2082365
>>082325
Понял, с тобой лучше не связываться.
140 2082497
>>061078 (OP)
Есть тут анон который разобраться с тем как рабоать с uniswap с го?
Тыщамиллионов вопросов.
141 2082973
Гайз, для новичка перспективнее Go или все же Python?
142 2083044
>>082973
Насчёт петухона хз, но джунам в goвне не место.
143 2083128
>>083044
Я тоже так думаю, потому что и гайдов не нахожу для нулей. Пойду в питон или js
144 2083160
>>083128
А гайдов для сеньоров ты находишь? Перспективнее он блять ищет
145 2083344
>>083128

> гайдов не нахожу для нулей


Хуево ищешь
146 2083345
>>080560
Сделали как в питоне, норм.
147 2083731
Вкатился и выкатился из го пару лет назад с диким бугуртом. Теперь снова зовут на го и обещают большие для меня деньги. Стоит оно того?
148 2083737
>>083731
Чего бугуртил
149 2083750
>>083737
От того, что на го пытались писать развесистую бизнес логику, а не использовали его по назначению
150 2083840
>>083750
У говна нет и не может быть назначения.
151 2083853
>>083750
И что же это за назначение такое? Cli-утилиты и операторы для кибертетриса?
152 2083885
Мотаюсь от Го к Расту и обратно, оба нравятся, но хочу писать только на одном, не могу определиться. Моя цель хорошо освоить один язык и юзать его для повседневных задач. Раст осень ноавится, но сложный. Раст и Го вообще очень похожи, go fmt/rustc fmt, cargo install / go install и друг у дружка пиздят фичи.

Вопрос. Наступит ли момент, когда зорошо выучив Раст, я буду на нем задачи решать также быстро как на Го? Или псоле Раста всегда как после войны возвращаешься?
153 2083887
>>083885

> Раст осень ноавится, но сложный


нет.

> Раст и Го вообще очень похожи


нет.

> и друг у дружка пиздят фичи


нет.
8B8D3F39-C4E1-4914-B5C9-C946B146C2EF.jpeg60 Кб, 512x512
154 2083889
155 2083891
>>083887
На самый главный вопрос не ответил =[
156 2083893
>>083887
go get deprecates in 1.17 infavor of go install как думаешь почему? Потому что есть бодественный cargo install
157 2083895
>>083893
go get rekt
158 2083900
>>083853
Маленькая, но шустрая параша. Для себя кстати писал и консольные утилиты (например по поиску дубликатов боевых картинок)
159 2083911
>>083900
Зумер изобрел google search by image?
160 2084049
>>083911
Поиск дубликатов на своей пекарне, шизик.
161 2084059
>>084049
Сравниватель хешсум?
162 2084062
>>084059
Хоть один пиксель различается - и хеши разные?
163 2084064
>>084062
Да, но тогда давай свой критерий дубликатов картинок
164 2084078
>>083895
and erekt
165 2084079
https://www.youtube.com/watch?v=BWL4889RKhU&t=1130s

Ваши оправдания Гоферы?

миморастогосподин
166 2084094
>>084079

>самоподдув и маняфантазии растошизиков


>ждет оправданий

167 2084119
>>084079

> Oliver Gould



кто это и почему его мнение должно кого-то интересовать?

> Buoyant



какое вообще отношение сила архимеда имеет к разработке?
168 2084187
Допустим, хочу тянуть .m3u8-плейлист с твича прямой трансляции и вручную без streamlinkа чанки парсить через for/loop и сохранять на диск аппендить в файл. + возможность записи не 1-го стрима, а 2, 3 хоть 10 стримов одновременно.

Что выбрать лучше, Го или Раст для такой задачи и почему?
169 2084200
>>084187

vlc выбери, наркоман
170 2084922
>>084064
Можно приводить к размеру, скажем, 50х50 и сравнивать попиксильно. Больше 95% совпадения - считай одна и та же картинка. Похуй что сложность квадратичная, если тебе нужно запускать это раз в пол года
171 2084926
>>084187
Выбери что лучше знаешь, vlc/ffmpeg либу можно вызвать из чего угодно.
173 2084964
>>061078 (OP)

>var твояМамка ТвояМамаша


У вас мать экспортируемая
174 2084998
>>084961

нихуя не понял, поясни плз долбоебу
175 2085209
>>084079
Именно поэтому ты пришел в го тред? Просто признайся, что у тебя поджилки трясутся от того, что раст медленно умирает.
mem-weak.png29 Кб, 308x294
176 2085481
>>084998
Создатели ARM-архитектуры - сатанисты, вот пруф
177 2087018
>>084187

>+ возможность записи не 1-го стрима, а 2, 3 хоть 10 стримов одновременно


нахуя делать это в одном процессе? энивей, ебота с бесполезными фичами конечно же должна писаться на расте и не засирвать гошную экосферу.
178 2087025
И сюда >>2086918 →
179 2087055
>>087025
го в принципе подхватить несложно. но сходств с петоном особых нет, которые бы упростили жизнь, скорее различия.
180 2087218
>>087018
потому что юзабилити, не хочет конечный юзер писать баш-скрипт, а если он на виндовсе и у него нет wsl? программа не только качать будет, но и мониторить онлайн, при подрубке начинается запись и так прога висит 24\7 мониторит и авто-качает. ГОДНО!
cd38bd27b7c0b8f534816fc6b61386c5.jpg43 Кб, 1000x562
181 2087224
>>087218

курлык
182 2087715
>>061078 (OP)
Как в Go написать функцию, которая возвращает свой аргумент, но принимать она должна любые аргументы, в том числе функции?
183 2087721
>>087715
Не надо так делать.
184 2087731
>>087721
Тебя забыли спросить. Такая функция есть в математике, называется функция тождества или identity function. Если в языке нельзя ее реализовать, то его место на помойке. Без этой функции не построишь некоторые хороших абстракций.
185 2087739
>>087731

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


Ты всё правильно понял.
186 2087743
>>087731

тебе в загон с питонистами математик, блять
187 2087766
>>087731
Зачем так категорично, дай ему шанс...
188 2087797
>>084964

> твояМамка


> экспортируемая

189 2087807
>>087731
Разве не так делается?
https://play.golang.org/p/9WaYKM3wMTN
мимо ньюфаг
190 2087851
>>087715
Аргумент типа "...interface{}", возвращает тип interface{}. Вот тебе и функция, ебись с ней как хочешь.
191 2087857
>>087807
Работает вроде правильно, но слишком многословно. В голанг слаке показывали очень лаконичный пример без объявления структур и интерфейсов, только это было давно и ссылка не сохранилась.
192 2087874
>>087857
func ФУНКЦИЯ(АРГУМЕНТ interface{}) interface{} {
return АРГУМЕНТ
}
193 2087886
>>087851
Нахуй нам ваши дженерики, у нас есть interface{} и смекал очка
194 2087893
>>087886
И типобезопасность, ага.
195 2087896
>>087886

>смекал очка


Ну, генераторы от васянов есть, и на том спасибо.
196 2087928
>>087893
Типа безопасность
197 2087938
>>087874
Зачем там фигурные скобки?
198 2087965
>>087874
Там можно и без структур с интерфейсами сделать, я просто люблю типы описывать.
199 2088193
>>087797
Я про тип. А вариабля вообще объявлена на уровне функции, её и внутри пакета не видно.
200 2088221
>>087928
(((Типобезопасность)))
>>087938
Пустой иетерфейс. Логика в том, что пустой интерфейс не накладывает ограничений на реализацию, а значит, его реализуют вообще все типы. Это как void* ч крестиках или Object в джавашарпах.
201 2088805
это норм, что я юзаю го для gui приложух?
202 2088815
>>088805
Если ты это для себя делаешь, то хоть на пистоне пили
203 2088898
>>088815
спасиба сальдат, спасиба ветерань
204 2088927
>>088805
Почему именно го?
205 2088961
>>088927
ищу ченить новенькое, на c++ и лиспе заебло как и на остальном
image.png3 Кб, 269x94
206 2088962
Пацаны кто саблайм юзает с го, такая хуйня: почему то при написании case он сразу съезжает влево, какого хуя? Это именно с стандартным Go пакетом такая хуйня, если выбрать другой язык такого не будет, как фиксить то бля это же пиздец как бесит, а саблайм ван лав
207 2088964
>>088961
Попробуй rust.
208 2088966
>>088962
А бля ложная тревога, я долбаеб хотел компактным его сделать как на 2 скрине в 1 строчку чтоб умещалось, но го говорит хуй ну лана, буду юзать 1 вариант
209 2088967
>>088961
Что за либа то хоть? А то я попробовал javafx (да да мертвое говно) и ахуел на сколько все правильно, логично и реактивно в их экосистеме по сравнению с реактом и всем вебом. Жаль десктоп мертв.
210 2088968
>>088964
уже устанавливал, но чет не сложилось у меня там и я хуй забил + с го как то все проще, тем более раньше его юзал, крч попробую пока на нем посидеть
211 2088977
>>088967
а хуй знает, все еще выбираю из awesome списка. нашел пиздец простую для ui - fyne, для игор можно sdl или оч простой prototype. а так я на с++ winapi в основном юзал, qt, opengl и тд
212 2089003
Решил посмотреть код драйвера для постреса
https://github.com/lib/pq
Что тут за хуйня, где структуризация проекта, почему все в одной папке, тесты, документация, реадми, травис, вы ебанулись там?
213 2089006
>>089003
Серьезные дяди на сишке так же пишут, структура это у всяких пхпшников и джавистов
214 2089011
>>089006
Сишку деды дидов пилили, там этот архаизм можно понять, а тут что за говно? Чем им не угодило разбиение программы по модулям?
215 2089017
>>089011
То что в пщ модули сделаны хуже, чем в сишке.
216 2089024
>>089017
У Пайка нет объяснение? Он же так любит объяснять почему говно сделал.
217 2089049
Сап, тупой вопрос от залётыша: стоит ли юзать IDE(если да, то какой) для работы с Go? Или можно обойтись терминалом+блокнотом?
218 2089050
>>089049
Да похуй так то, я саблайм юзаю ибо быстро открывается, там настроил себе клавишу для билда и запуска программмы и збс че еще то надо
219 2089054
>>089049
VSCode
220 2089055
>>061078 (OP)
Пацаны, как быстро два глаза сделать без ебучего ко?
А? А? А? Мааамууу ебал. А? А? А?
да я гений нахуй столько отсылок сделать фух ну все на сегодня хватит, лучше уже не будет расходимся
221 2089058
>>089055
таблетки
222 2089060
>>089058
Какие
223 2089557
>>089060
Феназепам.
224 2089619
>>089557
Хуйня какая то
image.png20 Кб, 420x451
225 2089622
>>061078 (OP)

> - В обязательном порядке проходим Go Tour: https://tour.golang.org/welcome/1 (есть на Русском)


>(есть на Русском)


че за пиздеж? нет там нихуя на русском, максимум на узбекском бля
226 2089716
>>089622
Учи на узбекском.
227 2089719
>>089716
так ОП пиздабол палучаица
228 2089726
>>089622
И в чём проблема? Берешь читаешь в ориге и в ус не дуешь
229 2089730
>>089726
проблема в том, что ОП пиздабол палучаица
230 2089732
>>089730
Вызывай его на качели.
231 2089733
>>089730
А не похуй ли? Его дело -- сделать тред. Он как лентач -- инфу дал, а проверка на правдивость -- наше дело
232 2089741
>>089732
туда, сюда, обратно, тебе и мне приятно
233 2089742
>>089733
тогда я герой, раз проверил на правдивость. медаль мне нахой
234 2089747
>>089742
К медали прилагается обязанность пилить следующий перекат.
235 2089761
>>089747
нихуя прикол
236 2089770
>>089730
Раньше был, но на сайте он не работал, только локально.
Попробуй тоже локально запустить у меня не получилось, в последней версии go get golang.org/x/tour нихуя не работает
В любом случае ты не много потерял, т.к. map'у перевести как "карту" тебе и гугель тренслейтор может.
237 2089818
>>089770
Хуй знает пацаны зачем вам эти гайды, я на википедию 2 раза зашел, там все в кратце описывается и мне этого хватило лол.
238 2089848
>>089818
Ну, тур действительно хорош. Он превращает любого человека, который хоть как-то, хоть на чем-то умеет кодить (включая всяких васянов с вордпреса, петровичей с башем и так далее) в полноценных гоферов, которые могут прочитать практически любой код, благо конструкций языка не так и много, и они, в отличии от раста легко гуглятся, т.к. это ключевые слова, а не спецсимволы.
239 2089878
>>089818
Есть ещё learnxinyminutes.
240 2090005
>>089848

>они, в отличии от раста легко гуглятся, т.к. это ключевые слова, а не спецсимволы


Если бы это было действительно важно мы не жили бы в мире победившего си, и писали бы везде BEGIN; вместо {
241 2090007
>>090005
Учитывая, что в Go эволюция вспять пошла, не удивительны были бы и BEGIN END. Будь воля Пайка, он бы так и сделал, но это бы отпугнуло потенциальных пользователей языка.
242 2090136
>>090005
Ну не нужно совсем охуевать, нормально же общались.
243 2090144
Стоит ли смотреть этого хуесоса?

https://www.youtube.com/watch?v=mBLpAx06l44&ab_channel=ГошаДударь
244 2090216
>>089878
пасиб
245 2090898
>>090144
Не удивлюсь, если он переписывает код со второго монитора, и это его первый код на го в принципе
Только названия функций меняет, даже не зная, что снейк кейс не принятно использовать даже в константах
246 2090942
>>090898
Есть адекватные видосы где реализуют такие простые вещи?
247 2090947
>>090144
Слушаю фоном на 1.75 скорости, весьма простенько там всё, но я не знаю толком го, чтобы оценить, что он несет. Хочется блевать от слова прописывать по сто штук в минуту.
В середине видоса начался sql, этот дебич советует васянские сборочки лампа и пхпмайадмин для этого, лол.
Продолжаю наблюдения.
248 2090956
>>090947

>В середине видоса начался sql, этот дебич советует васянские сборочки лампа и пхпмайадмин для этого, лол.


Ох какой стыд. Явно пхпшник, гоните его, насмехайтесь над ним
Хотя для полного нуля в кодинге может и нормально
249 2090961
Как у го с перформансом? Могу делать эффективную числодробилку как на сишке или максимально оптимизированны только спавн миллионов горутин, либы для взаимодействия с сеткой и перекладывания жсонов?
250 2090967
>>090961

>Как у го с перформансом?


Хорошо, для этого он и создавался.

>Могу делать эффективную числодробилку как на сишке


Да, вполне. Есть инлайнинг, есть escape analysis, т.е. часть памяти алоцируется на стеке, что на много дешевле чем в хипе. Прям как в сишке не будет, т.к. GC всё еще есть, да и вызовы функций обходятся немного дороже, чем в си за счет того, что планировщику горутин нужно делать свою работу на каждом(?) вызове. Но это всё экономия на спичках, ты не почувствуешь разницу, скорее всего.

>или максимально оптимизированны только спавн миллионов горутин


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

> либы для взаимодействия с сеткой


Низкоуровневый нетворк довольно хорошо оптимизирован, да. Но работы всё еще ведутся. Сейчас идут разговоры о том, что надо изменить структуру IP адреса, т.к. старая использует слайс и это слишком дорого. Да и не по SOLID'у.
Но net/http плохо оптимизирован, его используют либо в маленьких проектах, где сервер это не основная задача процесса и когда важно сохранить маленький размер бинаря, либо просто для примера, как накидать что-то по быстрому.

> перекладывания жсонов


Стандартный пакет тоже не очень оптимальный, но лично я почти всегда использую именно его, т.к. не работаю в YOBA хайлоаде, где каждую алокацию считают.
251 2090998
Пацаны поясните, я нуб: имеет ли смысл юзать 2 горутины, типа как 2 потока - 1 для отрисовки, 2 для цикла всех вычислений, т.е.:
go draw()
go update()
будет ли теперь все намного шустрее, чем если бы я просто вызывал их без go?
252 2090999
>>090967

> для этого он и создавался.


> перечисляет одни минусы и кастрации


охлол
253 2091004
>>090998
Корутина это не поток и не про параллельность, две корутины могут висеть на одном потоке, но в одно время на потоке будет работать только одна. Поэтому когда корутина делает долгие вычисления и не прерывается, другие корутины привязанные к этому потоку будут простаивать. Преимущество корутин видно только при сотнях тысяч блокирующих операциях, для time consuming операций они не подходят
254 2091059
>>091004
Разве ГОвяный планировщик не оптимизирует нагрузку, что бы максимально возможное количество корутин выполнялось одновременно распределяясь на максимальное количество тредов/ядер? А то это

>Поэтому когда корутина делает долгие вычисления и не прерывается, другие корутины привязанные к этому потоку будут простаивать.


очень напоминает кооперативную многозадачность пистона того же и его корутин.
255 2091134
>>091059
Я особо не углублялся именно в го, но когда последний раз пробовал долгие вычисления перевести на корутины, профитов не было. Тут конечно дохуя факторов. У меня были общие изменяемые данные и пришлось юзать мьютексы, потом перевел на каналы, менял количество корутин, но было либо так же либо хуже.
Может именно мой случай, того анона не отговаривать попробовать самому.

> очень напоминает кооперативную многозадачность пистона того же и его корутин.


Они наверно везде такие и есть. В шарпе и котлине это тоже самое. Пул потоков, корутины (по сути задачи) и диспатчер, который переключает условный контекст корутин, когда прошлая задача прервалась/кончилась.
256 2091152
>>090999
Хейтер, плиз.
Человек задал вопрос, я на него ответил, что если хочешь выжать максимум производительности - нужно изъебываться, использовать нестандартные реализации для вещей, которые есть в стандартной библиотеке, писать оптимальный код и т.д. Я подошел к вопросу как инженегр, ответил про подводные камни. Я же не маркетолог, чтобы только нахваливать продукт.
257 2091219
>>090998
Сложно сказать в общем случае, такие вещи нужно смотреть предметно. С одной стороны ты таким образом можешь задействовать 2 CPU, что может быть полезно при большем количестве вычислений.
С другой - ты тратишь дополнительное время на синхронизацию (ты же отрисовываешь на основании результата вычислений, не так ли?), по этому в ряде случаев это может работать хуже, чем просто в одной горутине обрабатывать и то и другое.

Ты там ebiten'ю балуешься? Выводи TPS, попробуй оба подхода. Вангую ты не почувствуешь разницы для своих задач, только код зря усложнишь.

>очень напоминает кооперативную многозадачность пистона того же и его корутин.


Не совсем так. В Питоне GIL, что означает, что фактически у тебя только один ос тред работает. А в го m:n планировщик.
258 2091277
>>091219
>>091004
Спасибо аноны, буду тестить, добра вам
259 2091344
Как часто вы юзаете := для переменных? Я правильно понимаю, что лучше всего, вместо := использовать var x int ради оптимизации? Или там разница особо несущественная и можно этим пренебречь?
260 2091368
>>091344
Тип выводится во время компиляции, в рантайме разницы нет
image.jpg16 Кб, 306x306
261 2091430
>>091004

>Корутина это не про параллельность


>У меня были общие изменяемые данные и пришлось юзать мьютексы


Ну не используй общие изменяемые данные и мьютексы и корутины будут про параллельность
Как будто так обдрачиваемый за свою параллельность хаскелль принципиально отличается дизайном планировщика от других планировщиков
262 2091965
>>091219
Как Ebiten билдить для других пк? go build -ldflags -H=windowsgui робит только на собственном пк, на других тупо не запускается.
263 2091976
>>091965
Динамическая линковка?
264 2091980
>>091976
А хуй знает как, вчера гуглил про всю эту хуйню как на другие пк билдить и чето нихуя
265 2092057
>>091965
Вы ещё не поняли, что как раз из-за такой хуйни пщ хуёво подходит для других задач кроме бэкенда? Нужен десктоп - берите кресты или шарп.
266 2092064
>>092057
Идеальный вариант это фоновый процесс и вебморда, ящитаю. И разрабатывать заебись, и кроссплатформенно.
image.png47 Кб, 1365x733
267 2092069
>>092057
Хуй знает, либа для удобной отрисовки в консоль на других пк робит, а gui всякие чет не особо, много ебли
268 2092076
>>092064
и какие либы для этого юзать?
269 2092154
>>092069
Язык создавался как прослойка между Раджешем и гугловскими сервисами. Какая нахуй графика, мань.
270 2092173
>>092154
ну и че, лисп тоже создавался хуй знает для чего, а в итоге на нем gui и игоры довольно легко пилить если ты не долбаеб, а компиляция совсем уж простейшая
271 2092191
>>092076
Те же, что и для веба, очевидно.
272 2092276
>>092057

Вы ещё не поняли, что как раз из-за такой хуйни shared library это пержиток прошлого и должны отмереть во имя кроссплатформенности?
273 2092653
>>091344

>Я правильно понимаю, что лучше всего, вместо := использовать var x int ради оптимизации?



Ну, оптимизация у тебя будет только если заменишь := на каждой итерации цикла на объявление переменной вне цикла (не важно, через := или var), и затем её будешь переиспользовать. Но это экономия на спичках, и увеличение области видимости переменной, что всегда плохо
274 2092656
>>091965
Не пробовал, я под wasm собираю.

>Is it possible to cross-compile an application with Ebiten?



> Yes and no. If the target is Windows or Wasm, yes. Otherwise, it is almost impossible to cross-compile due to Cgo unfortunately. See also Go issue #18296.



Но судя по их FAQу скомпилить под винду можно (из под линукса/мака)
Только не забудь компиляторы скачать и настроить.
275 2092777
>>061078 (OP)
Гофаны, посоветуйте годный query builder/ORM для SQLite. В идеале с кодогенерацией миграций и бойлерплейта из моделей. Делаю домашний проект, а голый SQL с васянской обвязкой вокруг я уже работе слишком устал писать.
276 2092781
>>092656
Пиздос, вот в этом то и загвоздка, у всех сука библиотек гайд как скомпилировать под винду из линукса, а как нахуй из винды для винды хуй его знает блять пиздец просто охуеть в рот ебал, пизда
277 2092782
>>092781
Так винда это прошивка для игор
278 2092822
>>092782
Двачую, кодить под виндой - зашквар.
279 2092847
>>092822
Ну охуеть теперь
280 2092849
>>092781
wsl, cygwin
281 2092855
>>092822
Гофноедам не привыкать
image.png29 Кб, 618x426
282 2092908
>>092656
Короче ебать нашел спасение в Windows Application Library Kit, там manifest только с exe надо тащить и заебись, на других пк все запускается, ахуенно, а я уж думал не существует адекватных либ.
283 2092952
284 2092967
>>092952
Закрой канал results после завершения всех горутин, иначе range заблокируется.
285 2092990
>>092777

- https://github.com/Masterminds/squirrel
- https://gorm.io

еще тут можешь по-выбирать сорты говна https://github.com/avelino/awesome-go#orm
286 2093072
>>092967
Спасибо! Был не в курсе, что из закрытого канала можно читать
287 2093179
>>092781

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


Так, ёбана, пожди. Если что-то собирается и работает на твоей винде и не работает на другой винде - значит скорее всего дело в зависимостях. Ты кроме го что-то устанавливал для разработки? Я в виндусятине не понимаю вообще ничего, но тут, вроде, не в го дело.
288 2093181
>>093072
Вот именно по этому нужно проходить тур.
289 2093213
>>093179
В том то и дело, что я в рот ебал всякие cygwin, wsl, mingw64 устанавливать ради ебаной компиляции, я вон уже нашел либу для gui и там ниче из этого не надо, тупа go build и заебись, так и должно нахуй быть, без всякой лишней ебли.
290 2093214
>>093181
Да я по нему пронесся галопом по Европам. Сейчас повторно прохожу и конспект делаю
291 2093248
>>089770
Помню, читал что-то питонячье так там set был переведен как "набор", "карты" тоже присутствовали. А после того, как столкнулся с переводом слова state как государство, блядь, перестал читать доки на великом и могучем
292 2094512
Что учить кроме го? Сейчас попал на первую работу на Го(работаю месяц), больше ничего не знаю на должном уровне. Смотрю на php т.к. пока искал работу видел очень много вакансий типа php/go. Например через год-два эти вакансии пропадут? Перекатят ли за это время весь php легаси на го?
293 2094517
Как понять конкарренси? Кто такой этот ваш контекст? Сложно сложно нихуя не понятно
294 2094579
>>094512
Так спроси блять на работе что тебе там учить кроме го. Ахуеть просто можно
295 2094721
>>094579
Тут одни бумеры-говнокодеры, я хочу нормальным человеком быть
296 2095033
>>094721
Если ты несмышленое малолетнее быдло ньюфажек, то твой естественный выбор - петухон или жопаскрип.
297 2095138
>>094721
Почти везде нужен sql
1626003389066.png1,2 Мб, 1292x1474
298 2095178
>>094517
МакДональдс работает конкаррентно например.

https://fastapi.tiangolo.com/async/#concurrent-burgers вот на примере "ты пошёл с тяночкой в бургерную", не обращай внимания что это дока к либо от питона, просто там автор ахуительно объяснил почти за весь async-мир.
299 2095180
>>094517
Никак. Пиздуй на завод.
300 2095183
>>095180
Для завода специальное образование нужно, а в пщ можно хоть с 9 классами вкатываться.
301 2095185
>>095180
я Junior Golang Developer, попрошу тут
302 2095188
>>095033
Ну я студентота старших курсов. Был C/C++ в вузике(но оч хуёво знаю)
303 2095190
>>095188
Допинывай C++ и вкатывайся, а про goвно забудь.
304 2095192
>>095190
на го зарплата больше
305 2095733
Блять, на чем можно писать кроссплатформ exe go + html + css? Везде нахуй какие то проблемы! Webview не находит dll! muo блять 64 бита! Gowd запускает только при nw . а как все упаковать хуй его знает вместе с го ехешником, короче я расстроился это пизда.
306 2095736
https://github.com/OpenDiablo2/OpenDiablo2
какие еще годные игры есть на go?
307 2095740
>>095736
Нихуясе, интересно какую либу юзают
image.png1 Кб, 646x15
309 2095784
>>095736
Чет многовато жрет и вроде как течет помаленьку.
310 2095902
>>095733
go embed не пробовал ?
311 2095985
>>095733
Тебя даже вчерашний шторм не разбудил https://blog.jetbrains.com/go/2021/06/09/how-to-use-go-embed-in-go-1-16/
312 2096108
>>095740
Как написал >>095772, но они планируют переезжать на https://github.com/OpenDiablo2/AbyssEngine который использует go-sdl2
>>095784
Оно еще и рейсит как тварь
>>095736
https://daigostudio.com/bearsrestaurant/en/ и по сути всё, го не лучший вариант для создания игр, разве что по фану или как PoC
313 2096219
>>095185
Что на собесе спрашивали, анон? Какие типичные задачи на работе?
314 2096237
>>096108
Для ААА-игр - не лучший, так как соответствующих движков нет, а для 2D-игр - лучший.
315 2096244
>>096237

>лучший


По каким критериям судишь? Я вот смотрю, что примеров готовых проектов почти нет, стаей на эту тему не то чтобы много, видосов на ютубе вроде и много, но в сравнении с плюсами - считай что нет
316 2096298
>>095185
Пиздец, как ты на работу устроился-то с такими знаниями?
317 2096315
java vs go
что выбрать?
вроде на первой еще куча энтепрайза пишется
на го только озон видел и кучу ноунейм говнеца
но озон в то же время на жабе стартует новые проекты
вобщем че выбрать для вката в бекенд?
318 2096370
>>094517

> Как понять конкарренси?


Это не совсем правильный вопрос. Правильный вопрос: "как понять примитивы синхронизации". Хотя и это далеко не всем надо, на практике в большинстве случаев тебе с головой хватит нашего аналога Promise.all https://pkg.go.dev/golang.org/x/sync/errgroup#WithContext

> Кто такой этот ваш контекст?


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

>>096315

>java vs go что выбрать?


Бери джабу, если от нее не воротит. Я фанбой го и всё на нем делаю, но объективно кроме кукроача, докера и кубов в нем нет крупных экосистем. А на джаве целый мир кровавого ентерпрайза. А чтобы писать без фрустраций на го нужно понимать для каких целей язык создавался и какие проблемы должен решать. Да и вакансий на порядок, а может даже на два, меньше чем в жабу
319 2096411
>>095985
>>095902
хуй знает пока не оч догоняю че go embed делает и как он поможет создать стандалоне ехе с gui
320 2096453
>>096411
Поможет запихнуть в бинарь ассеты.
Но то, что ты ищешь называется "статическая линковка" и далеко не все go враперы над C/C++ умеют в это. А от мозгоебли с кросс-компиляцией так вообще охуеть можно.
321 2096497
Вопрос к господам, которые в mail.ru проходили собеседование. Там нормальные вопросы? Или надо вращать деревья и сортировать массивы?
322 2096516
>>095736
Охуеть, нормальная структура проекта, еще бы тесты в отдельную папку вынести.
Гоферы, почему половина awesome проектов не имеют структуры как таковой? Я уже выше скидывал подобное https://github.com/lib/pq, у вас что, подобное плохим тоном не считается?
323 2096572
>>096315
Я бы жабу выбрал. С последующим переползанием в скотлин
324 2096716
>>096315
Го от слова говно.
325 2096825
Бля, ананасы, тут кто-нибудь использует го на работе? Или здесь одни вкатуны-перекатуны? Не поленитесь и поделитесь примерами тасок, пожалуйста!
326 2096877
>>096825
Вот распространенная таска: переписать с говна на раст
327 2096886
>>096370

>фанбой Го


Фанбой и ЧамЧам
328 2096936
>>096825
пришел запрос на хуйню @ надо дернуть пяток-другой сервисов @ скомпоновать и отдать результат
329 2097088
Как писать бэкенд Http2+TLS на этом вашем Go? Вот чтобы так же просто как Express на ноде. Какие библиотеки нужны?
330 2097118
>>097088
Никаких.
331 2097165
>>097088
Как на експресе не получится. Будет ебля с ждейсонами, чтобы обработать все 100500 случаев типа "а если клиент строку вместо числа педераст".
332 2097167
>>096877
Жил на свете педераст
Переписывал на раст
Вместо денег хуй сосал
Лучше бы на го писал
333 2097191
>>097165
А разве на го нет каких нибудь либ, которые проверят соответствует ли жсон определенной структуре и выведет все ошибки каким нибудь методом .Validate ?
334 2097721
>>097165
Мне HTML странички гененерировать динамически, но и resful тоже. Интерпретируемые языки пошли нахуй, сервер на малине, меньше оверхеда - больше клиентов, меньше падений.

Зачем энтот ваш Go тогда нужен, вроде написано, "for building network applications" и лямбды с асинками есть. Это троллинг? Где готовые фреймворки? Не изобретать же мне велосипед начиная с сырых сокетов.

Мне роуты развести надо, подключить дб, шаблонизатор и кеш страниц, всё.
Чё мне делать теперь.

аниме_девочка_обнимает_колени_и_плачет.jpg
335 2097852
>>097721
Ты же ленивый, даже загуглить не можешь, может нахуй тебе этот веб-макакинг?

>роуты развести надо


gorilla mux

>подключить дб


gorm

>шаблонизатор


go template / sprig

>кеш страниц


Без проблем самому запилить, но уверен уже есть готовое решения.
336 2098192
Ну как так то?
337 2098200
>>098192
А что тебя удивляет? Кто больше срёт в память — тот и прогирывает.
338 2098204
>>098200
Ну почему же с самого начала, в std, нельзя сделать нормально?
339 2098531
>>097852
Всем надо решать одни и те же задачи, и тулинг один и тот же. Странно, что до сих пор не высрали аналог джанги или спринга, ведь фреймворки оказались не так уж и не нужны.
340 2098688
>>098531

>до сих пор не высрали аналог джанги или спринга


В мире го так просто не принято. Это ведь замена С/C++ с синтаксическими фичами, легковесными потоками и сборщиком мусора, который умеет без виртуальной машины работать.
150406092744.jpg30 Кб, 624x351
341 2098697

> Это ведь замена С/C++

342 2098822
>>098204
Ну ты сначала этот jsoniter попробуй потыкать, и поймёшь.
В std парсер делался максимально удобным — хуяк структурка хуяк жсон.

А эти либы — куча ебли и плясок с бубном ради хуй пойми чего, JSON — это про удобство, а не перформанс. Когда нужен перформанс — берут бинарные форматы, и гоняют данные в них. В них и сериализация/десериализация быстрее самого быстрого парсера жсона, и весят они меньше.
343 2098874
>>098822

>Когда нужен перформанс — берут бинарные форматы


Это не всегда возможно, потому что твоя система может интегрироваться с десятком других, которые понимают только жсон и менять формат не собираются. Вот тут-то и нужны быстрые парсеры.
А jsoniter - годнота, он совместим со стандартной либой, поэтому пользоваться не сложнее.
344 2099012
>>098531

>Странно, что до сих пор не высрали аналог джанги или спринга


На ГОвне писать БОЛЬНО, даже после жабы, чувствуешь, как тебя ломает архаичность языка
345 2099023
>>098531
На питоне тоже нет полноценного асинхронного фреймворка, где все из коробки идет.
346 2099036
>>098697
А надо было просто в vala корутины завезти, получился бы "тайпскрипт" для сишечки
347 2099038
>>099036

> vala


Который интересен только поехавшим gtk-шизикам.
349 2099063
>>099038
Сам ты шизик. Вoт прикручу к вале веб фремворк на libuv и разрекламирую у хипстеров на конференциях. Ты еще рыдать будешь, что раньше на валюше не писал!
350 2099065
>>099063
Удачи, няша :3
351 2099829
>>099046
Опять же это фреймворк уровня фласка, роутер + валидация данных.
А все потому что для серьезных проектов не нужен фреймворк уровня джанги или спринга, это пережиток прошлого, такие решения всегда будут медленней чем сампописная обвязка вокруг микрофреймворка.
MVP можно сделать на джанге, а потом взять го + асинхронный питон и запилить микросервисы. Сейчас на таком проекте работаю.
352 2099842
>>099829
Смотря что такое "серьёзный проект", если это махровый хайлоад, то может и быстрее. В остальных случаях это будет тупо велосипедостроение, в результате получится медленнее и ненадёжнее, чем фреймворки, которые так любят критиковать в этом треде.
353 2100027
Что????

>Для начала работы мы предоставляем деньги на счете в сумме 12 500 РУБ


https://azure.microsoft.com/ru-ru/develop/go/
354 2100029
>>100027
Ты не можешь их перевести в стим чтобы купить киберпук.
355 2100038
>>099842

>В остальных случаях это будет тупо велосипедостроение, в результате получится медленнее и ненадёжнее, чем фреймворки, которые так любят критиковать в этом треде.


Нифига, в той же джанге нет никакого рокетсаенса, у нас например есть самописная асинхронная джанга из которой мы выкинули ненужные нам фичи, все работает очень стабильно. Так же мы выкинули celery из за лютого оверхеда и написали свое решение, а потом дописали го реализацию. Я хз про какие велосипеды ты говоришь, наоборот код стал максимально простым без лишней магии.
356 2100052
>>100029
А для чего и что за бабки? Я так хочу ССД купить на мой старый ноут...
357 2100058
>>100052
Зарегистрируешься и увидишь, что сервера/сервисы дают не бесплатно, а за определённую стоимость, которую списывают с кошелька, на котором изначально стартовые 12500. Так у многих хостеров, есть стартовая сумма, которую можно потратить в тестовых целях, а дальше только пополнять кошелёк реальным деньгами.
И не найдейся потратить их на что-то ещё, это как в той шутке про вывод денег из GTA
358 2100060
>>100058

>в той шутке про вывод денег из GTA


какой шутке
360 2100555
>>061078 (OP)
Гофаны, кто-то знает имплементацию http.CookieJar'а, которую можно нормально серилизовать? Ебать cookiejar.Jar рефлексией нет ни малейшего желания.
361 2100567
Ананасы, можно ли в го с помощью рефлексии или как-нибудь иначе получать/изменять значение поля структуры, если название этого поля хранится в переменной и может меняться?
362 2100572
>>100555
store jar: decode: gob: type cookiejar.Jar has no exported fields
363 2100575
>>100567
Ты хуйню какую-то делаешь, используй мапу или напиши свитч/кейс.
Но если хочешь страдать и говнокодить, говнокодить и страдать - используй reflect.Value.FieldByName()
image.png229 Кб, 460x460
364 2100580
>>099046
Человек с такім ебалом должен пісать на жопаскріпе
365 2100780
Что можно сделать на голанг новичку, чтобы можно было показать работодателю как пример своего кода?
366 2100784
>>100780
То же, что и в любом другом языке - имиджборду, форум, интернет-магазин, веб-кравлер и так далее.
367 2100913
Сап. Как в го камунити относятся к вкатунам из других языков с опытом работы в вебе? Вот я повидло 3 года пиашпи, насколько мне будет легко вкатиться в мидлопозицию если подрочу петпроджекты? Я и так постоянно их дрочу, но на пиашпи))
368 2101171
>>100913
Ты будешь удивлен, но в го никто(почти) не вкатывается первым языком программирования без опыта в вебе)))
369 2101451
>>100913

>Как в го камунити относятся к вкатунам из других языков с опытом работы в вебе?


Нейтрально/положительно

> Вот я повидло 3 года пиашпи


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

> если подрочу петпроджекты


Попробуй что-то сделать, где ты сможешь активно использовать каналы, контекст и прочую синхронизацию, например в чатике на вебсокетах.
370 2102296
Почему все орм для го такая параша? Принято ли вообще ими пользоваться или нужно писать все руками как диды?
371 2102392
>>102296
Не принято, нужно писать как диды.
372 2102454
Чем дженерики не угодили-то? Слишком сложна для вкатунов?
373 2102492
>>102454
Угодили, впилят.
374 2102516
>>102454
Времени на проектировку языка не хватило. Всё таки одна неделя это мало.
375 2102662
>>102392
Ну и ладно, я сам дед
376 2102936
>>102516
Бог создал землю за 7 дней, а мистер Пайк не смог уложиться в такой широкий срок
377 2102950
>>102936
Сравнил бога с Пайком.
378 2102960
>>102936

>Бог создал землю за 7 дней,


Учим матчасть!
379 2103017
>>102516
Откуда информация про неделю? Или это необоснованный вскукорек?
380 2103019
>>102296
А как ты без дженериков сделаешь нормальный ORM? Либо кодген, либо ебись в пустые интерфейсы
381 2103020
>>103019
В php нет дженериков. Но там есть доктрина. Тiлько не пизди что это плохая ORM.
382 2103027
>>103020
А ещё в пхп есть динамическая типизация.
383 2103036
>>103019
Есть третий вариант - забить хуй на го. Но не могу, что-то притягательное есть в этом минимализме
384 2103052
Как же хочется динамическую типизацию, пиздец просто
385 2103055
Вас не бесит эта ограниченность всего в ГО? После современных плюсов как будто посадили с деревянными кубиками играть.
386 2103193
>>103052
Уебывай в питон или жабаскрипт
387 2103252
>>103052
Так в го и так ведь утиная типизация, когда с интерфейсами работаешь
388 2103428
>>103052
G R O O V Y
image.png357 Кб, 640x441
389 2103438
>>103055
Технология бесит какая-то - не используешь ее просто
C:programFilesInternet Exploreriexplore.exe.jpeg11 Кб, 225x225
390 2103519
Клоуны, что у вас за система импортов, это типа такая шутка?
391 2103530
>>103519
Го вообще шутники проектировали.
15589644149550.png404 Кб, 1300x1300
392 2103735
Гофаны, если использование ОРМ считается плохим тоном, то как правильно организовать работу с БД? Хранить ли методы получения и обновления данных в одном файле с моделью или делать какое-то подобие репозитория? Где выполнять соединение с базой? Как быть с миграциями?
393 2103760
>>103735

>пик


лол
394 2103903
>>103735
Каждый дрочет как сам хочет, единого стандарта нет. Я репозитории делаю
395 2103969
>>103735

>Как быть с миграциями?


Смотря, что ты понимаешь под этим словом. У меня просто в отдельном месте лежит sql файл, в котором прописано все create'ы и insert'ы, через него и делаю миграцию. Советую тебе посмотреть реализацию готовых приложений, там все ультра-понятно с чистейшей архитектурой.
396 2104009
>>103969

>Смотря, что ты понимаешь под этим словом


Гошники не знают, что такое миграции? Пиздец каменный век

>прописано все create'ы и insert'ы


А если надо будет откатить?
397 2104028
>>104009
Пишутся 2 файла up_001.sql и down_001.sql и так далее.
398 2104040
>>103052
Неа, не хочется, после Раста не хочется. Ты знашеь что в Расте где-то около 5-6 разных стрингов? String, &str, Strings::from, PathBuf и to_string() и т.д. Сущий ад, как же заёбывает конвертировать их туда-сюда.
399 2104044
>>103519
После Питона очень даже кайфово.
image.png235 Кб, 640x640
400 2104049
Блядь, вот зачем дженерики добавляют? Зачем они? Есть же interface{}, так ещё и синтаксис засоряется в виде [] квадратных скобках. Таким темпом в Го коде будет каша как в Расте.

Какие задачи решает T[any T] которые не может решить ( a...interface{}) ?
401 2104054
>>104009

>А если надо будет откатить?


Он спросил как делать миграцию, механизм сохранения, отката миграций, етц, можно за один вечер навелосипедить, либо взять уже готовое решение. golang-migrate
402 2104055
>>104040
В го ты тоже можешь изъебнутся с билдерами, буферами, через unsafe.Pointer достать StringHeader и за 0 алокаций конвертировать его в слайс и так далее.
403 2104089
>>104049
А типобизопасность вместо ошибок в рантайме у твоих пустых интерфейсов тоже есть? Если нет, зачем вообще писать на статически типизированном языке?
404 2104230
Какие знания ожидаются от типичного мидла на го?
406 2104967
300к-секи, купите пдфку https://www.practical-go-lessons.com/
Для вас это должно быть раз плюнуть, покажите состоятельность.
Заодно можно взять принт и показывать бабе Сраке.
407 2104976
>>104967
Зачем нужна пдфка, если все и так доступно онлайн? Или у тебя в глуши интернет по часам?
изображение.png44 Кб, 669x490
408 2105329
зондов в говно напихали
16104081339580.png8 Кб, 215x234
409 2105634
>>103735
В модели храни только интерфейс репозитория, а саму реализацию сторера со всеми селектами/инсертами с миграциями и настройкой конфигов БД в отдельном пакете типа store разумеется все на чистом SQL, goway все дела. Заодно потом добавишь нормальные моки репы для тестов модели, используя этот же интерфейс.
Адрес БД и прочие параметры передавай в сервис через env/yaml/toml, затем это дело считывай в main-горутине, из нее же подключайся к БД и накатывай миграции, после чего инициализируй и раскидывай свои стореры по моделям только не наплоди инстансов на каждый воркер, по одному стореру на таблицу (ну или 2-3 связанных) через синглтон!.
Для самих миграций посмотри https://github.com/rubenv/sql-migrate
410 2105859
>>105634

>В модели храни только интерфейс репозитория


Ты там active record делаешь что-ли? Я просто к DDD/hexagonal architecture привык, там модели вообще ничего не импортируют, наоборот, вместо это все остальные слои импортируют модели
411 2105939
У кого-нибудь получилось с нуля без бэкграунда вкатиться в го?
16185603224300.jpg12 Кб, 500x274
412 2106051
>>105859

>наоборот, вместо это все остальные слои импортируют модели


Да, все так, я просто не очень корректно выразился. Сигнатуры функций репозитория описываются именно в модели вместе со всеми интерфейсами (мы обычно их сразу после интерфейсов самой модели кладем, чтобы далеко не ходить), с которыми модель и будет работать вместо прямого импорта сторера.
А стораж уже импортирует эту модель и повторяет сигнатуры у себя, можно даже использовать что-то вида статик-чека, чтобы проверять модель на адекватность и не обосраться в рантайме:
var _ model.Repo = (*Storage)(nil)
2dbb9970-db9c-4ca0-85fa-0a74b3b6240a.jfif136 Кб, 1280x1280
413 2106087
>>105939
Если ты студент старших курсов, то вкатывайся через стажировки озона/мейла/вайлдберриз и т.д. У меня коллега так стал гофером через одну из этих компаний, миновав все остальные языки по пути к нормальному миддлу (но SQL, HTTP, алгоритмы, паттерны и прочие используемый в бэке-технологии надо разумеется знать). Главное, потом вечным жидом джуном не стать, как чел на пикче.
414 2106095
>>106087

>Если ты студент старших курсов


Эх нет, я червь-вкатыш
15292291912960.jpg124 Кб, 1280x959
415 2106611
>>105634
>>106051
Спасибо за такой развернутый ответ, анон! Многое прояснилось
416 2106738
>>106087

>стажировки озона/мейла/вайлдберриз


Говорят там алгоритмами попускают хуже чем в яндексе
417 2107039
>>106087
Тоже где-то на хабре читал про ебанутые собесы в этих парашах.

Алсо, пик-пиздеж, или реально есть в природе такой еблан?
418 2107057
>>107039
Просто джуном не надо начинать в больших фирмах, где на метрики дрочат и чуть что за дверь выставляют. Я отработал полтора года в мелкофирме, где этим не заморачивались и с комфортной скоростью дообучался а потом перекотился от них на мидла в другую фирму
419 2107231
>>106095
тоже вкатыш. и чо нам без вариантов просто пройти на хуй?
420 2107267
>>106087
Двачу совет, сам сейчас занимаюсь веду стажировку в одной известной крупной компании, готовы брать вообще всех с попытом других языков и желанием изучить го, но да, требуем понимания

> SQL, HTTP, алгоритмы, паттерны и прочие используемый в бэке-технологии


Задавайте вопросы, если интересно, что могу - расскажу
421 2107270
>>106051

> не обосраться в рантайме


Каким образом? У вас там какое-то хитровыебаное DI через пустые интерфейсы?

> var _ model.Repo = (*Storage)(nil)


Обычно такой код пишут чтобы ошибка компилятора была попонятнее и поближе к имплеминтации, а не к месту использования.
422 2107271
>>107267
Что подразумевается под "пониманием"? Например, про какой-нибудь solid я слышал, но не применял его. Все, меня отсеили?
423 2107272
>>107271
SOLID это как подростковый секс, не применяет, но все о нем пиздят
424 2107273
>>107271
Ну вот представь, что я у тебя спросил на собеседовании по зуму "слышали ли вы про SOLID?" Что бы ты ответил? Попробуй сейчас написать, не подглядывая в гугел
И да, >>107272 прав
425 2107278
>>107267
Так ты "занімаешься" ілі "ведешь"?
426 2107286
А, еще важный момент - один из самых важных скилов - это знание английского. Без него шансы падают быстрее чем от всего остального вместе взятого. Аутсорс, всё-таки, просто читать документацию не достаточно, нужно уметь еще раз в 2 недели мук-пукнуть заказчику что ты делал всё это время.
>>107278
Провожу собеседования и подготовку к проектам
427 2107302
>>107286

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


И зачем вы нужны, если можно напрямую работать?
15963862896472.png513 Кб, 657x516
428 2107337
>>107271
Почитай пару статей в гугле по ключевым словам SOLID Golang, и довольно быстро поймешь, что практически все принципы удобно ложатся в классическую разработку на гошке. Разве что наследование меняется на композицию, а инкапсулировать код приходится внутри пакетов с lowerCamelCase. Ну а интерфейсы это основа основ Go, которые реализуют те же буковки LI.
Как бывший сишник скажу, что по солиду и ООП я могу хоть на K&R C писать, инкапсулируя все в файлах через глобальные статические определения переменных и функций, а вместо пустого интерфейса использовать каст к (void*). SOLID очень универсальная штука, знать ее крайне полезно
429 2107364
>>107302
Я не он, но коммуникацию кто будет поддерживать? Кто будет кабанчиком подскакивать на звонки-встречи для принятия очередного соглашения по очередному вопросику?
Ты? Если тебя заставят с людьми разговаривать(на инглише!) вместо написания кода, у тебя подрумянится попка и задрожит голосок.
Без дяди ты не справишься.

>>107337
SOLID же просто про здравое применение ООП, не?
430 2107367
>>107364

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


Так он уже сказал, что с кабанчиком все равно говорить придется и вопросики обкашливать и отчитываться. Я бы понял, если бы они не знали о друг друге, а тут уже нихуя не так.
431 2107374
>>107267
что за компания ??
432 2107387
>>107286

>Провожу собеседования и подготовку к проектам


И на что в среднем может рассчитывать перекатыш из другого стека с опытом около 5 лет? С паттернами, солидом, граспом и законом Деметры дружу. Могу пояснить по хардкору за сложность алгоритмов. Ну и весь остальной фарш в виде баз данных, разных хранилищ и брокеров сообщений в комплекте
9be69fc583185ec148b20e732785819b.jpg23 Кб, 300x283
433 2107399
>>107387

>Могу пояснить по хардкору за сложность алгоритмов


Когда два раза по входным данным проходишь это 2N?
434 2107402
>>107399
Нет, это тоже O(n)
image.png73 Кб, 225x225
435 2107408
>>107402
А почему?
436 2107410
>>107408
А потому что время исполнения по прежнему растет линейно
image.png245 Кб, 500x500
437 2107414
>>107410
А если сначала n^2 проходится, а потом 2^n то какая сложность?
438 2107418
439 2107419
>>107418
Мы вам перезвоним
440 2107427
>>107414
Сука, такое у меня ни разу не спрашивали.
image.png142 Кб, 349x298
442 2107432
>>107428
Ну ты посчитай давай
443 2107434
>>107399
На самом деле может быть и 2N (например, если мне надо найти два символа в массиве, и я вместо сравнения каждого символа с двумя искомыми прохожу по массиву два раза - число операций неизменно и растет линейно). Ты не привел конкретного примера.
444 2107444
>>107434

> На самом деле может быть и 2N


Не может. Ты ебанулся блять?
image.png82 Кб, 288x288
445 2107445
>>107434
А если 4 раза, то сложность 4N?
446 2107449
>>107432
Хули считать, тебе раньше правильно ответили
image.png86 Кб, 256x197
447 2107457
>>107449
То есть если в 2^n алгоритм засунуть прохождение массива n^2 раз то он станет быстрее?
448 2107460
>>107457
Не знаю, я глупая вебмакака. Теперь ты доволен?
image.png18 Кб, 198x188
449 2107466
>>107460
Если ты то чел, который говорил про то, что можешь по хардкору про сложность алгоритмов пояснить, то да
450 2107467
>>107457
Да, но затем Вселенная схлопнется со звуком пизды
451 2107469
>>107460
funfact:
Желтомордый анон впервые нашел куда впихнуть свои знания о сложности.
452 2107471
>>107466
Да куда мне по хардкору-то...
453 2107475
>>107466
А теперь давай ответ в зал!
454 2107476
>>107444
>>107445
Ок. Рассмотрим мой пример подробнее, вкатунцы: дан массив - 'a', 'b', 'c', 'd', 'e'. Необходимо найти символы 'd' и 'e'.
Возможно два варианта:
1. Идем в цикле по всем элементам массива и проверяем, равен ли текущий элемент 'd' или 'e'. Каждая итерация потребует две операции:
'a' == 'd' ?
'a' == 'e' ?
Таким образом, для этого примера получаем len(arr) 2 операций, то есть 10 операций (не будем учитывать всякие оптимизации, типа "если символ равен одному из искомых, то точно не равен второму")
2. Проходим в двух циклах по массиву, сначала проверяя символ 'd', затем - 'e'. На каждую итерацию вложенного массива потребуется одна операция, так как проверяем всего один символ:
'a' == 'd'?
То есть проход во внутреннем цикле займет len(arr)
1 операций, то есть 5. Затем мы просто прогоняем тот же цикл для 'e', что дает еще 5 операций. В сумме те же 10 операций. При добавлении элемента в массив кол-во операций увеличится на 2, то есть сложность линейная.
В чем я не прав?
455 2107478
>>107457
Тебе уже раньше правильно ответили. Сложность алгоритма будет равна сложности самой медленной его части, то есть 2^n. Можешь хоть десять квадратов засунуть в него, ничего не поменяется.
456 2107480
>>107476
Макаба съела знаки умножения, но вы же умные, догадаетесь.
image.png195 Кб, 512x512
457 2107484
>>107469
А если алгоритм сначала проходит n^3, а потом n^5, то сложность будет n^5?
458 2107488
459 2107490
>>107484
>>107488
Да. Это троллинг тупостью?
460 2107496
>>107490
я просто проиграл с того, как тот уверенный хардкорный анон слился, когда кто-то в интернете сказал, что он не прав
461 2107499
>>107496
Кто слился? Ты слился, епта! Я тебе отвечал, пока ты не завел сказку про белого бычка.
462 2107502
>>107499

>Я тебе отвечал, пока ты не завел сказку про белого бычка.


Ну так хуле другой анон за тебя сказал, что я хуйню несу?
463 2107507
>>107414
как же доставили твои посты с йобами
464 2107508
Чет никто так и не разъебал мой пример >>107476
А я уж надеялся, что заблуждаюсь, потому что сам частенько рассчитываю сложность тупо по количеству циклов.
465 2107510
>>107508
Ждем, пока желтый соберется с силами и ответит. Он самый жирный крупный специалист в треде
466 2107515
>>107508
Константы при расчете сложности отбрасываются
467 2107516
какое основание у логарифма в O (log N) ?
468 2107517
>>107516
10, это еще в школе было
469 2107518
470 2107519
>>107515
Не понимаю, причем здесь это. Исходное утверждение было "Когда два раза по входным данным проходишь это не 2N", и в этом примере мы дважды проходим по массиву, но суммарное число операций растет линейно. Причем здесь константы?
471 2107525
>>107367
Ну, мук-пукнуть 1.5 минуты раз в 2 недели это не то же самое, как решать вообще все вопросы и постоянно
>>107387
Ну мы в целом на ждунов нацелены, но в твоем случае тебе могут дать месяц на изучение го (частично самостоятельного, частично вебинары) и затем сразу лычку мидла и за весло.
>>107374
Диванон же
472 2107535
>>107525

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



Скинь название конторы на почту martinточкаalekseevich на протонмейле
473 2107536
>>107525
да какой диванон, ты что директор что ли, и зачем кому то это нужно вообще? не жмоться, тут многие ищут варианты работы наверняка
474 2107539
>>107536
>>107535
Украинский ЕПАМ
475 2107542
>>107539
Аа, мне беларусского в свое время хватило. Ну его нахуй
476 2107545
>>107542
Как и во всех крупных компаниях - всё зависит от проекта/подраздела, раз на раз не приходиться
477 2108003
>>107499
Ты понимаешь что тебя за софтскилили? Причем самым тупым образом. Ты уже согласился, что ты веб макака и начал оправдываться, что делаешь, что-то не так только потому, что кто-то другой писал с уверенным видом. И это сделал рандомный анон с желтыми блинами из интернета. Ты хоть представляешь что с тобой матерый кабан сделает?
478 2108009
МВП протек, позовите уборщицу.
479 2108039
Пиздец, какие же вы все ущербные, что несут, это пиздец какой-то. Вы такие тупые... Рассуждают о чем то, о чем вообще понятия не имеют, гребут под одну гребенку сложность и асимптотику, и попускаются на собесах вб и озона кек, нужно полным дегродом быть чтобы не пройти. Как же проигал с вас, и уебываю дальше в МВП.

мимо червь из яндекса
image.png510 Кб, 480x572
480 2108081
>>108039

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

Все, инвестиции в разработку закончились, надо помогать нашим братьям меньшим с такси и доставок?
481 2108097
>>108009

> МВП


Тогда не уборщица, а ассенизатор.
482 2108254
Зачем в говне так всрато сделаны либы рандома? Каждый раз нужно явно обновлять сид, если ты хочешь новое значение, могли бы хотя бы в конфигах сделать переменную, после которой обновление само бы происходило
483 2108321
>>108254
А что вообще в говне сделано не всрато?
484 2108337
>>108254
Ты вообще о чем? Не надо там ничего обновлять
485 2108340
>>108081
Так у тебя легаси, там на новых лендингах вообще фоток нет, да и при утсройстве на РАБоту ты выбираешь какую операционку хочешь
486 2108348
>>108337
Если не обновлять при старте программы сид, то каждый раз будут одинаковые значения
487 2108351
Вот решил я написать декоратор для функций, как в пистоне, который бы принимал любые функции и аргументы, но выяснилось, что я должен точно указать сигнатуры, так как интерфейсы не поддерживают вызов, как и types.Func. Это можно как-то обойти?
488 2108553
распизделись они тут на всю доску блять
489 2108712
>>108039
посоветуй как выучить алгоритмы хотя бы до уровня прохода собесов в ВБ, авито и прочие. Серьёзный вопрос.
490 2108719
>>108712
алсо я повёлся на сайт с задачками тип литкода за сто бачей и уже почти купил. Насколько такое говно вообще помогает с прохождением собесов?
491 2108736
>>108712
'грокаем алгоритмы' бхаргавы прочитай для начала
492 2108760
>>108719
Лол, литкод даже синьоры гриндят
493 2108831
>>108712
Тут надо разделять алгоритмы и решение задачек, немного разные скиллы, на алгоритмических секциях нужно немного знания асимптотики и умения решать задачки без ide, потренироваться можно на литкоде, хватит и 20 для озонов и авито, для яндекса 50-70 тоже за глаза хватит. Уровень изи/медиум, но ориентируйся на медиум. Обычно задачки на манипуляцию со строкой, или применение мапы.

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

>Насколько такое говно вообще помогает с прохождением собесов?


Помогает очень сильно, просто набраться уверенности и набирать код без автодополнения, обрабатывать граничные кейсы, без практики шансы завалить повышаются, но это скорее относиться к яндексу/джуму, для остальных и так хватит. Покупть офк ничего не нужно, там полторы концепции на все задачи. Вот тут есть все техники, если прорешаешь можешь смело пиздовать на собес: https://www.yourdevopsguy.com/how-to-learn-data-structures-and-algorithms-20-problem-solving-techniques-you-must-know/
494 2108904
>>108736
у меня проблема с этой книгой в том, что она слишком простая для меня. При этом Кормена тоже не хочется читать. Так и сижу-пержу
495 2109078
>>108351
Бамп вопросу. Неужели сделали дырку в типах в виде пустых интерфейсов, но даже ее не получилось сделать достаточно гибкой?
image.png33 Кб, 640x316
496 2109460
Какого хуя это криминал?
497 2109514
>>109460
Наверное, чтобы писать user.Service вместо более длинного user.UserService. Чего только шизики не придумают.
578657657857.jpg19 Кб, 600x428
498 2109748
>>109514
Бля, я точно шизик. Забыл, что без имени пакета при вызове не обойтись
499 2109757
>>109748
Можно через импорт с точкой.
500 2109768
>>108254
Ну, тебе же нужно как-то тестировать свой код, верно?
Да и 1 строчка в мейне не так и страшно

>>108321
Хейтер, спок
501 2109772
>>108351
Ты какую-то динамическую дрысню хочешь сделать, а тут так не принято. reflect.ValueOf(fn).Call должно помочь, но скорее всего ты просто делаешь что-то не так
502 2109830
>>109772

>а тут так не принято


А interface принято делать? У вас тут буквально утиная типизация смешаная со статической.

>>109772
Не совсем тебя понял, все равно я не могу новую функцию вызвать потом, так как что бы это сделать в возвращаемом значении требуется указать сигнатуру, а декоратор должен принимать любую функцию
503 2110110
>>108351
func dec(a interface{}) {
a.(func())()
}

Ты это имеешь ввиду ?
504 2110124
>>110110
Нет, что бы была функция высшего порядка, которая может вовзращать другую функцию без явного указания сигнатур
15215752130990.png348 Кб, 1200x1200
505 2110147
Смрлся со всем, кроме if err != nil бла-бла-бла, сука, после каждого чиха
506 2110425
>>110147

> бла-бла-бла


return nil, err
507 2110429
>>110425
Exactly
508 2110513
>>110425
Хочется взять и уебать. Как насчет fmt.Errorf?
509 2110517
>>110513
А гоферы начинают догадываться, что единственный способ обработать ошибку - показать её текст пользователю. Осталось в ошибку добавить инфу о том, как дошло до вызова этого кода, и получится эксепшен со стектрейсом.
510 2110538
А планируют ли вообще впилить исключения?
511 2110541
вот и утонул го тред
никому не нужный
кроме копрофилов
покойся с миром..
512 2110543

>Go solves the exception problem by not having exceptions.


Ну охуеть теперь
image.png75 Кб, 737x415
513 2110547
>>110541
После неудачного переката в го несколько лет назад тоже ходил гаденько срать в го треды. Потом отпустило
image.png347 Кб, 1280x1280
514 2110589
>>110547
Как можно неудачно перекатиться в го? Или ты пикрил?
Вообще в го сейчас по сути бесконечные деньги, раз стажерам озон платит 90к, а джунам под 200.
515 2110673
>>110589
Я перекатился и нашел работу. Но не сработался с тимлидом, который все мои начинания заворачивал нахуй с мантрой "здесь так не принято".
516 2110778
>>110673
А зачем что-то начинать? Ты ведь обычная макака-исполнитель, а не творец. Тебе сказали делать хуйню - ты ее делаешь. Зачем что-то придумывать?
517 2111015
>>110589

> а джунам под 200


Проснись, 200 это крепкий миддл в ДС
518 2111038
>>110517
какая разница if err != nil или try catch catch catch ? никогда не понимал эту претензию к го
519 2111055
>>111038
Catch не пишется после каждого вызова,, обработка ошибок отделена от основной логики, что в разы упрощает код.
520 2111102
Покажите мне простейший микросервис на го со сваггером, который бы генерился автоматически.
521 2111149
522 2111159
>>111149
Иди нахуй.
523 2111164
>>110517

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


Уже есть, в пакетах, кхе кхе
image.png292 Кб, 366x512
524 2111167
>>111055
try {
}
catch(e){
}


if err != nil {
}


try {
}
catch(e){
}


if err != nil {
}


try {
}
catch(e){
}


if err != nil {
}


try {
}
catch(e){
}


if err != nil {
}


try {
}
catch(e){
}


if err != nil {
}


try {
}
catch(e){
}


if err != nil {
}


try {
}
catch(e){
}


if err != nil {
}


try {
}
catch(e){
}


if err != nil {
}
image.png292 Кб, 366x512
524 2111167
>>111055
try {
}
catch(e){
}


if err != nil {
}


try {
}
catch(e){
}


if err != nil {
}


try {
}
catch(e){
}


if err != nil {
}


try {
}
catch(e){
}


if err != nil {
}


try {
}
catch(e){
}


if err != nil {
}


try {
}
catch(e){
}


if err != nil {
}


try {
}
catch(e){
}


if err != nil {
}


try {
}
catch(e){
}


if err != nil {
}
525 2111170
>>111167
Нет.
526 2111172
>>110543

> эксепшены созданы, чтобы пробрасывать контекст ошибки вверх по стеку для ее обработки


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


)))))))))))) go-way
527 2111174
>>111167
Как работает throws мистеру Пайку никто не сказал
528 2111178
>>111174

>throws


Блядь господи, только не checked exceptions, УМОЛЯЮ
529 2111187
>>111178
Это да, намного удобнее когда сразу вся программа падает
530 2111189
>>111178
Уверен процентов на 90, что если и завезут эксепшены, они будут только checked, учитывая наивную идею Пайка, что все ошибки всегда можно обработать на месте.
531 2111192
>>111187
Ну выскочил IOException. Что ты с ним сделаешь? Выведешь пользователю информацию о том, что "IO error occurred"? По моему никакой разницы нет между тем, чтобы насрать юзеру в лицу стектрейсом или отдельным сообщением.
532 2111194
>>111187
Это в каком языке так? В шарпе, жабе, петухоне и жопаскрипте исключения ловятся на верхнем уровне, оборачиваются в жсон и отправляются на фронт.
533 2111197
>>111194

>В шарпе, жабе, петухоне и жопаскрипте исключения ловятся на верхнем уровне


В жабе есть checked exceptions. Зачем они были придуманы я до сих пор понять не могу, ну вот как проверяемое исключение IOException можно обработать на месте? Никак нахуй. Приходится указывать что такой-то метод throws IOException. И вот это IOException ловится на верхнем уровне, оборачивается и отправляется на фронт. Нахуя были нужны лишние телодвижения, не понятно.
534 2111201
>>111192
Остановлю выполнение логики на том уровне, где она не должна быть продолжена
Залогирую имея больше информации о происхождении этого контекста
>>111194
Макакер, спок
535 2111205
>>111201

> Остановлю выполнение логики на том уровне, где она не должна быть продолжена


> Залогирую имея больше информации о происхождении этого контекста


Прям как с исключениями.

> Макакер, спок


Слив засчитан. Впрочем, ничего нового
536 2111209
>>111205
Я про исключения и говорю, если ты до сих пор не понял
537 2111216
>>110517

>А гоферы начинают догадываться, что единственный способ обработать ошибку - показать её текст пользователю.


Просто попробуй работать в чем-то отличном от ООО "Рога и Копыта"
Может тогда тебе и понадобиться что-то вроде retry, а может даже всякие сircuit breaker'ы или graceful degradation'ы. И да, пользователю ошибку вне пхп никто не показывает, максимум возвращают четырех- или пяти- значный код, который сводиться либо к 4ХХ, либо к 5ХХ-м ошибкам. А вот в лог записать - это милое дело.

>>110538
Нет, т.к. нет задач, которые они смогут решать.
538 2111222
>>111197
Никто в 90 году не предполагал, что обезьянам создадут весла для галер
539 2111244
>>111201

>Остановлю выполнение логики на том уровне


Как остановишь? Просто сделаешь return в методе и во всех методах выше по стеку чтоли? Нах?
Не лучше ли сделать так, чтобы исключение вывалилось наверх и написало пользователю, что "произошла фатальная ошибка, идите нахуй"?
Например сервис обращается по сети к другому серверу, но внезапно оказывается, что тот сервер умер, либо какие-то ошибки в подключении к нему. Произошел IOException. Как его обработать? залогировать и выбросить юзеру, пусть он смотрит, пидорас ебаный
540 2111247
>>111216

>Может тогда тебе и понадобиться что-то вроде retry, а может даже всякие сircuit breaker'ы или graceful degradation'ы


И все это есть прокидывание ошибки на верхний уровень, где ее можно обработать, то есть как с эксепшеном, дебилушка.
541 2111253
>>111247
Ну так что тогда бухтеть?
542 2111256
>>111244

> Как остановишь? Просто сделаешь return в методе и во всех методах выше по стеку чтоли? Нах?


Посмотри как выглядит try catch пожалуйста и не еби господам мозг

> Не лучше ли сделать так, чтобы исключение вывалилось наверх и написало пользователю, что "произошла фатальная ошибка, идите нахуй"?


> Например сервис обращается по сети к другому серверу, но внезапно оказывается, что тот сервер умер, либо какие-то ошибки в подключении к нему. Произошел IOException. Как его обработать? залогировать и выбросить юзеру, пусть он смотрит, пидорас ебаный


Одно другому не мешает
543 2111257
>>111253
Не знаю, а ты срешь го или защищаешь?
544 2111259
>>111256

>Посмотри как выглядит try catch пожалуйста и не еби господам мозг


Про unchecked эксепшены ты не в курсе, видимо.
545 2111263
>>111259
Какой же ты тормознутый, в курсе о чем вообще эта ветка?
546 2111267
>>111263
Не знаю, я просто сру го.
Sheezeeque.png64 Кб, 200x200
547 2111285
548 2111387
>>111247
Эксепшены в хуйлоаде - моветон.
549 2111400
>>111387
Хуй тебе, а нн лоад.
550 2111641

>2021


>До сих пор нет множеств и очередей


Ебаный кошмар, кому пришло в голову сделать облегченный С++ с модными молодежными потоками и слайсами, но с пустой стандартной библиотекой? Почему в STL есть все, чего только душа пожелает, а здесь нужно изобретать свои кривые велосипеды? Нахуя, а главное зачем?
551 2111652
Кстати после того, как добавят дженерики, в мире го внезапно окажется огромное число легаси говна. Вот серьезно, почему нельзя было добавить их сразу? Что за ебланство, почему некоторые вещи в пщ делаются исключительно через жопу там, где даже в самых древних языках вроде С++ и джавы, все куда понятнее и логичнее
552 2111654
>>111641
Некорректно сравнивать Go с крестами. У говна не было задачи конкурировать с ними, пусть он и компилится в натив. Сравнивать его надо с жабашарпами, но и по сравнению с ними он убрг и примитивен.
553 2111656
>>111652
В жабе кстати женерики тоже не с первых версий, там до их добавления юзали Object.
554 2111660
>>111102
бамп
555 2111664
>>111654

>Сравнивать его надо с жабашарпами


Разве Го можно втянуть в энтерпрайз, где куча бизнес-логики, для которой нужно полноценное ООП, а не просто структуры, пришедшие из чистой сишки?

>Некорректно сравнивать Go с крестами. У говна не было задачи конкурировать с ними, пусть он и компилится в натив.


Мне вроде кто-то пытался объяснить, что Го - это такой C/C++ (наверное все-таки больше С) для дебилов с модной многопоточкой.
556 2111665
>>111656
Ну в этом и проеб джавы, потому что сейчас дженерики там существуют только на уровне компиляции, а потом стрираются в Object. В шарпе дженерики были сделаны сразу иначе.
557 2111686
>>098874
Ну нужны - берешь быстрый. Платишь за это отсутствием сахара и более сложной работой
558 2111688
>>089622
Был, удалили уже
559 2111700
>>111688
А чому удалили?
560 2111701
>>111686
Перечитай мой пост еще раз. Если ты не понял, не всегда приходится платить удобством за скорость.
561 2111749
>>111700
Тот, кто хостил русскую версию - забил хуй и хостинг слетел
562 2111838
аж трисет нахуй от говнп
563 2111853
>>111652
Никому не усралось ломать язык меняя его фундаментальную основу. Уже 10 лет кормят женериками, покормят еще 10. Как раз срок жизни подойдёт к концу. А потом можно будет и новый заебенить.
564 2111860
>>110589
Хватит пиздеть пиздабол, вилка в озоне на мидла 264к до налогов, после налогов получается 229к, и это притом что в озоне нет премий нихуя, только RSU с вестингом через год
Тред утонул или удален.
Это копия, сохраненная 30 июля 2021 года.

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

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