Вкатывальщик НЕГОДУЕТ НА ГО # OP 3354705 В конец треда | Веб
Сап /pr/

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

И в чем суть, из того что я понял:
1. Деды писали на таких языках как C++/Java/C# и тд, которые используют концепцию Shared Memory, где взаимодействие между потоками реализовано через разделение памяти, и конкретно через такие механизмы как мьютексы, семафоры, атомики и тд

2. Другой дед (Тони Хоар) предложил альтернативную концепцию CSP, она описывает взаимодействие между независимыми процессами посредством передачи сообщений, а не через разделение памяти

3. И вот изучаю я каналы, потом перехожу к мьютексам, потом к событиям, потом к атомикам, к семафорам, к waitgroup и в процессе возник один очень неприятный блять вопрос, А НАХУЯ?

НУ ВОТ НАХУЯ БЛЯТЬ ВСЕ ЭТО КОГДА ЕСТЬ КАНАЛЫ НАХУЙ?

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

Я лучше эти ебаные 3-4 месяца жоской долбежки потратил бы на какую-нибудь скуфскую джаву или C++

В общем, что по итогу:
1. ООП нет, вместо него ебанутый огрызок
2. Исключений нет, зато есть дрочка с ретурном и с IS/ASS
3. Дженерики есть, но по слухам самих пейсталей руками на этом Говне ОН И НАХУЙ НЕНУЖОН ИМ
4. Каналы есть, по ним рекомендуют передавать кал
5. Для того чтобы дождаться завершения горутин юзай sync.WaitGroup, люди для тебя специальный счетчик придумали прикинь...
6. Для того чтобы отменять операции юзай контекст, если ты жертва инцеста можешь даже данные передавать, тебе можно
7. А дальше блять даже сил не хватило расписать, в негатив свалился пока мысль собирал, вопрос свой озвучил выше.

В чем я не прав?
2 3354713
В чём вопрос-то? Существуют разные примитивы синхронизации и также куча разных методов ipc. В линуксах это всё на уровне системы, в винде хз как. По какому принципу и какие именно в твою обёртку для дёрганья сишного апи их добавляли, да хуй его знает.

>Деды писали на таких языках как C++/Java/C#


На них и сейчас пишут все. Вакансии в рамках квот для лгбткплас пидеrustов погоды не делают.
3 3354721
>>4713

>В чём вопрос-то?


В том что, непонятен этот восторг вокруг мнопоточности в го, все ссутся от каналов и горутин, а по факту юзают те же механизмы которые есть в Java/C++ и тд, и в чем прикол то ебана?
4 3354726
>>4721

>все ссутся от каналов и горутин


Потому что тупые и некомпетентные вкатуны в модную профессию с курсов с магическим мышлением.

>которые есть в Java/C++


Чел, они везде есть, это СИСТЕМНЫЕ механизмы, да-да все эти пайпы, хуяйпы, очереди сообщений, сокеты, тхреады, это всё тебе доступно в обычной сишкепл факту.
5 3354727
>>4721
Прикол в хайпе, но многие бигтех уже прозревают, что писать бизнес логику на говне это очень плохая идея. Вот микрокод на 200-300 строк, окай.
6 3354731
Тебя кто-то заставляет писать на говнине? Или первый раз в жизни хуёвый ЯП увидел? Спокнись короче вкатунец)
7 3354732
>>4705 (OP)
Неосилятор, хих
8 3354733
Алсо что ты там с ОКТЯБРЯ делал пока до конкаренси не дошёл? Синтаксис циклов учил?
9 3354789
>>4705 (OP)

>В чем я не прав?


Нах ты на Го повелся, еще бы Растом обмазался
10 3354947
>>4705 (OP)

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


Это твоя личная фантазия. Никто такого никогда не декларировал.

Го обычный язык с разделяемой памятью, а каналы это простые, копеечные, советские очереди.
11 3355079
Что там 3 месяца учить? Или это твой первый язык?
А так да, серьезную задачу зачастую без мьютексов/атомиков и других примитивов синхронизации не решить, что логично. Но каналы и горутины сильно упрощают жизнь.
12 3355084
Алсоу, просто попробуй писать на другом языке, где нет каналов и встроенных легких потоков. Тогда поймешь, почему кто-то "ссытся" от модели конкурентности го.
Обновить тред
« /pr/В начало тредаВеб-версияНастройки
/a//b//mu//s//vg/Все доски

Скачать тред только с превьюс превью и прикрепленными файлами

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