Программирование

Ответить в тред Ответить в тред
Check this out!
Cамого МУЖЕСТВЕННОГО в мире языка Go тред №15 /go/ Аноним 05/04/21 Пнд 00:08:46 19862041
homjak.png 59Кб, 1576x890
1576x890
mamka.png 7Кб, 287x136
287x136
power.png 217Кб, 880x534
880x534
versus.png 599Кб, 1100x700
1100x700
Cамого МУЖЕСТВЕННОГО в мире языка Go тред №15 /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://www.youtube.com/channel/UC_BzFbxG2za3bp5NRRRXJSw

Полезные дополнения:
- Сборник паттернов и инфы по микросервисам: https://microservices.io/

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

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

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

Шаблон шапки: https://pastebin.com/61qHsr2T
Аноним 05/04/21 Пнд 00:10:23 19862072
Шарп лучше чем Go.
Аноним 05/04/21 Пнд 00:13:26 19862113
go-pravyy.jpg 102Кб, 1027x683
1027x683
>>1986207
Расовое превосходство Go очевидно и не нуждается в доказательстве.

inb4 шарп спиздил модель зеленых тредов из го
Аноним 05/04/21 Пнд 00:17:46 19862164
>>1986211
Ты так говоришь, будто гринтреды изобрели в пщ, лол. Но даже если бы это было правдой, начнём с того, что все популярные языки спиздели лямбды из борщехлёбской хуйни без задач и спокойно живут себе, а борщехлёбская хуйня без задач так и осталась никому не нужной.
Аноним 05/04/21 Пнд 00:23:27 19862225
gosched.jpg 39Кб, 1024x660
1024x660
>>1986216
Смотри конкретно модель реализации шедулера в Go и в шарпе, а потом попробуй разобраться кто у кого спиздил. Желательно чтобы ты больше не унижался. спасибо
Аноним 05/04/21 Пнд 00:27:36 19862266
>>1986222
В огороде бузина, а в Киеве дядька.
Аноним 05/04/21 Пнд 04:31:37 19862717
>>1986216
> все популярные языки спиздели лямбды из борщехлёбской хуйни без задач и спокойно живут себе, а борщехлёбская хуйня без задач так и осталась никому не нужной.
Так в этом и суть. Лямбды в мейнстримной параше появились только сейчас, а в том, что ты называешь борщехлебской хуйней, были ещё когда твоя бабка была молодая. Точно так же зависимые типы. В идрисе есть уже 15 лет, а в общепринятый мейнстрим завезут ещё через 15.
05/04/21 Пнд 04:52:38 19862758
>>1986204 (OP)
Пиздец. Ну и ограниченный язык.

Ну да, нахуй нужны эти ваши метапрограммирования, DSL, лямбды, ADT, logic programming, это же всё долбоебов придумывалась, а не для лаканичного и человекочитаемого кода сформированного в виде коротких формул.
Аноним 05/04/21 Пнд 06:07:22 19862779
Даже в самом первом языке программирования (Plankalkül) были эксепшены. А в го нет.
Аноним 05/04/21 Пнд 08:28:56 198628810
>>1986207
На счет шарпа не знаю, но от го отказываются крупные компании которые его же и пиарили 5 лет назад, включая сам гугол, стоит задуматься..
Аноним 05/04/21 Пнд 09:48:00 198630411
Go для макак. Proved.
> Так для чего же он был создан таким простым? Вот пара цитат Роба Пайка (прим.пер.: один из соавторов языка Go):

> Ключевой момент здесь, что наши программисты (прим.пер.: гуглеры) не исследователи. Они, как правило, весьма молоды, идут к нам после учебы, возможно изучали Java, или C/C++, или Python. Они не в состоянии понять выдающийся язык, но в то же время мы хотим, чтобы они создавали хорошее ПО. Именно поэтому их язык должен прост им для понимания и изучения.

> Он должен быть знакомым, грубо говоря похожим на Си. Программисты работающие в Google рано начинают свою карьеру и в большинстве своем знакомы с процедурными языками, в частности семейства Си. Требование в скорой продуктивности на новом языке программирования означает, что язык не должен быть слишком радикальным.
05/04/21 Пнд 09:49:47 198630612
>>1986304
> Что? Так Роб Пайк в сущности говорит, что разработчики в Google не столь хороши, потому они и создали язык для идиотов (прим.пер.: dumbed down), так чтобы они были в состоянии что-то сделать. Что за высокомерный взгляд на собственных коллег? Я всегда считал, что разработчики Google отобраны из самых ярких и лучших на Земле. Конечно они могут справиться с чем-то посложнее?
Аноним 05/04/21 Пнд 10:52:04 198632813
Аноним 05/04/21 Пнд 10:55:27 198633114
>>1986277
В C их нет и ничего, тонны хорошего ну, постоянно проблемы с переполнением буфера, но это другой вопрос софта написали.
Аноним 05/04/21 Пнд 11:03:22 198633215
> я.ебать(твояМамка)
Чё за язык у вас, переменные можно использовать до их инициализации?
мимо безопасный свифт помидор
Аноним 05/04/21 Пнд 11:21:31 198635316
>>1986332
У нас на уровне языка нет понятия инициализации, есть только понятие объявления, var я Я
При этом в переменной "я" оказывается нулевое значение для типа "Я" (0 для чисел, false для булов, nil для поинтеров и т.д.)
Метод можно вызывать и у nil значения, что само по себе не запрещено. Правда всё упадет с паникой, если ты попытаешься этот nil задереференсить. Но у тебя метод может этого и не делать, например. Или сам проверить условный self на nil и обработать это как-то, например провести ленивую инициализацию, если необходимо.
Вообще, в go считается хорошим правило make zero value useful, в стандартной либе это реализовано в случае sync.Mutex и sync.WaitGroup, которые после объявления готовы к использованию. В остальных случаях обычно пишут функции-конструкторы.
Аноним 05/04/21 Пнд 11:42:34 198637717
>>1986353
На самом деле не совсем так, инициализация через make есть для 3-х типов: слайса, мапы и канала. Но там особая ситуация, т.к. там нужно указать length и/или capacity. В первых двух случаях это нужно для того, чтобы сразу аллоцировать достаточное кол-во памяти, чтобы потом при добавлении элементов не копировать несколько раз данные в новую область памяти.
Аноним 05/04/21 Пнд 11:58:45 198639118
>>1986331
Благодаря C компьютерные программы - самое ненадежное из всего созданного человеком.

Ну и сравнивать goвно с говняшной это конечно тоже нужно быть гением.
Аноним 05/04/21 Пнд 11:58:48 198639219
BqeGumIIV2ObCtE[...].png 80Кб, 400x159
400x159
>>1986306
> Я всегда считал, что разработчики Google отобраны из самых ярких и лучших на Земле.
Туда официально белых не берут https://www.cnews.ru/news/top/2018-03-05_google_rasporyadilas_brat_na_rabotu_tolko_zhenshchin . А у остальных пикрелейтед. Алсо, пщ официально БЛМ параша, на сайте указано. Используешь пщ = сойбой, куколд.
Аноним 05/04/21 Пнд 12:19:56 198640620
DoHbgBkPRCk.jpg 14Кб, 640x320
640x320
Перенёс из предыдущего треда:

Гоферы, помогите разобраться
Пытаюсь осилить сей язык, параллельно решая маленькие задачки, наткнулся на просторах на упоминание задачки, где нужно инвертировать контент файла
И у меня вроде всё кое-как получилось, глазами вижу результат, но вот в самом конце содержимое выдать в stdout через ReadAll на 45 строчке не вышло, что я делаю не так? Вроде как Flush должен был решить проблему мою
https://play.golang.org/p/Nguk776CGI8
Файлик там простой, вида типа
1
2
3
Аноним 05/04/21 Пнд 12:23:47 198640821
>>1986406
Попытайся отделить логику (функцию, которая принимает io.Reader и io.Writer) от реального взаимодействия с файлами. Скорее всего у тебя проблема во втором. И да, bufio.Writer.Flush не флашит сам файл, он именно сбрасывает буфер из bufio.Writer'а
Аноним 05/04/21 Пнд 12:38:17 198642222
>>1986304
Ты такой умник, что запостил это в ML–треде >>1986303 → перед тем как попасть в правильный. Давай разберем все Робом пайком написанное, в этот раз без лишних иллюзий и маня–фантазий.

>наши программисты (прим.пер.: гуглеры) не исследователи.
Всё так. Гугл – это рекламная компания, в которой программисты должны продвигать технические решения вперед, причем сам этот технический процесс заключен в довольно консервативные рамки. Речь идет не об искусстве, не проедании грантов в университете, не наебывании дяди, а о том, чтобы зарабатывать гуглу деньги. Речь идет о ремесле.
>Они не в состоянии понять выдающийся язык, но в то же время мы хотим, чтобы они создавали хорошее ПО.
Это неправильный перевод. Brilliant скорее переводится как блестящий, а не выдающийся. Тут есть tongue–in–cheek со стороны Пайка, а именно стоит сперва обратить внимание на то, кто такой Роб пайк и какой у него бекграунд. Роб пайк — это чувак, который бОльшую часть своей жизни провел в чистой воды расовой исследовательской среде, где не гуглеры, а реальные исследователи, проедатели R&D корпобюджетов и всяких грантов от американских исследовательских институтов. Там же он своими руками создал UNIX, там же создал plan9 и ты удивишься, но в списке его заслуг можно найти Newsquak, Limbo и другие прорывные на тот момент технологии. Не говоря уже о самом большом его достижении, plan9, это вообще навеки оставило его в пантеоне величайших компьютерных исседователей. Теперь, лапочка, когда ты понял бекграунд этого чувака, ты должен понимать значение этой цитаты. Одно дело фантазировать на тему, а другое дело выполнять работу (продвигать техническое решение вперед) и поверь, Роб пайк не имеет никаких иллюзий на этот счет. Пайка и Томпсона пригласили работать в гулаг. Они поработали, чето там поделали (я даже не хочу вспоминать sawzall, пожалуйста, не надо) и у них появились определенные претензии к тому С++ и джаве, что на тот момент использовались в 95% кода гугла, в связи с чем они решили сделать свой язык. Это нормально. Как оказалось, помимо нормальности, этот язык еще оказался связан и с успехом. Потому что делали его профи, а не какие–то феминные томбои из университета, которым нужно что–то кому–то доказывать. Никому из создателей Go не надо ничего доказывать, их желания полностью сопряжены с рабочими задачами, с продвижением технического решения вперед. Это именно то, что Go позволяет делать. Не фантазировать, не умничать, не заниматься "искусством" я вообще ору со всех программистишек, которые думают что в этом ремесле больше искусства, чем например в литье а делать то, за что тебе платят деньги. Продвигать. техническое. решение. ВПЕРЕД
>Он должен быть знакомым, грубо говоря похожим на Си.
Совершенно верно. В любом ремесле, предпочтение всегда отдается более привычным инструментам.
>Что? Так Роб Пайк в сущности говорит, что разработчики в Google не столь хороши, потому они и создали язык для идиотов
Это не так. Роб пайк пытается сказать тебе–дурачку и таким дурачкам как ты, что есть большая разница между рабочей средой, где разрабатываются коммерческие продукты и рисерческой дармоедской средой, где приоритетом являются понты "блестящими" языками.

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

>Что за высокомерный взгляд на собственных коллег?
Иметь реальный, адекватный взгляд на вещи — это не высокомерие. Пайк держит своих "коллег" за тех, кем они являются — кодерами на зарплате, единственная задача которых, я повторюсь, продвигать техническое решение вперед. Поэтому он подарил нам Go — язык, который, на его взгляд, максимально эффективно позволяет справляться с этой задачей.

>Конечно они могут справиться с чем-то посложнее?
Не могут. Ты когда–то был в литейном цехе? Клещи, изложница — ты не найдешь там сложных инструментов. Потому что они не нужны в этом рабочем процессе. Все кто считают иначе — нихуя не понимают в ремесле.
Аноним 05/04/21 Пнд 12:42:10 198642623
>>1986332
Переменная инициализировалась по умолчанию когда ты ее объвил на стеке при помощи var. Все нормально.
Аноним 05/04/21 Пнд 12:45:05 198643024
>>1986391
Бла Бла Бла, тупые аргументы–не–аргументы от маня–фантазера, который не знает:

(а) историю вычислений, портабельности софта
(б) обстоятельств рынка производства ПО
(в) ...судя по сказанному, ничего другого он тоже знать не может...
Аноним 05/04/21 Пнд 12:45:13 198643125
>Растобляди завидуют,
Нет конечно. В сегменте низкоуровневых языков раст самый выразительный - зачем его вообще сравнивать с языками со сборкой мусора.
Аноним 05/04/21 Пнд 12:48:49 198643626
>>1986422
И каким образом порезанность языка, отсутствие в нем элементарных фич, помогает "продвигать техническое решение"? Элементарно кода в разы больше писать приходится. Приходится концентрироваться не на логике, а на костылях.
Аноним 05/04/21 Пнд 12:50:13 198644127
>>1986436
У тебя методичка дырявая, протекает. Ничего "элементарного" в этом нет, приходи когда узнаешь что такое нюансы и компромиссы.
Аноним 05/04/21 Пнд 13:25:18 198646128
>>1986430
Как-то похуй чем там исторически обусловленна убогость и околонулевая выразительность говняшной, и по каким нелепым причинам она получила такое широкое распространение в свое время. Даже если тому были некие непреодолимые причины, это никак не меняет того, что это обьективно хуевый язык, совершенно не приспособленный для написания чего-либо сложнее автоматизации сливных бачков, и что все нужно было делать по-другому.
Аноним 05/04/21 Пнд 13:30:55 198647329
aNzY160460s.jpg 24Кб, 460x541
460x541
Вы не думойте, вы код пилите. Ишь развелось тут фелосафов!
Аноним 05/04/21 Пнд 13:33:59 198647530
>>1986408
Не совсем понял, как тогда реально взаимодействовать с файлами, если не через ридеры-врайтеры, но спасибо за ответ! Попробую покопаться ещё, нагуглить много не получилось
05/04/21 Пнд 13:34:10 198647631
>>1986422
> я вообще ору со всех программистишек, которые думают что в этом ремесле больше искусства, чем например в литье
Ты не прав. Программирование - искусство. Вернее математика - это искусство, прекрасная и идеальная база нашей реальности, а программирование это просто способ оформить формулы как нечто реальное.
https://youtu.be/DxfEbulyFcY
https://youtu.be/lctXaT9pxA0
https://youtu.be/X-iSQQgOd1A
Аноним 05/04/21 Пнд 13:37:33 198648032
>>1986431
Никто кроме растеров не сравнивает эту парашу с нормальными языками. Это кокрастоке растобляди–маргиналы лезут в нормальные немаргинализированные отрасли со своими советами и рекоммендациями насчет того, как правильно на самом деле делать вещи.
05/04/21 Пнд 13:38:35 198648233
>>1986480
Ты перепутал растеров с хаскеллистами.
Аноним 05/04/21 Пнд 13:40:48 198648634
>>1986480
Но ведь остальные языки действительно неправильные. Ансейф, GC, WUT-моменты на каждом шагу.
Аноним 05/04/21 Пнд 14:01:58 198651135
>>1986482
Что растеры, что хаскелисты — это все сорта одного и того же запартного говна.
Аноним 05/04/21 Пнд 14:07:35 198652436
>>1986441
По существу хоть когда-нибудь что-нибудь напишешь?

Алсо, насчет нюансов:
>Василь Иваныч, а что такое «нюанс»?
>Ну, Петька, это так не объяснишь, это показывать надо… Становись-ка раком да скидавай портки.
>Петька встал, Василь Иваныч сзаду заехал и говорит:
>Вот видишь, Петька, у тебя хуй в жопе, и у меня хуй в жопе. Но есть один нюанс!
Аноним 05/04/21 Пнд 14:09:21 198652837
Ого сколько шизиков набежало.
Аноним 05/04/21 Пнд 14:19:00 198653838
>>1986524
Ты сам не по существу пишешь, вот тебе шаблон:

- Go - хуйня недоязык.
- А вот мой %язык-нейм% изящный и правильный.
Аноним 05/04/21 Пнд 14:19:07 198653939
>>1986524
Хороший анекдот. А что тебе по–существу сказать? Раст — это ворованная LLVM параша, если в 2012 году еще казалось что из этого исследовательского языка может получиться что–то годное, чтобы оно имело собственный путь, то сейчас от этих иллюзий ничего не осталось. Гошечка пошла по совсем другому, своему пути, где с самого начала центровые чуваки сказали что на уступки идеологам никто идти не собирается и в результате смогли сохранить свою идентичность. Ты говоришь "порезанность языка" будто это что–то плохое, а у меня есть эмперические данные что эта порезанность — это в данном случае не баг, а фича, что говорится. Ты говоришь приходится концентрироваться на "костылях", но я в своей практике работы с го редко когда встречаю костыли. Обычно это очень предметный код, где за 10 минут ревью ты сразу видишь места для оптимизаций, а все структурные ошибки набитым глазом выкупаются еще быстрее. Элементарно — это когда тебе не надо задротить, а решение продвигается будто само по себе. Растобляди воняют насчет полиморфизма, хотя на самом деле в расте этого полиморфизма и нет–то, ну ладно в последнем релизе добавили константные дженерики, только смыслу? Все равно это все уже в С++ есть много лет и дает больше возможностей. Что касается го, так тут с самого начала всем сказали что "будем мономорфизировать" и это работает. Компилируется все быстро, кодогенерация есть в стандартной библиотеке и опять–таки, дает много больше возможстей, чем ограниченные говномакросы в том же расте. Ты генерируешь один раз, а потом компилируешь — и компилируешь быстро. Да, мономорфизация, да, нет каких–то там гарантий, но это никому не мешает. Потому что у языка есть какой–то свой путь, который четко обусловлен обстоятельствами его использования, а не фантазиями насчет того, как должны выглядеть воображаемые пирамидки в коде. Какую конкретику я могу тебе предоставить? Для кого–то программирование это средство достижения поставленных задач, для нормальных пацанов, а для кого–то это какая–то бесконечная игра в фантазию, которая заканчивается не продуктом, а такими же фантазиями. Если получится довести до рынка — уже успех, в то время как в любой другой немаргинализированной среде это только база. Подразумевается что без этого не может быть никаких разговоров, у маргиналов это не подразумевается.
Аноним 05/04/21 Пнд 14:31:31 198654940
>>1986538
> - Go - хуйня недоязык.
> - А вот мой %язык-нейм% изящный и правильный.
Все верно. Что не так?
Аноним 05/04/21 Пнд 14:35:36 198655241
>>1986539
> Ты говоришь "порезанность языка" будто это что–то плохое
Это сука и есть зло. Зло в чистом виде. Ненавижу всяки питухоны, и жс-ы из-за того, что они нихуя не расширяемые, и любой код, что выходит за пределы их юзкейсов и возможностей превращается в нечитаемое, уродливое нечто.
мимо лиспо-пролого-боярин
Аноним 05/04/21 Пнд 14:37:22 198655742
>>1986539
> кодогенерация есть
Макака, котарая не знает про DRY, ты? Хватит оправдывать своё говно на костылях
Аноним 05/04/21 Пнд 14:38:48 198655943
>>1986539
>пок пок свой путь кококок не баг а фича нормальные пацаны just use for loops

Что-то ничему новому за столько лет гопетухи так и не научились.
Ну давай ты хоть расскажешь про эти эти самые
>эмперические данные про то что порезанность - хорошо

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

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

>Элементарно — это когда тебе не надо задротить, а решение продвигается будто само по себе.
Это называется duct tape programming который работает хорошо только кода пишешь манясервисы на 300 строк, и если нужно что-то менять, то весь код просто выбрасывается и пишется по новой.
Гоу в принципе не подходит для монолитов и даже для SOA, онли микросервисы, просто потому что язык другого не позволяет. А перекладывать архитектурные задачи на инфраструктуру - ну такое, конечно модная тема была лет 5 назад, но многие уже обожглись и спрыгнули.
Аноним 05/04/21 Пнд 15:04:49 198657644
>>1986538
Ни разу ничего такого я не писал, считаю все существующие на данный момент неборщехлебные языки говнищем. Голанг где-то лучше, где-то хуже. Иначе я бы в этом треде не сидел.
Аноним 05/04/21 Пнд 15:23:53 198659645
>>1986539
А я наоборот четкую идеологию в ущерб удобству и здравому смыслу только в go вижу. На любой вопрос почему в этом языке нету X адепты голанга начинают улулюкать и рассказывать что X НИНУЖНО, как им хорошо живется без X, X это вообще неправильно и т.д.
Аноним 05/04/21 Пнд 15:34:26 198661346
>>1986559
> Потому как в процедурных гоу-полотнах вся предметность растворяется в низкоуровневых (а других в гоувне просто нет) тумба-юмба деталях реализации и никакая доменная логика так не проглядывается, пока не прочтешь все целиком снизу-вверх 3 раза.
Двачну. Современный Паскаль какой-то. Поскорее бы похоронили это говно, чтобы глаща не мозолило.
Аноним 05/04/21 Пнд 15:35:56 198661747
Всё сретесь? Скажите лучше, почему готовый бинарник так дохуя отладочных данных содержит?
Аноним 05/04/21 Пнд 15:38:19 198662048
>>1986617
Потому что го-вно. У него еще и работой с памятью сборщик мусора отвечает прям в рантайме занимается, знал?
Аноним 05/04/21 Пнд 15:59:06 198664949
>>1986559
>нормальные пацаны just use for loops
А нет разве? Или ты думаешь что если тебе комбинаторы завезли, то ты сразу супермозг? Внезапно, оказывается, на линейных комбинаторах много не напишешь! Ну, до тих пор пока тебе нужно делать какие–то тривиальные преобразования, по типу собрать сумму по списку, то наверное, напишешь, но как только оказывается что логика список негомогененная, и где–то возникают новые порядки, сразу комбинаторы садятся на жопу. Это, кстати, очень связанно с параллелизмом, см. такие языки как Futhark, где это большая проблема — запихнуть логику в комбинаторы второго порядка, чтобы сохранить при этом все плюшки многоядерности в GPU.

>Потому как в процедурных гоу-полотнах вся предметность растворяется в низкоуровневых
Это не так. На низком уровне у тебя низкоуровневые детали, на более высоком уровне — высокоуровневые. Что тебя смущает, обработка ошибок? Или все–таки отсутствие комбинаторов на уровне языка? Плиз, с ошибками все просто: ты либо их обрабатываешь, либо нет. Го делает очень больно, если ты их не обрабатываешь. А что касается комбинаторов и прочей Фпараши, так я могу только дать флаг в руки: большинство прикладных задач наивно не помещаются в комбинаторную логику, а ненаивный подход создает такие накладные расходы, что с таким успехом можно сразу и на фортране писать. Не смеши мои носки.

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

>Это называется duct tape programming который работает хорошо только кода пишешь манясервисы на 300 строк
Я не хочу открывать для тебя секреты, но duct tape progamming это в принципе весь programming в целом. Если ты думаешь иначе, то у тебя банально мозги промыты какой–то методичкой, которая утверждает иначе. "Ну у нас–то мы действительно делаем правильно!" Это такая глупость, которая в 2021 году даже не требует внимания, настолько очевидно, что это глупость. Ты вообще хоть день программировал в нормально конторе? Представляешь себе немного, как выглядит любой технический процесс? Скажи мне, ололо мастер правильного программирования, что это такое, как не duct tape programming? Разница заключается лишь в том, как ты относишься к этому процессу, вставляешь ли ты палки в колеса, или решаешь эти проблемы?? На этом этапе и становится ясно, что ты либо клеишь изоленту, либо ее отдираешь. По сути, третьего не дано. Все, кто говорят иначе — просто дешевые пиздаболы, которые пытаются продать свою (очередную) секту. Вся суть ремесла в том, чтобы писать грамотный код в инварианте, а не пытаться подогнать его под какую–то конкретную логику, которая тебе кажется эстетичной. Надеюсь, ты когда–то это поймешь.

>А перекладывать архитектурные задачи на инфраструктуру
С подключением. Все "архитектурные", как ты говоришь, задачи — это задачи инфраструктуры. Код должен выполнять конкретные манипуляции между устройствами ввода и вывода за оптимальное время. По этой причине ORM это параша (покажи мне хотя бы одну ORM которая используется в гугле/фейсбуке/амазоне/да где угодно) и ровно по этой же причине любой дроч на "конструкции" такой же бесполезный, потому что в конце–концов это просто манипуляции поверх I/O, а мы уже очень, очень давно, умеем писать эту хуйню. Ты говоришь сишка с ее переполнениями, ок, но это даже 15 лет как не является стандартом. Все кто пишут на сишке сегодня — пишут на ней совсем иначе, как писали на ней 20 лет назад. Переполнения? Плиз. Тебе предлагается оставить свою методичку в другом месте, завалить ебало и писать корректные вещи, завместо нытья по поводу выдуманных вещей.
Аноним 05/04/21 Пнд 16:09:47 198666450
>>1986596
>в ущерб удобству и здравому смыслу
А как ты себе вообще представляешь что такое здравый смысл? Рассел говорит: "Есть одна рука, есть другая рука, значит реальность существует и в ней есть хотя бы две руки." Ахуенный аргумент, только вот ни в каком формализме он смысла не имеет и если ты дольше двух дней в этой теме, то ты понимаешь что это тупо дроч на семантику. Что такое здравый смысл? Комбинаторы — это здравый смысл? Если ты математик–комбинаторик, то это вообще единственный смысл. Если ты алгебраист, то внезапно, это глупость, потому что львиную долю форм ты так не запишешь.

>На любой вопрос почему в этом языке нету X адепты голанга начинают улулюкать и рассказывать что X НИНУЖНО, как им хорошо живется без Х
Да потому что им действительно хорошо живется без этой хуйни. О какой хуйне идет речь? Дженерики? Пожалуйста, умники, мне приходилось писать сложные структуры данных, распределенные балансные деревья и прочью хуйню — каждый раз ты пишешь эту хуйню по–разному. Внезапно, это не учебник по computer science, есть реальные ограничения и ты вокруг этих ограничений танцуешь. Толковый чувак напишет эту дрянь на любом языке, быдло ничего не напишет и будет только лишь ныть про дженерики. У нас в С++ есть дженерики последние 30 лет и что? Ты сильно в восторге от С++? Я не думаю. Львиную долю жизнь я прописал на С++ и не могу сказать что потратил время как–то особенно хорошо. Ну да, есть полиморфизм, ну да, пишешь умно, но какой ценой? Нельзя делать вид, что на поддержку, в коде, этих потуг не уходит 50% времени. Уходит ведь. Потому что это потуги, потому что это дроч на очередные "пирамидки", на очередную семантику, которой СДВГшный программист пытается занять себе мозги, вместо продукта, который он разрабатывает.

Если речь идет об обработке ошибок, то см. выше что я писал. Ты либо обрабатываешь ошибки, либо ты этого не делаешь. Го делает больно, когда ты этого не делаешь. Все очень просто, "магически", по мановению палочки, ничего нигде не обрабатывается. Остальные пререкания это просто дроч на семантику того, как ты это делаешь. В го этого дроча нет.

Других "проблем" в го нет.
Аноним 05/04/21 Пнд 16:15:58 198667251
>>1986617
Если ты обрабатываешь ошибки, то тебе не нужны "отладочные данные" в проде. В протвином случае ты принимаешь решение НЕ обрабатывать ошибки. ОК, это легетимное решение. Поэтому тебе дают отладочные данные. Не хочешь их иметь? Для этого есть сборочные флаги, которые их исключают.

По умолчанию, предполагается что ты ленивый (так и есть).
Аноним 05/04/21 Пнд 17:16:04 198674252
>>1986204 (OP)
>ГОвноЛанг
>компетентные профи
Чет проиграл с такой самоироничной толстоты в шапке, лол.

мимо
Аноним 05/04/21 Пнд 17:57:07 198681353
>>1986649
>Внезапно, оказывается, на линейных комбинаторах много не напишешь
Вот это кстати действительно горькая правда, куда легче написать и понять:
for {
c1 <- colorList
c2 <- colorList
if c2 != c1
c3 <- colorList
if c3 != c2 && c3 != c1
}

Чем начать городить какую-то хуйню с комбинаторами. Хотя в той же скале это всего лишь синтаксический сахар.
Аноним 05/04/21 Пнд 19:36:14 198701254
>>1986813
Удвою это, нахуй комбинаторы!
Аноним 05/04/21 Пнд 21:49:02 198720455
>>1986672
довен, даже при установке флагов - бинарник дохуя отладочных данных содержит. Все функции в таблице экспорта, вопрос - нахуя? Если я их не импортирую.
Аноним 06/04/21 Втр 11:32:55 198770656
>>1987204
Затем что если готовый бинарник будет весить 10кб, а не 20мб, никто не будет покупать винты. Если бинарник будет жрать 650кб, а не полгига, никто не купит память. И так далее.
Аноним 06/04/21 Втр 11:39:06 198771057
>>1987706
а еще коронавирус придумали чтобі нас всех убіть
Аноним 06/04/21 Втр 14:45:30 198790358
>>1986204 (OP)
Когда попросил одноклассников не приносить в /pr/ goвняк
Аноним 06/04/21 Втр 15:25:08 198794559
>>1986649
> Что тебя смущает, обработка ошибок? Или все–таки отсутствие комбинаторов на уровне языка?
Отсутствует возможность у языка строить абстракции.
> Внезапно, оказывается, на линейных комбинаторах много не напишешь!
И нахуй тебе линейные комбики, если есть структурная рекурсия?
Аноним 06/04/21 Втр 15:53:19 198798160
Аноним 06/04/21 Втр 15:56:08 198798661
image 63Кб, 320x178
320x178
image 2521Кб, 320x178
320x178
>>1986288
>но от го отказываются крупные компании которые его же и пиарили 5 лет назад, включая сам гугол
Аноним 06/04/21 Втр 16:18:56 198802562
redmonk-languag[...].png 496Кб, 2100x1675
2100x1675
>>1987986
После некоторого хайпа пошел на спад, потом немного устаканилось
Аноним 06/04/21 Втр 16:37:26 198805463
>>1988025
там вскукарек был "гугел отказался от голанга".
Ты мне даешь какой-то непонятный рейтинг, где CSS оказывается язык, лол, а ассемблер мол вообще пропал между 2012 и 2013-м.
Аноним 06/04/21 Втр 19:31:12 198830464
index.jpeg 6Кб, 237x212
237x212
Аноним 06/04/21 Втр 19:42:31 198831565
Аноним 06/04/21 Втр 22:00:27 198842466
>>1986664
Давай, расскажи как ты квиксорт отдельно оптимизировал под целые числа и с плавающей точкой.
Аноним 06/04/21 Втр 22:16:28 198844167
>>1986277
Я никого не защищаю, но какие отрасли маргинализованные, а какие нет?
Аноним 06/04/21 Втр 23:07:20 198846468
>>1988424
Причем тут быстрая сортировка?
Аноним 07/04/21 Срд 09:24:49 198870869
>>1988054
Дискорд еще от него отказывался года 2 назад. Там был какой то фатальный недостаток в сборщике мусора го, из за которого у них спайки рисовались на cpu графиках. Перешли на раст кста.
Аноним 07/04/21 Срд 10:14:20 198873070
>>1988708
Фатальный недостаток был скорее в самом сервисе дисковода, где обезьяны–неосиляторы пытались сделать из программы на Го буквально аналог редиса, причем вручную выглючали GC и закономерно получили по рукам. С тех пор сборщик был заточен и под эффективную работу даже в таких случаях, но поезд ушел: блогпост "мы уходем в раст" был написан, всем обезьянам завезли новую методичку, где го кал, а раст ахуенный.

Популярнось Го растет значительно быстрее, чем Раста. Особенно в бизнесе, особенно в тырпрайзе.
Аноним 07/04/21 Срд 12:05:12 198877771
на гитхабе го уже третий по популярности после питона, жавы и жс
Аноним 07/04/21 Срд 12:17:32 198878972
lang.rank.0121.[...].png 59Кб, 1050x825
1050x825
Аноним 07/04/21 Срд 12:44:43 198881773
>>1988789
Ну ты же понимаешь что эти рейтинги ни о чем не говорят? Что раст, что скала, powershell, CSS — показатели этих технологий очевидным образом искажены (не говоря уже о том, что многие из них языками программирования не являются). Количество проектов на расте? Не смешите меня, у каждого второго клоуна–аутиста есть hello world на гитхабе, который умеет примерно чуть меньше, чем нихуя. При этом в бизнесе раст не используется _вообще_ в то время, как го используется везде. По графику может показаться что это технологии одного калибра, когда в реальности, раст — это маргинальная хуйня пошиба хаскеля, а го — это топ-5 актуальная технология для прода.
Аноним 07/04/21 Срд 12:47:25 198881874
>>1988730
>Фатальный недостаток был скорее в самом сервисе дисковода, где обезьяны–неосиляторы пытались сделать из программы на Го буквально аналог редиса, причем вручную выглючали GC и закономерно получили по рукам. С тех пор сборщик был заточен и под эффективную работу даже в таких случаях
Откуда такие технические подробности?
Аноним 07/04/21 Срд 12:58:44 198882575
Объясните нубу как запстить Хэллоу ворлд - установил го на линукс, создал файл с кодом hello.go в домашней директории, ну хз как его интерпретировать, в гугле какой-то треш про модули и разные непонятные способы
Аноним 07/04/21 Срд 13:53:38 198887376
>>1988818
Из их собственного блога, конечно же. https://blog.discord.com/why-discord-is-switching-from-go-to-rust-a190bbca2b1f Ну и еще чуваки из той команды отписывали на оранжевом сайте, я в двух словах понял в чем там заключалась история. Russ Cox из команды Go потом работал с ними в последствии для решения подобного класса проблем. То есть что сделали обезьяны? Они сделали грубо говоря один огромный мап с кучей ссылок (лол) понятное дело что когда эта хуйня на куче (она только там и может быть если ты хочешь использовать динамичесские аллокации, аки map) и ты будешь ее постоянно дергать, фрагментировать, что время от времени нужно будет ее балансировать. Что собственно говоря и делал на тот момент GC в гошечке. Потом в поздних ревизиях concurrent M&S сборщика этот недостаток устранили адаптивным путем (я не помню в каком коммите, но это точно делал russ cox) А что касается растоблядей в дискорде, для того чтобы понять насколько их блог–пост идеологический бред, достаточно просто читануть пару параграфов:

>Discord is a product focused company, so we’ll start with some product context.
...И далее следует примерно НОЛЬ продуктовой информации; любой продуктовик (и я в том числе) сразу понимает, что текст писал дилетант, который примерно нихуя не понимает в продуктах. Это моментальный красный флаг в самом начале статьи, который намекает на то, что дальше ничего толкового быть не может.

>With the Go implementation, the Read States service was not supporting its product requirements. It was fast most of the time, but every few minutes we saw large latency spikes that were bad for user experience.
Во–первых, программные решения это не то, что поддерживает, а то, что может удовлетворять, либо не удовлетворять ограничения. Во–вторых, тупая шлюха все еще ничего не сказала об этих ограничениях. Кроме того, что "large spikes" судя по всему для них неудовлетворительно, хотя хуй знает что это за спайки. Давай посмотрим дальше.

>After investigating, we determined the spikes were due to core Go features: its memory model and garbage collector (GC).
Да-да, конечно, виной всему ни в коем случае не ваш говнокод с кучей ссылок в масштабной хэш–таблице, а именно лейаутинг и сборщик мусора. 100%, отличное оправдание, все обезьяны здесь уже моментально, без всякого сомнения, верят на слово!

>In other words, instead of freeing immediately after the memory is out of use, memory hangs out for a bit until the garbage collector can determine if it’s truly out of use.
Опять обсреньк, это просто бред больной шлюхи. Уже в 2018 году сборщик делал concurrent mark, поэтому на самом деле никого ждать не надо, сразу понятно используется участок или нет. Другое дело что ни один рантайм, да что там, ни один уважаемый аллокатор (я не говорю про арены) не делает моментальные освобождения, ведь это тупо фрагментирует память. Опять–таки, если структура твоего лейаута сложнее, чем вектор.

>These latency spikes definitely smelled like garbage collection performance impact, but we had written the Go code very efficiently and had very few allocations. We were not creating a lot of garbage.
>[...}
>Thus, we figured a smaller LRU cache would be faster because the garbage collector would have less to scan. So we added another setting to the service to change the size of the LRU cache and changed the architecture to have many partitioned LRU caches per server.
Нет, ну этот китч я даже комментировать не хочу. Мусор они не генерировали, за исключением записей и инвалидаций (это кэш, карл!) в ХЭШ–ТАБЛИЦЕ! СУКА.

На самом деле, проблемы с большими кэшами, аренами, оффсетами по производительности и т.д. это все известная лапша. И много кто с ней сталкивается в любом языке с рантаймом, в том числе и в Go, где конкретно с этим классом проблем столкнулись практически одновременно БД чуваки из Cockroach и dgraph (две просто ахуительные СУБД написанные на Go):

Dgraph сделали свое решение Ristretto https://dgraph.io/blog/post/introducing-ristretto-high-perf-go-cache/
Cockroach сделали Pebble для более широкого класса K/V задач, решение на основе RocksDB https://www.cockroachlabs.com/blog/pebble-rocksdb-kv-store/
Кстати, у них есть также ахуенный анализ сложности cgo https://www.cockroachlabs.com/blog/the-cost-and-complexity-of-cgo/ и лекция, которая покрывает большинство проблем, с которыми тебе никогда не придется столкнуться https://www.cockroachlabs.com/community/tech-talks/challenges-writing-massive-complex-go-application/

В итоге имеем что? Обезьяны из дисковода оказались не в состоянии сделать кэш, не в состоянии сделать аллокатор, не в состоянии сделать арену. Да что уж говорить, как оказалось, они в своих потугах ничего не смогли сделать. В итоге, по задаче идеологов, переписали все с нуля на расте (с учетом прошлых ошибок, конечно) и вуаля, внезапно начало работать.
Аноним 07/04/21 Срд 13:58:56 198888077
>>1988825
go run hello.go, это чтобы просто запустить файл, но если ты хочешь больше одного файла запускать, менеджить зависимости и т.д. тогда надо делать mkdir hello && cd hello && mod init hello. Внутри достаточно делать go build && ./hello
07/04/21 Срд 14:26:32 198890578
>>1988777
>третий по популярности
>после питона, жавы и жс
Видно что программист, с нуля считаешь
Аноним 07/04/21 Срд 16:07:51 198902379
>>1988464
Ты же писал, что дженерики вообще не нужны, потому что нормальные пацаны оптимизируют все под каждый тип данных.
Аноним 07/04/21 Срд 17:19:41 198908080
>>1988880
Пишет что нет такой команды
Аноним 07/04/21 Срд 20:19:35 198923781
Аноним 07/04/21 Срд 23:16:06 198942582
>>1989023
Я писал совсем другое, ты просто жопой читаешь. Я сказал что экзотические структуры данных, балансные структуры, распределенные структуры обычно пишутся под конкретный лейаут, под очень конкретные операции. Там тупо не нужны дженерики. Вернее, они может даже и нужны, но в перспективе использование конфликтирующих типов оказывается напряжнее, чем просто придерживаться конвенции.

Что касается квиксорта, так там вообще это не проблема. Есть интерфейс для сортировки, который позволяет тебе создать произвольный slice type, для которого ты можешь менять критерии сортировки посредством полиморфизма, инкапсуляции. В некоторых случаях это намного удобнее, чем городить кастомные сравнивающие лямбды. Плюс есть sort.Slice, который сортирует произвольный слайс с твоей сравнивающией функцией. Конкретно что касается сортировки в го, я тут никогда не упирался в дженерики. В дженерики обычно упираешься когда делаешь какие–то простые, но по сути универсальные структуры данных, деревья. Для этих вещей есть кодогенераторы (ничем не зуже макросов в том же расте, точно такая же мономорфизация) Хотя действительно порой забиваешь и делаешь interface{}, но обычно это все рефакторится на какие–то более конкретные интерфейсы с сохранением безопасности. Паттерн матчинга нет, но никто не запрещает тебе его сделать ручками.
Аноним 07/04/21 Срд 23:59:56 198948883
Это другое.
Аноним 08/04/21 Чтв 00:03:06 198949284
>>1989425
>но по сути универсальные структуры данных, деревья.
НЕНУЖОН
Просто имплементируешь метод Less, и делаешь деревья какие хош.
https://pkg.go.dev/github.com/google/btree#Item
Аноним 08/04/21 Чтв 00:53:57 198955585
>>1989492
Ну да, так обычно и делают.
Аноним 08/04/21 Чтв 11:09:05 198971586
Аноним 08/04/21 Чтв 16:25:56 199017487
Тут уже реквестили как то раз чтива для самоподдува, о крутости гошного подхода к обработке ошибок. Удваиваю реквест, дайте почитать чего умного, а то гугл только негативные статьи подкидывает, а у меня уже жопа пылает от этих err != nil по всему коду блять.
Аноним 08/04/21 Чтв 17:23:05 199022588
Что лучше:

func (obj Object) Method() {}

или

func (obj *Object) Method() {}

?
Аноним 08/04/21 Чтв 17:26:43 199022889
shaq in the wild.mp4 10105Кб, 1280x720, 00:00:41
1280x720
Аноним 08/04/21 Чтв 18:51:37 199034890
Аноним 08/04/21 Чтв 18:56:32 199035191
Аноним 08/04/21 Чтв 18:58:26 199035292
Аноним 08/04/21 Чтв 19:26:48 199041693
>>1990352
Магия FP. Онли лямбды, онли минимализм. Нахуй этот ООП-цирк, когда есть лямбды.
Аноним 08/04/21 Чтв 19:55:54 199046094
>>1990416
Ну да, ООП то у нас нормального нет, остается дрочить на лямбды.
Аноним 08/04/21 Чтв 20:38:24 199049595
>>1990174
Это я реквестил. Вот вчера наткнулся на https://habr.com/ru/company/mailru/blog/490340/, правда самоподдув не удался.
Только еще больше жопа сгорела с того, какой же дегенерат это писал, и с того факта что существует уйма дэбилов которые во всё это верят.
Аноним 08/04/21 Чтв 21:00:05 199051996
>>1990225
что за указатель на тип?
я думал нужно типа
func (*obj Object) Method() {}
мимо не гофер
Аноним 08/04/21 Чтв 22:50:27 199060897
>>1990495
Ну это дефолтный шитпост с хабра. Там день через день подобная хуета публикуется с размазываением абстрактных фантазий по дереву от очередного графомана. А я правда хочу понять, почему сука нельзя сделать НОРМАЛЬНО ебучий обработчик. Да хер с ним даже, это сложно и не 'ПУТЬ GO', ну или исключения ебаные добавить. Невозможно же читать этот пиздец, даже в стандартных библиотеках.
Аноним 09/04/21 Птн 01:18:37 199070798
>>1990174
Просто сделай макрос для этой хуйни и забей хуй. Почему у тебя пылает от безобидной строчки кода? Или ты попросту решил что ты лучше всех, типа ты "не такой", повторять одну и ту же строчку это "не для тебя"?
Аноним 09/04/21 Птн 01:19:08 199070899
>>1990460
Только в го нормальный ООП и есть.
Аноним 09/04/21 Птн 01:20:21 1990710100
>>1990608
Ты не можешь читать этот "пиздец" потому что ты дурилка не хочешь ошибки обрабатывать. Приходи в тред когда подрастешь.
Аноним 09/04/21 Птн 01:27:10 1990718101
>>1990708
Тогда оно и в C есть.
Аноним 09/04/21 Птн 09:59:15 1990849102
>>1990707
Да ничего я не решил, просто это на мой, не самый опытный взгляд это выглядит очень топорно и я хотел бы понять почему именно так сделано. А нахожу только невнятный бред, как на хабре выше, либо отмазы, про то, что в гугле по историческим причинам запрещены исключения, как будто это единственный вариант.
>>1990710
То есть в других языках никто ошибки не обрабатывает, только гоша такой весь золотой, на две строчки логики строчка бессмысленной лапши. Понял - понял.
Аноним 09/04/21 Птн 10:29:19 1990868103
>>1990849
Ты все правильно понял.
Аноним 09/04/21 Птн 10:45:03 1990882104
>>1990519
указатель на тип - это по сути отдельный тип данных, который идет в комплекте с любым типом (кроме интерфейсов)
Аноним 09/04/21 Птн 10:59:45 1990892105
>>1990868
Хуета же подход, в самом деле. Чаще всего никакой обработки, кроме падения с log.Fatal() не требуется, и такой общий обработчик на несколько ошибок очень помог бы. Но нет, давайте копипастить, ибо таков путь.
Аноним 09/04/21 Птн 11:01:36 1990895106
>>1990892
> Чаще всего никакой обработки, кроме падения с log.Fatal() не требуется
Дерjи нас в курсе!
Аноним 09/04/21 Птн 11:14:36 1990906107
>>1990868
Во!! Я и хочу такой самоподдув, как у тебя, чтобы чувствовать, что это не язык ебануто спроектирован, а все остальные говно ебаное.
Ток надо политинформацию найти грамотную.
Аноним 09/04/21 Птн 11:46:32 1990927108
>>1990906
Я не занимаюсь самподдувом, просто смотрю на предметную область с высоты мноgoлетнего опыта. Когда–то у тебя тоjе так получится, все впереди.
Аноним 09/04/21 Птн 12:00:25 1990938109
image 557Кб, 850x1269
850x1269
Ребзя мне тут сказали, что в бекенде петухон почти все и скоро на его замену придет гошечка. Это правда?

Просто сейчас на распутье, куда перекатиться из одной олокоИТ смежной области, но петухон кое-как знаю
Аноним 09/04/21 Птн 12:01:55 1990941110
>>1990938
Совершенно разные задачи.
Аноним 09/04/21 Птн 12:27:28 1990958111
>>1990941
А что тогда на го пишут-то?
Аноним 09/04/21 Птн 12:29:44 1990962112
>>1990958
Апишки для микросервисов.
Аноним 09/04/21 Птн 12:42:29 1990969113
Аноним 09/04/21 Птн 12:43:49 1990972114
Аноним 09/04/21 Птн 12:46:19 1990975115
>>1990962
Ну так микросервис разве не архитектурная реализация того же бекенда?
Аноним 09/04/21 Птн 12:58:12 1990984116
>>1990975
Ну сложную бизнес логику обычно на go не пишут. Чаще всего используют для вынесения высокопроизводительных частей кода в микросервисы на go.
Аноним 09/04/21 Птн 12:58:24 1990985117
Аноним 09/04/21 Птн 13:00:27 1990987118
>>1990984
> Ну сложную бизнес логику обычно на go не пишут.
Да, для этого есть питон.
Аноним 09/04/21 Птн 13:02:20 1990988119
>>1990927
Чем этот своеобразный подход так хорош и почему его все хуесосят и ниодной статьи нормально объясняющей его превосходство нет?
>Ряяя, сначала добейся!! На опыте!! Нипаймешь!!

Выглядит как самоподдув.
Аноним 09/04/21 Птн 13:03:12 1990989120
>>1990984
>>1990987
Бизнес–логика не может быть "сложной", лол, хватит сочинять.

>>1990988
Как пожелаешь, я тебе доказывать ничеgo не буду. Сам поймешь
Аноним 09/04/21 Птн 13:08:30 1990992121
>>1990989
>Бизнес–логика не может быть "сложной", лол, хватит сочинять.
Ну как поработаешь с чем то сложнее магазина про продаже носков - тогда и поймешь.
Аноним 09/04/21 Птн 13:13:09 1990995122
>>1990992
Банковский софт, трейдинg, клиринg (APEX) для тебя достаточно сложно, умник?
Аноним 09/04/21 Птн 13:13:28 1990996123
>>1990989
> Бизнес–логика не может быть "сложной", лол, хватит сочинять.
Как тебе требования в духе "необходимо автоматически проводить платёжные документы указанного типа, счёт получателя в которых начинается с таких-то цифр, счёт отправителя есть в указанной таблице специальных счетов, но только в первый день месяца, если он не является выходным"? И такой хуйни по сравнению с крудами в проекте просто дохуя.

мимо джавист
Аноним 09/04/21 Птн 13:16:46 1990997124
>>1990996
>необходимо автоматически проводить платёжные документы указанного типа, счёт получателя в которых начинается с таких-то цифр, счёт отправителя есть в указанной таблице специальных счетов, но только в первый день месяца, если он не является выходным
Изи, за свою карьеру неоднократно делал такие вещи как для управления инвентарем/персоналом, так и в финтехе (clearning, compliance). ничеgo сложноgo в этом нет
Аноним 09/04/21 Птн 13:17:29 1990998125
Как написать на Го скрипт/приожение, который раз в N часов будет сохраняться сториз из Инсрамма выбранных акаунтов?
А еще в идеале, чтобы на "репостных" сториз он шёл на акканут оригинаьной сториз и сохранялоригинал оттуда
Аноним 09/04/21 Птн 13:19:15 1991000126
>>1990997
>за свою карьеру
Пиздаболом на двачах?
Аноним 09/04/21 Птн 13:20:13 1991001127
>>1990997
Это и есть сложная логика. Сложной логикой называют не то что её сложно писать лол, а то что её много и в ней всё взаимосвязано.
Аноним 09/04/21 Птн 13:20:59 1991002128
>>1990998
Это надо делать на питоне.
Аноним 09/04/21 Птн 13:25:45 1991007129
Аноним 09/04/21 Птн 13:27:16 1991009130
>>1990995
Видимо недостаточно, раз работая с этим ты остался таким узколобым фанатиком.
Аноним 09/04/21 Птн 14:19:42 1991049131
>>1990938
>Ребзя мне тут сказали, что в бекенде петухон почти все
Это правда, новые сервисы на питоне это либо обертка над МЛ хотя на самом деле можно для этого использовать что угодно, даже го либо интернет-магазины на джанге. Если хочешь вкатиться в бекенд бери ноду, на нее вакансий в 4 раза больше, только соглашайся на работу только если они не юзают тайпскрипт, иначе будешь 95% времени фрустрировать.
>и скоро на его замену придет гошечка. Это правда?
Я думаю когда-нибуть го придет на замену джаве и шарпам, но это случиться не завтра и не послезавтра.
Аноним 09/04/21 Птн 14:21:57 1991052132
Аноним 09/04/21 Птн 14:24:06 1991053133
>>1991049
>только соглашайся на работу только если они не юзают тайпскрипт, иначе будешь 95% времени фрустрировать.
Это еще почему?
Аноним 09/04/21 Птн 14:27:01 1991055134
>>1991053
>TypeError: "foo" is not a function
>TypeError: Cannot read property of undefined
>TypeError: null is not an object
при том что, блядь, typeof null => "object"
Аноним 09/04/21 Птн 14:30:57 1991063135
>>1991055
По сравнению с ванильным жиесоговном выглядит, как манна небесная.
Аноним 09/04/21 Птн 14:36:06 1991073136
>>1991053
Ой, я хотел написать, что соглашайся только если используют
Аноним 09/04/21 Птн 14:47:44 1991083137
>>1991073
Ну я так и подумал, поэтому и удивился.
Аноним 09/04/21 Птн 14:48:04 1991084138
>>1991052
что такое "логика" в данном контексте и что такое крон? Я 0 в программировнии. Просто гуглил, и в Инете написано что Го лёгкий язык.
Аноним 09/04/21 Птн 15:06:53 1991100139
>>1991084
>что такое "логика" в данном контексте
Получения списка сторсисов, сопоставление его с локальным списком сторисов, найти несовпадения и скачать их.
>что такое крон
Линуксовый сервис, с помощью которого можно запускать скрипты с некоторой заданной периодичностью
>Я 0 в программировнии.
Тогда тебе нужно либо заплатить денег фрилансерам, либо найти энтузиастов, которые тебе за так напишут это, либо научиться программировать и только после этого попробовать реализовать что-то подобное. С нуля это слишком сложно. Попробуй курсы на степике, если у тебя цель обучиться программированию.
> Просто гуглил, и в Инете написано что Го лёгкий язык.
Так часто говорят, но это не совсем корректно. Это как с топором и пилой - с пилой тебе нужно меньше навыков, чтобы эффективно работать, но тебе всё еще нужны навыки. Когда так говорят, то подразумевают, что знающим любой другой язык будет проще начать писать на го. Но для начала нужно знать другой язык, а так же предметную область - в твоем случае это HTTP API и работа с файлами.
Аноним 09/04/21 Птн 16:05:51 1991141140
Стройте планы на случай неудачи, а не успеха


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

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

Очевидно, что Go пошёл по другому пути. Программисты на Go считают, что надёжные программы создаются из частей, которые обрабатывают сбои до обработки успешных путей прохождения. Учитывая, что язык создавался для серверной разработки, создания многопоточных программ, а также программ, обрабатывающих данные, входящие по сети, программисты должны во главу угла ставить работу с неожиданными и повреждёнными данными, таймаутами и сбоями подключения. Конечно, если они хотят делать надёжные продукты.
#хейтерыСосать
Аноним 09/04/21 Птн 16:36:52 1991157141
>>1991141
>Блог компании Mail.ru Group
Эту графонманию уже раза 3 в треде обоссывали. Сам придумал хуйню - сам с ней поспорил, приправил все это шизоидными высерами про абстрактные ценности и хоба - готова очередная говностатья на хабр, насяльник премию даст.
>надёжные программы создаются из частей, которые обрабатывают сбои до обработки успешных путей прохождения
Как это связано с реализацией обработки через ебанутую копипасту через строку? Доебался конкретно до непроверяемых исключений, которые в полутра полуметртвых языках активно используют, охуеть аргументация. Остальные языкки видимо пздц опасные и ошибки не обрабатывают. Каким же надо быть куколдом чтобы такой пиздец всерьез принимать.
Аноним 09/04/21 Птн 16:41:23 1991161142
>>1991141
>непроверенные исключения представляют собой небезопасную модель программирования
Ахаха, неудачники. Так и будете крэшиться после каждого необработанного эксепшена? Ах да, у вас же даже экспепшонов нету

window.addEventListener('error', function () { return false }) // похуй, пляшем

мимо javascript-господин
Аноним 09/04/21 Птн 16:50:36 1991176143
>>1991141
Берешь и проверяешь данные, а не
Жопа*Собаку/14 = NAN
ой, жопа отпала чо делать.
Аноним 09/04/21 Птн 16:53:56 1991179144
>>1990995
Бизнес логика это еввенты и документооборот
Аноним 09/04/21 Птн 18:26:20 1991271145
>>1990707
Да написать это херня, а вот читабельность кода эти многочисленные проверки ухудшают просто в разы.
Аноним 09/04/21 Птн 19:17:47 1991315146
>>1991271
Когда научишься в скролл приходи
Аноним 09/04/21 Птн 19:37:48 1991326147
Надеюсь, что в go 2 не будет циклов. Уже есть goto, а такое усложнение как цикл это уже излишество
Аноним 09/04/21 Птн 19:50:01 1991335148
>>1991326
Двачну. И лучше избавиться от функций и перейти таки к процедурам. Так же надо избавиться от юникода. Система типов тоже нахуй не нужна, излишество.
Аноним 09/04/21 Птн 20:46:18 1991368149
>>1991326
Утрою тогда, ведь программисты должны во главу угла ставить работу с неожиданными и повреждёнными данными, таймаутами и сбоями подключения, а эти ваши циклы замусоривают мой код, и иногда приходится даже по нескольку строк писать без err != nill.
Аноним 09/04/21 Птн 20:47:56 1991369150
Аноним 09/04/21 Птн 21:44:17 1991399151
>>1991326
Внезапно вздвачну, goto логика выигрывает в каждом случае.
Аноним 11/04/21 Вск 15:20:21 1992701152
Аноним 11/04/21 Вск 15:21:26 1992703153
Если я стану магистром Go, смогу напистаь на нём кастомный движок для AAA клона ГТА?
Хочу свою ГТА, но больше, глубже и качестенее. чем 4 и5. И чем 6-ая часть(в будущем)
или С++ онли?
Аноним 11/04/21 Вск 16:18:47 1992754154
>>1991141
Хоть кто-то ведется на этот маркетинговый буллщит? В нормальных языках функции декларируют как возвращаемый тип, так и возможные типы исключений. Можно их обрабатывать, а можно забить хуй и пусть там наверху разбираются. Это адекватный подход, в отличие от if err != nil
Аноним 11/04/21 Вск 16:55:24 1992781155
Аноним 11/04/21 Вск 17:08:26 1992790156
Аноним 11/04/21 Вск 17:13:40 1992795157
>>1992790
То есть школьник, ясно.
Аноним 11/04/21 Вск 17:15:41 1992797158
>>1992790
>>1992703
Тогда ещё вопросы:
Сколько по-твоему людей участвует в создании ААА-тайтла?
Сколько из них – программисты?
Сколько примерно процентов из всего продукта составляет программирование?
Аноним 11/04/21 Вск 17:24:52 1992808159
Аноним 11/04/21 Вск 17:42:44 1992818160
>>1992797
>Сколько по-твоему людей участвует в создании ААА-тайтла?
от 100

>>1992797
>Сколько из них – программисты?
20% от команды

>>1992797
>Сколько примерно процентов из всего продукта составляет программирование?
Ну тут как считать. Все 100 Гггабайт игры - код.
ССколько времени? Человекочасов?
Я думаЮ, дохуя.

Я лишь сравшивал, го для ААА-геймдева подоздит или нихуя? Я хочу оупен-ворлд игру круче, чем будет ГТА 6. Графон, оптимизация, кастомизабельность кастомного движка, задел на апргрейды и будущее.
Аноним 11/04/21 Вск 18:14:43 1992840161
>>1992818
100 гигабайт это код? А текстуры, модели, музыка и т.д.? Или это тоже кодом генерируется, как в .kkrieger?
Аноним 11/04/21 Вск 18:22:42 1992845162
>>1992840
ну текстуры, модели - это все завязано на движке
музыка тоже. как она проигрывается, синхронихируется, компрессируется и т.д. и т.п
Аноним 11/04/21 Вск 19:25:36 1992882163
>>1992845
Ну смотри, ты же у нас в одного пилишь всю игру, допустим ты лично создал с нуля ИДЕАЛЬНЫЙ движок, знаешь его до каждой строчки кода, лол. Твои действия дальше?
Аноним 11/04/21 Вск 19:27:42 1992884164
Гейдевы опять вместо игр пилят движки?
Аноним 11/04/21 Вск 20:46:13 1992940165
>>1992882
Ищу сценариста,делюсь с ним идеей игры. Нанимаю прогеров, создаём ООО, даю им разобраться с движокм и приступаем к игре. Оупен ворлд , сюжет + мультиплеер, карта - город и пригород, в 2-3-4 раза больше ГТА 5. Питер. Дохуя локаций(ВО, крепость, пушкино, ленино, купчино, кронташтд, петергоф, мб кусок выборга? дохуя моделей нужно будет сделтаь, да), зданий, итереьров, баров на первых этажах, подвалов, мосты, порты, заправки, в общем, пиздец как работы 3д-модельерам и художникам. Машины и общее качесто моделей должн ыбы на уровне ГТА и лушче, а не как в Хеви Рейн или СЕйнтс Роу.
Радио, разговры НПС на уице по телефону, все пересвзяанное межд собой.

Красивая и иделаьно оптимизирваонная графика, на уровне того, ка ГТА 5 восприимется сейчас, чтобы воспринималсь в будущем(когда выдет +5..10...15?? лет%%вы заметили что игры 2000 в 2010 выглядели а кговно а игры 2010 в 2020 выглядят бодрячком? МЕ2, бетман, гта4/5, анчертед 2). Вода, мосты, пляжи, каналы, ночь и вечеР, улицы полные источников света, теефонов, фар, фонарей.
Комедийно-драмтиеский сюжет в стиле ГТА, с юмором, но не как Сейтнс Роу балаган.

уМультиплеер. Охренительый сетевой код, чтобы 80-100 плееров на сервере выдерживал. ЧТобы душевно было.
Аноним 11/04/21 Вск 20:47:40 1992942166
вообще, для Питера и охуенной графики нужно охуенная оптимизаиця. В центре города дохуя мостов, сложных точек обзора(где поле зрения сразу неск. десятков зданий), высокодетализировные здания 19 века, каналы, а нчью - ещё и свет.
Аноним 11/04/21 Вск 22:48:44 1993112167
16180774487030.jpg 44Кб, 382x460
382x460
Аноним 11/04/21 Вск 22:54:40 1993125168
>>1986461
А как тогда все основные десктопные и серверные ОС написаны на Си и нормально?
Аноним 11/04/21 Вск 23:00:51 1993133169
>>1993125
Потому что ОС - это байтоёбский софт, который невозможно написать не на байтоёбском языке, а в те времена, когда писалась их основная кодовая база, разрабов того же Раста даже в яйцах их батьков ещё не было.
Аноним 11/04/21 Вск 23:16:24 1993160170
Аноним 11/04/21 Вск 23:30:28 1993180171
>>1993133
Но ведь ты говоришь
> совершенно не приспособленный для написания чего-либо сложнее автоматизации сливных бачков, и что все нужно было делать по-другому.
а он, оказывается, приспособлен для задач даже более сложных, чем сверхбыстрое асинхронное перекладывание жсонов, которым занимаются все сидящие в треде

>>1992940
А корованы можно будет грабить?
Аноним 11/04/21 Вск 23:33:54 1993184172
>>1993180
> сверхбыстрое асинхронное перекладывание жсонов, которым занимаются все сидящие в треде
Лол, тут половина - не гоферы, а жирные тролли.
Аноним 11/04/21 Вск 23:34:16 1993185173
>>1993184
Тем не менее, занимаются они тем же самым, просто на других языках
Аноним 11/04/21 Вск 23:42:24 1993192174
>>1993180
>А корованы можно будет грабить?
Логика в идеях очень обширная и глубокая. Без роста деревьев в рил тайм(понмии кто общения Мульнье 10+ летней давности? эх время летит), но хочу общий уровень качества мира и геймплейя как рдр 2 и гта 6.

Пока думаю вот, как в GTA VC пасхалка с появляющимся в опредленной предполуночное время изображением пениса, составленном из горящих окон отеля, была реализованна. В оопреденное игровое время менялась текстура облицовки? или что?
Аноним 11/04/21 Вск 23:55:04 1993211175
>>1993112
Чел, представть.
Питер 90-ых или ранних нулевых. Купчино, Дыбено, Автово в роли гетто, НАШИ блять улицы, гаражи, тусклые поребрики(ты вообще обращал внимание как реалистично в ГТА 5 нарисованны текстуры асфальта? их там десятки разных! и бордюры тоже). Мажорный центр, Васька с лысыми парняи и рокерами по вечерам, порты с фсбшными мутками, город охуенно пёстрый. А я ещё загород хочу. И Кронштадт. Каналы, туристы, разговры на улицах. разовры и музыка из баров с кабанчикма на корпоративах. учи интеренсхы миссий, от закладок до уровня фсб.

Я даже думал о физике управления авто, мне в принципе нравится гта 5 больше чем гта 4(можно перемещатся быстрее), но было бы забавно(до N-того раза, после котрого захочется разбить клаву) сделать например на просёлочных частях колею и вохможность немного застрять. НЕ МАДРАННЕР, а что-нибудь казуальне по фану, типа больше непослушности и меньше сцепеления.

Радио, полицеское радиос заспинные в стиле гта 4-5 речами(предзаписааные названия улиц и типа преступлений).

Я только в обшмх чертах держу в голове, хз как реализовтаь свободный масс-шутинг в РФ. Не будет ли инородно выглядеть, не желая превратиь игру в Сейнтс Роу балаган и оставляеясь в рамках сатиры типа ГТА 4 и 5.

Но блин я хчоу игру уровня ААА+, как рдр2/гта6. ДАже просто сделать пустой город такого уровня - это 500+ моделей зданий, высококачественные и всё в одной стилистике. Без повторящихся черт, вывесок и т.д. . Качестенные модели 50+ разных машин, а не как в Хеви Рейн. ЧТобы шины простреливались. Чтоы диски высекали искры и пыль. Это ж сколько работы. А когда трубы глушителя в воде - пузыри из них выплывают. Чтобы про стрельбе в стёкла - они разбивлись как тдельные объекты.

Свет для кадогого здания, мокап, сценарий, сотни страниц реплик актеров. Графика, оптвимизация, саундизнай, дизайн сцен, вообще сборка открытого бесшовного мираю. Движок и инструменты для создания игры.
Аноним 11/04/21 Вск 23:59:07 1993225176
У вас есть инфа о сетевом коде ГТА 5?
мне интересно, когда например на сервере 24 человека - максиумум, и я на складе рядом с портом стреляю в стойку для интсрумнетов и они падают на пол - у других игроков в этот момет на карте - котоыре находятся рядом или вдругом конце карты - тоже пдают?
Или я взрываю бочки с топливом на холмах к востоку от ЛС - другие игроки увидят их взорванными, если подъедут ко мне?

Аноним 12/04/21 Пнд 00:00:23 1993227177
Аноним 12/04/21 Пнд 00:05:47 1993230178
>>1993227
Одевайся, деньги на тумбочке.
Аноним 12/04/21 Пнд 00:13:20 1993233179
>>1993230
Не вижу их там. Сейчас придут братки, заберут все что у тебя есть, жмот.
Аноним 12/04/21 Пнд 00:17:21 1993238180
>>1993160
Можно высрать подобие, но не ОС. Нужен обязательно компилируемый язык на котором можно делать сырую арифметику указателей.
>>1993180
>Но ведь ты говоришь
Ты анонов путаешь, я не он.
Аноним 12/04/21 Пнд 00:22:08 1993247181
image.png 353Кб, 500x281
500x281
Аноним 12/04/21 Пнд 00:27:37 1993256182
>>1993247
Да, по кругу тебя пустят будешь танцевать до утра.
Аноним 12/04/21 Пнд 00:30:42 1993260183
>>1993256
Как что-то плохое :3
Аноним 12/04/21 Пнд 00:35:31 1993263184
image.jpg 52Кб, 720x720
720x720
Аноним 12/04/21 Пнд 02:46:38 1993336185
>>1993211
Чел, получится гта са рашн эдишн. Кринге тот еще.
Аноним 12/04/21 Пнд 03:11:42 1993337186
Вопрос: какого хуя нет нормального веб фреймворка, который будет за меня нормально десериализовать жсоны, не сосать по производительности, и избавит от ебаного бойлерплейта стандартной либы? Потрогал echo, и оказалось, что он даже не может распарсить map[string][]MyStruct, приходится корячиться с вычитыванием из ридера реквеста и встроенным анмаршалером.
Перешел с жявы, и меня поражает дикость местной экосистемы, словно в 2007 вернулся.
Аноним 12/04/21 Пнд 03:26:10 1993339187
15629829761440.webm 1404Кб, 512x384, 00:00:08
512x384
videoplayback.webm 378Кб, 320x240, 00:00:08
320x240
>>1993337
>GOвно
>какого хуя нет нормального
Сам и ответил.
Аноним 12/04/21 Пнд 03:33:25 1993342188
Что-т посмотрел на ваш язык. Какая-то нерасширяемая параша. Как на таком программировать?
мимо лишпер
Аноним 12/04/21 Пнд 08:16:15 1993416189
>>1993342
>Как на таком программировать?
if err != nil {
goto oshibka_v_json
}
Аноним 12/04/21 Пнд 09:04:49 1993437190
>>1993336
Нет. Я же говорю не про мод, а про ААА+ игру
Аноним 12/04/21 Пнд 09:27:31 1993442191
Какие требование нужны чтобы без опыта устроиться на работу миддлом? Или сразу миддлом не возьмут? Я Донован Керниган прочитал , с гитом разобрался немного, прошел курс на степике. Я готов или ещё что-то нужно? Работаю сейчас инженером, образование высшее
Аноним 12/04/21 Пнд 09:32:45 1993446192
1637089280.jpg 36Кб, 583x481
583x481
Аноним 12/04/21 Пнд 10:07:02 1993464193
1618211222006.jpg 138Кб, 807x372
807x372
1618211222007.jpg 276Кб, 1280x720
1280x720
>>1993211
Поиграй лучше в васянский аддон для гта «Барвиха». Примерно так твоя говноигра будет выглядеть
Аноним 12/04/21 Пнд 11:13:19 1993525194
>>1993464
Чел, я говорю про ААА+ некстген/каррентген. Не мод, не просто поделие, а игру уровня сливок индустрии, уровня ГТА. не Мафии 2/3, не Сенйтс Роу и Слипинг Догс, а самой ГТА. Чтобы каждая деталь, свет, мусо на улице, освещение, цвета, анимацяи и физик(инерция) персонажей на уровне ГТА.

Ясен хуй, это игра на 3+ года разработки с несе. сотнями вовлечённых людей и бюджетом в 10+ млн долларов(скорее даже в неск. десятков миллионов).
Аноним 12/04/21 Пнд 11:19:25 1993529195
>>1993525
Сюжета нормального там естественно как всегда не будет, только на графоний дрочить
Аноним 12/04/21 Пнд 11:23:12 1993533196
Аноним 12/04/21 Пнд 12:10:10 1993582197
>>1993529
Будет классный сюжет и мультиплеер с душой.
Аноним 12/04/21 Пнд 13:26:03 1993634198
>>1993442
Вкатиться невозможно, весь этот хайп вокруг айти поднят продаванами курсов. Конкуренция такая, что все итт скоро пойдут писать код на goвне за еду. Не стоит вскрывать эту тему.
Аноним 12/04/21 Пнд 16:12:16 1993804199
>>1993634
Да ладно не гони. Вроде слышал что если идёшь гофером то ещё и докер нужен.
Аноним 12/04/21 Пнд 20:09:24 1994066200
Сап. На го есть какие-то стандарты по микросервисам? Что сейчас модно/используется? Что покурить по этой теме? Сам бэкендер на ноджс, в основном работаю с микросервисной архитектурой. Решил го попробовать, пока что чисто для себя.
Аноним 12/04/21 Пнд 20:39:48 1994112201
>>1993804
Ладно бы, если докер. Без кубернетеса и знания экосистемы авс сейчас никуда...
Аноним 12/04/21 Пнд 21:47:12 1994142202
>>1992754
>В нормальных языках функции декларируют как возвращаемый тип, так и возможные типы исключений.
Т.е. для тебя кроме жабы других языков нет, я правильно понял?
Аноним 12/04/21 Пнд 21:53:42 1994145203
>>1994066
Стандарта нет, каждый дрочит как хочет. У меня на работе http сервер из стандартной либы, тебе я бы рекомендовал попробовать https://github.com/go-kit/kit , а если не понравиться - смотри что-то другое в https://awesome-go.com/
Аноним 12/04/21 Пнд 22:06:53 1994149204
>>1994145
Выглядит интересно, спасибо, погляжу.
Аноним 13/04/21 Втр 01:11:49 1994289205
Как думаете, когда уже завезут девиртуализацию интерфейсов? Это же очень очевидная оптимизация, которая автоматически сделает кучу кода быстрее и уберет кучу аллокаций в хипе
Аноним 13/04/21 Втр 16:17:43 1994726206
photo2021-04-13[...].jpg 105Кб, 1280x994
1280x994
Аноним 13/04/21 Втр 16:39:02 1994771207
Аноним 13/04/21 Втр 20:39:39 1995058208
Аноним 13/04/21 Втр 20:44:24 1995063209
>>1994289
Её обязательно завезут в Go 2, как и дженерики.
Аноним 13/04/21 Втр 22:54:06 1995237210
>>1994289
Лучше убрать интерфейсы вообще, ненужное усложнение
Аноним 13/04/21 Втр 22:57:17 1995244211
>>1995237
Нельзя, слишком много легаси-кода юзает пустой интерфейс.
Аноним 14/04/21 Срд 10:16:16 1995550212
>>1995063
>Go 2
Уберут ли в языке Go Two оператор goto ?
Аноним 14/04/21 Срд 10:38:55 1995572213
>>1995237
если это не рофл, то почему ненужное?
Аноним 14/04/21 Срд 10:44:42 1995577214
>>1995572
Тот момент, когда уже не можешь отличить толстоту от GO-WAY. Иронично.
Аноним 14/04/21 Срд 10:53:16 1995583215
>>1995577
так наоборот - go-way как раз с интерфейсами. а вот толстоту я не выкупил, это правда
Аноним 14/04/21 Срд 23:46:10 1996438216
>>1995244
Оставить только пустой, и дело с концом.
Аноним 14/04/21 Срд 23:46:59 1996439217
>>1995063
Go 2 - это какая-то местная земля обетованная?
Аноним 15/04/21 Чтв 00:02:15 1996443218
>>1996439
Священный грааль с более адекватной обработкой ошибок и шлюхами дженериками, да. По итогу окажется, что все сделали через жепу, потому что НИНУЖНО РРЯЯЯЯ!!1
Аноним 15/04/21 Чтв 00:04:55 1996447219
>>1996443
>По итогу окажется, что все сделали через go-way, потому что программисты должны во главу угла ставить работу с неожиданными и повреждёнными данными, таймаутами и сбоями подключения
Поправил тебя.
Аноним 15/04/21 Чтв 00:12:48 1996451220
>>1995583
Так это новая методичка пока не вышла просто, вот все и в смятении. Вот выйдет, напишут вдохновенных гайдлайнов, скажут интерфейсы ваши, дженерики - это от лукавого, не было ооп нормального, неча и начинать. Вот тогда заживем наконец.
Аноним 15/04/21 Чтв 00:19:39 1996454221
>>1996447
Тут главное не ошибиться, где все еще GO-WAY, а где просто шиза свидетелей GO-WAY. Тонкая грань, и судя по отсутствию нормальных енумов и дженериков, создатели пщ ее не особо ощущают.
Аноним 15/04/21 Чтв 01:01:00 1996471222
golang-color-ic[...].png 17Кб, 185x180
185x180
GO-TWO
Аноним 15/04/21 Чтв 01:07:02 1996475223
блее как перестать проигрывать с этого готу
Аноним 15/04/21 Чтв 01:37:35 1996484224

>>1996451
Я из треда в тред повторяю и повторю ещё раз - дженерики от лукавого, не нужны. Если у тебя часто встречается случай, когда тебе надо иметь одинаковую функцию, но с разными типами данных, тебе надо генерировать код таких функций. Вот какой-то удобный инструмент для генерации (например встроенный подъязык и генератор в составе тулчейна) я бы хотел видеть. Явное лучше неявного, всегда. Но это не значит, что явное нельзя автоматизировать.
Аноним 15/04/21 Чтв 01:55:58 1996486225
>>1996484
Дженерики - это явное, дебил.
Аноним 15/04/21 Чтв 02:06:47 1996488226
>>1996484
>когда тебе надо иметь одинаковую функцию, но с разными типами данных, тебе надо генерировать код таких функций
>какой-то удобный инструмент для генерации
Называется дженериком, лол. Реализуется на уровне самого языка.
Аноним 15/04/21 Чтв 02:39:08 1996494227
>>1996488
>>1996486
Дженерики неявные, потому что их него сразу получается двоичный код, который нельзя прочитать. В предложенной мной схеме программисту доступен исходник.
Аноним 15/04/21 Чтв 07:43:53 1996569228
>>1996494
А из интерфейсов, которые суть утиной типизации дохуя сразу получается оптимизированный двоичный код
Аноним 15/04/21 Чтв 07:52:54 1996572229
Вам дали лямбды, ADT, общий тип данных (список, как универсальный тип). Нет, блядь, придумыапют хуйню
Аноним 15/04/21 Чтв 08:42:03 1996581230
>>1996484
> дженерики от лукавого, не нужны
Слишком толсто.
Аноним 15/04/21 Чтв 09:12:46 1996598231
>>1996494
Не верю исходнику - сиравно смотрю дизасм.
Аноним 15/04/21 Чтв 09:22:18 1996603232
Ви знаете, что меня смущает в гошечке? Что ее/го разработали во времена мультикультурализма, дабы средний индус или китаец или негр-трансгендер мог продуктивно пилить тасочки, не стреляя в ногу себе или соседям по кубику.
Аноним 15/04/21 Чтв 09:37:10 1996612233
>>1996603
Для индусов надо делать язык, в котором будет запрещена копипаста, иначе они всё равно наговнякают индусокода
Аноним 15/04/21 Чтв 09:56:35 1996618234
>>1996612
Го пошел другим путем, он это наоборот поощряет, один из главных принципов го вэй - RY ( Repeat yourself ).
И шизики на серьезе утверждают что так правильнее, и лучше повторить тот же код 20 раз, зато явно и наглядно, чтобы не возникало необходимости вчитываться в код.
Аноним 15/04/21 Чтв 12:14:56 1996772235
>>1996618
> Го пошел другим путем, он это наоборот поощряет, один из главных принципов го вэй - RY ( Repeat yourself ).
Ебать принцип. Сейчас бы столпы DRY, KISS, SOLID нарушать.
Аноним 15/04/21 Чтв 14:24:18 1996912236
>>1996772
Сейчас бы молиться на эти столпы и использовать их везде, даже если в этом нет острой необходимости.
Аноним 15/04/21 Чтв 14:44:20 1996939237
>>1996912
Макак, спокойно. Клепай дальше свои лестницы из if-ов.
Аноним 15/04/21 Чтв 15:36:31 1997032238
>>1996939
Не доводи до абсурда. Я лишь указал тебе на то, что эти "принципы" - на самом деле лишь рекомендации, и есть ситуации, когда их применение лишь усложняет код. Примеры приводить лень, да и похуй.
Аноним 15/04/21 Чтв 16:41:45 1997136239
>>1997032
Сначала ты такой: ну это всего лишь рекомендации, не буду усложнять код
Ты через несколько месяцев: бляяяядь как в это говнище всунуть очередное требование, чтобы оно всё к хуям не развалилось
Аноним 15/04/21 Чтв 17:21:00 1997172240
>>1997032
Для тебя, если есть хороший опыт - вполне может быть.
Но транслировать такие идеи - чистое зло, особенно для нубов. Ебанашки начинают повторять это как мантру и хуярить говнокод, потому что еще неспособны самостоятельно оценивать перспективы масштабирования. Каждый сам к этому придет со временем, но до этого лучше воспринимать все эти принципы как обязательные.
Аноним 15/04/21 Чтв 18:16:51 1997253241
>>1996772
Солидошиз тут как тут
Аноним 15/04/21 Чтв 18:18:09 1997257242
Аноним 15/04/21 Чтв 18:23:09 1997259243
>>1997257
Когда наконец-то будешь писать что-то сложнее мувисерчера и тудушки, сам же откажешься от этого кала. Хотя никогда не будешь лол.
Аноним 15/04/21 Чтв 19:06:54 1997302244
>>1996939
Эх, шас бы дебажить импорт импорта класса с обобщенным апи и проверкой данных через 200 функций перевода времени с тихоокеанского в юникс тайм
Аноним 15/04/21 Чтв 19:23:14 1997312245
Как понять когда использовать указатели и когда нет?
Аноним 15/04/21 Чтв 19:26:36 1997318246
>>1997312
Никогда не используй указатели.
Аноним 15/04/21 Чтв 19:38:57 1997334247
Как понять когда использовать Go и когда нет?
Аноним 15/04/21 Чтв 19:51:09 1997344248
>>1997334
Использовать :
>когда ты во главу угла ставишь работу с неожиданными и повреждёнными данными, таймаутами и сбоями подключения.
Не использовать:
Когда хочешь невырвиглазный код.

Все по методичке кстати!
Аноним 15/04/21 Чтв 20:51:43 1997403249
>>1997312
указатели это для компилятора ил иструктур на Си, в остальных случаях ты будешь ограничен ООП-хуетой с разной иерархией одних и тех-же объектов типа поликлиника ЕБланНейм и он должен знать как его нужно лечить, но если ебланнейм пошел туда не лечится а лечить(ремонтировать) поликлинику то другое.
Вообщем хуета, и надо роли строить и данные тащить отдельно через указатели
Аноним 15/04/21 Чтв 20:58:55 1997418250
>>1997403
Стопе, я изобрел процедуры вот ведь незадача, жаль ебланы на СИ++ строят дом с крыши и внутри площадь выделяют через хип.вдруг не вместится гипотетический холодильник на 50к литров
Аноним 15/04/21 Чтв 21:26:00 1997438251
Здравствуй двач, на связи джавист (лвл ~мидл), хотел спросить так как решил попробовать для себя этот ваш GO, идеи для пет проекта. У себя на уме банальное e-commerce приложение по типу ( гейт на джаве и пара микросервисов на го, общение через РЕСТ). Заранее благодарю
Аноним 16/04/21 Птн 08:58:27 1997691252
Аноним 16/04/21 Птн 09:35:54 1997704253
unnamed.jpg 35Кб, 400x337
400x337
>>1997344
Я понял, но Go пишут пессимисты. А что, если не получится? А что, если не вернёт ответ? А что, если не существует? А что, если ... С такии настроем надо в тестировщики идти, ей-богу.
Аноним 16/04/21 Птн 09:57:47 1997718254
>>1997704
На это го это ещё не в крайней степени, так что жить можно.
Аноним 16/04/21 Птн 11:31:52 1997808255
>>1997344
А почему они приходят повреждённые, с таймаутами и сбоями? Потому что приходят от сервиса на го. Таким образом, если хотя бы один сервис сделать на го, все взаимодействующие с ним тоже придётся на него переписывать. Язык — раковая опухоль.
Аноним 16/04/21 Птн 12:25:42 1997857256
>>1997808
Не можешь победить - возглавь, пока не поздно.
Аноним 16/04/21 Птн 20:13:54 1998405257
А теперь вы такие берете и поясняете, почему я должен использовать не жяву, а именно го для своего супернагруженного 300к пользователей в наносекунду бэкенда.
Аноним 16/04/21 Птн 22:25:06 1998504258
>>1998405
Моча съела говно. Есть шарп, делающий быдложабу и goвно ненужными.
Аноним 17/04/21 Суб 02:40:16 1998655259
>>1998504
>>1998405
Разве у го перформанс не будет получше джавы и шарпа?
Аноним 17/04/21 Суб 04:14:08 1998688260
>>1998504
>А я люблю обмазываться не свежими сртификатами от майкрософт и дрочить. Каждый день я хожу по земле с черным мешком для мусора и собераю в него все сертификаты которые вижу. На два полных мешка целый день уходит...
Аноним 17/04/21 Суб 08:49:12 1998781261
>>1998504
Шарп сосет в плане экосистемы фреймворков и библиотек. А еще под линуксом жява все равно будет лучше, ибо работает под ним без костылей. Шиндовс, как все мы понимаем, - ос для лохов.
>>1998655
Чет не видел достойных сравнений производительности в разных случаях.
Аноним 17/04/21 Суб 11:04:30 1998853262
Аноним 17/04/21 Суб 11:23:52 1998866263
Аноны, как вкатиться? Я лет 10 не программировал ибо быдлоадмин и говнодевопс, думаю язык как раз под меня.
Проблема в том, что не знаю что вообще написать. Я работаю с кубером и терраформом, которые написаны на go. Может какой-то плагин или оператор написать, но я хз что. Подкиньте идей проектов для новичков в этой области
Аноним 17/04/21 Суб 11:41:15 1998867264
>>1998866

Нужно просто подставить жопу настоящему гоферу, чтобы он посадил в тебе зерно, иначе никак духом го проникнуться не получится.
Аноним 17/04/21 Суб 14:09:13 1999001265
>>1998405
Джава - отвратительная, а Го - терпимый.
Аноним 17/04/21 Суб 14:13:38 1999004266
>>1999001
Субъективно. Ты давай поконкретнее, что именно не нравится и почему?
Аноним 17/04/21 Суб 15:13:11 1999078267
>>1999004
Больше кода, ниже удобочитаемость, хуже производительность, зоопарк фреймворков, больше костылей, выше вероятность получить непредсказуемое поведение, больше узких мест в архитектуре, требования к проектированию гораздо выше, список можно продолжать.

мимо охуевший архитектор
Аноним 17/04/21 Суб 15:39:36 1999113268
>>1999078
if err != nil тоби в сраку, архитектор блять. Накодогенерируют себе лычек и выебываются. Ты хоть на го писать пробовал? Без фреймворков бойлерплейта еще больше, чем в жяве, при этом нормальных фреймворков для построения веб крудов не завезли, все какая-то ограниченная хуйня.
Настройки X
Ответить в тред X
15000
Макс объем: 40Mб, макс кол-во файлов: 4
Кликни/брось файл/ctrl-v
Стикеры X
Избранное / Топ тредов