М.Двач / Программирование

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

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

Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.

195 Кб, 1024x1004

232 Кб, 559x604

53 Кб, 612x459

136 Кб, 800x528

GOLANG #8 ОТРЕЗВЛЯЮЩИЙ 06 Апр, 06:50 #967828 В конец треда | Веб

Go - плохо задезайненный язык в котором нет практически ничего (какие там дженерики, они даже в перегрузку функций не смогли).
Ввиду специфики языка и очень большого авторитета одной известной компании, язык собирает вокруг себя достаточно маргинальное сообщество, которое многим доставляет лулзов (в том числе и в /pr, за счет чего уже выходит #8 тред).
https://www.reddit.com/r/gobashing/
https://www.reddit.com/r/programmingcirclejerk/

Что касается языка как инструмента.
Политика языка построенная на том, что "им" лучше знать что тебе нужно и если после этого ты еще захочешь вкатится в этот язык, знай - единственно достойная там плюшка это горутины и все (хотя некоторые аноны ставят под сомнения их божественную важность, но тут стоит отметить, что технология корутин на самом деле интересная штука, но насколько она востребована "в таком" языке - непонятно).
И знай, несмотря на свою компилируемою природу - го такой же медленный как джава с ее виртмашиной:
https://www.reddit.com/r/golang/comments/62tmcg/why_is_this_go_solution_faster_than_the/dfpc7ca/
(хотя это лулз, но в этом что-то есть - го дает такой же перформанс как не прогретая джава, но при этом сравните что дает вам жаба и го).

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

Го - самый модульный язык
Ага. Особенно когда в отсутствие обобщенного программирования (дженериков) приходится копипастить логику.

Го - быстрее питона
Верно!
То что такие трендовые компилируемые языки как свифт или го побеждают интерпретируемые языки (причем не всегда) - это просто кладезь лулзов.

Го умеет в ООП?
Несмотря на то, что ранее евангелисты возносили, мол в го есть ООП, но специфичное, сейчас суслики активно топят за то, что язык чисто процедурный (вероятно методичка поменялась).
Причем суслики упарываются настолько, что готовы рассказывать о том, что полиморфизм - это плохой дизайн (ввиду ограниченного мышления и трех святых слов ООП, суслики решили, что полиморфизм чисто ООП фича). На самом деле, разработчики принудительно-безболезненно заставляют по средствам ошибок циклического импорта использовать интерфейсы (о чем говорилось в их группе).
Так есть ли ООП? Да не важно, важно что гоферами все равно придется использовать интерфейсы, а значит активно маневрировать между структурами и джава-объектами с геттрами и сеттерами (такой полу-ООП поневоле).

Стоит ли изучать язык?
Несомненно стоит, потому что "завтра" этот язык заменит твой основной язык на работе (это неизбежно анон, начни любить его прямо сейчас)

Ответы967832968728

06 Апр, 07:01 #2 #967830

>>967814
>Да и обычно пыхеры, насколько я спрашивал у знакомых, перекатываются как раз на Го
То что делают пыхеры давно надо маркировать как порнографию.
На самом деле, пхп настолько скопировал джаву и там настолько сильное ООП-головного мозга, что реально пахеры перекатываются на жабу (если задача требует перформанса или потоков, а так никто с динам языков никуда не перекатывает, скорость разработки важнее дроча на язык)

416 Кб, 1561x2048

06 Апр, 07:10 #3 #967831

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

Ну а для всего остального есть Node.JS, Java, Python, PHP. Давайте не будет тут морды друг другу грызть, ок?

Ответы967834

06 Апр, 07:12 #4 #967832

>>967828 (OP)
>Го умеет в ООП?
Черновой вариант абзаца кинул, но вы меня простите

06 Апр, 07:14 #5 #967834

>>967831
Это было бы так, если бы комьюнити и евангелисты не лезли с ним куда не надо.

Ответы967842

06 Апр, 08:11 #6 #967842

>>967834
Так никто и не лезет ващет. Это вот хаскелисты в любой жопе затычка.

06 Апр, 09:19 #7 #967857

>Стоит ли изучать язык? Несомненно стоит

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

Ответы967858

06 Апр, 09:21 #8 #967858

>>967857
Когда руководство скажет писать на нем проект, ты им покажешь обсуждение на дваче?

Ответы967878

06 Апр, 10:28 #9 #967878

>>967858
Поносить го нужно, чтобы создать противовес маркетинговому буллшиту, которое разносит го-коммюнити. Неокрепшим умам легко нассать в уши. Взять к примеру их йоба-гц, который на деле не предсталяет из себя ничего нового. Улучшили одни характеристики за счёт ухудшения других и рассказывают про первые, умалчивая про вторые.
Если руководству вдруг придёт в голову принести го в проект, то донесу все минусы из https://github.com/ksimka/go-is-not-good. Не поможет - впизду такое руководство. Перейти с питона на го это как вернуться в каменный век.

Ответы967920968119968126968210

06 Апр, 11:39 #10 #967920

>>967878
Назови-ка свою контору хочу рассказать твоим хомячкам-начальничкам за выгоды /го/вна

06 Апр, 11:52 #11 #967936

Сап, /go/внач. Есть вопрос.
Как в говне обойтись без копипасты секции проверок ошибки если производишь подряд несколько операций над файлами? Есть ли сахар для таких вещей?

Ответы967957967959967985968104968260969362

06 Апр, 12:09 #12 #967957

>>967936
Никак.
Нет.
Соси хуй, быдло.

06 Апр, 12:09 #13 #967959

>>967936
>говно
>сахар
Выбери одно.

06 Апр, 12:24 #14 #967985

>>967936
Никак. Пайк сказал, что это фича.

06 Апр, 12:54 #15 #968013

Скажите пожалуйста, мне подойдет ваш го, если я люблю сосать хуи?

Ответы968018968111968128

06 Апр, 12:58 #16 #968018

>>968013
Лучше хаскель.

06 Апр, 15:08 #17 #968104

>>967936
Просто игнорируй, че как маленький

06 Апр, 15:18 #18 #968111

>>968013
Если сосать то хаскель

Ответы968115

258 Кб, 1600x1200

06 Апр, 15:22 #19 #968113

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

Ответы968116

06 Апр, 15:26 #20 #968115

>>968111
Единичный трипл, сакральный олень аплодирует стоя.

06 Апр, 15:28 #21 #968116

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

Ответы968122968125

06 Апр, 15:31 #22 #968119

>>967878
>Поносить го нужно, чтобы создать противовес маркетинговому буллшиту, которое разносит го-коммюнити. Неокрепшим умам легко нассать в уши.
Должен заметить.
Что твой "противовес", мой слабоумный друг, выглядит как бредни сумасшедшего батхерящего хейтера.
И неокрепшие умы, в общем и целом, не настолько безмозглые идиоты, чтобы серьезно воспринимать нечто подобное.
Твои усилия, скорее всего, имеют в половине случаев противоположный эффект.
Впрочем, частично они работают, но не в виде критики, просто людям неприятно интересоваться чем-то, вокруг чего, какой-то урод, разводит столько говна.

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

>Перейти с питона на го это
Сеньер питонист.жпг

>Если руководству вдруг придёт в голову принести го в проект, то донесу все минусы из https://github.com/ksimka/go-is-not-good. Не поможет - впизду такое руководство.
Вот честно, уволить уже за то, что ты на харкачах подобное пишешь.
Хотя, я все таки сомневаюсь, что у тебя есть работа. Молодой еще слишком.

Ответы968134968158968171

72 Кб, 630x300

06 Апр, 15:36 #23 #968122

>>968116
>Я так все засрал шизоидным бредом и говном, что никто не хочет даже близко ко мне подходить

Победа в особой дисциплине специальной олимпиады? Молодец, держи медальку.

Ответы968124

06 Апр, 15:45 #24 #968124

>>968122
>DRTmoBTR76zD9u5[...].jpg

Так и представляю среднестатистического гофера.

Ответы968132

06 Апр, 15:47 #25 #968125

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

Ответы968130

06 Апр, 15:48 #26 #968126

>>967878
>go-is-not-good.
>no this
>no oop
Чет проиграл на всю комнату и чаем чуть не подавился.

Ответы968210

06 Апр, 15:49 #27 #968128

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

06 Апр, 15:51 #28 #968130

>>968125
Сколько раз за сегодня уже написал if err != nil?

Ответы968131

06 Апр, 15:52 #29 #968131

>>968130
> a, _ := iterItems(collection)
Ни разу, я же умею их скипать

Ответы968138968149

06 Апр, 15:57 #30 #968132

>>968124
>Так и представляю среднестатистического гофера.
Как?

Ответы968135968159

06 Апр, 15:57 #31 #968134

>>968119
>>Если руководству вдруг придёт в голову принести го в проект, то донесу все минусы из https://github.com/ksimka/go-is-not-good. Не поможет - впизду такое руководство.
>Вот честно, уволить уже за то, что ты на харкачах подобное пишешь.
Какой хороший лизоблюд.

Ответы968154

06 Апр, 15:59 #32 #968135

>>968132
Смотри на пик из цитаты, няша.

Ответы968142

06 Апр, 16:03 #33 #968138

>>968131
>Ни разу, я же умею их скипать

Go is safe and secure!

06 Апр, 16:06 #34 #968142

>>968135
А, понял.
Это было - "говоришь на меня переводишь на себя".

06 Апр, 16:06 #35 #968143

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

Ответы968144968145968163

06 Апр, 16:08 #36 #968144

>>968143
>пхп и начинать на нём серьёзные проекты.

Я не пишу на пхп, но facebook, vk, wikipedia, не серьезные проекты?

Ответы968146968147968148

06 Апр, 16:12 #37 #968145

> 3-reasons-why-go-isnt-the-perfect-language-yet
Чет лол, да все языки не идеальны и пилятся под задачу
это только с++ сделали монстром
> no unused imports
и слава Аллаху
нехуй тащить по 100500 библиотек для каждой хуйни
> un-googlable name
Я догадывался, что хейтят go в основном индусы, работающие методом stackoverflow based programming
> no function overloading
Нахуй оно нужно, если нет ооп?
>>968143
>поделия пхп-кодеров говорили сами за себя и в итоге до сих пор считается зашкваро
До 5.4 php был говном, позволявшим творить всякую хуйню. Это сейчас появился композер, классы, трейты и прочее, что притащили за собой любители обмазываться ООП.

Ответы968153968168

06 Апр, 16:12 #38 #968146

>>968144
Любимая мантра, давай не будем начинать.

06 Апр, 16:13 #39 #968147

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

Ответы968177

06 Апр, 16:13 #40 #968148

>>968144
>Я не пишу на пхп, но facebook, vk, wikipedia, не серьезные проекты?

Фэйсбук запилили свой диалект пхп со своим рантаймом и статической типизацией поверх окамла. vk запилили свой php транслятор в сишечку.

Почему они это сделали, очевидно: чтоб впрягать макак и школоту за дошеры. Серьезные проекты в том же фейзбуке пишутся на окамле (flow, hack, reason).

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

Ответы968152

06 Апр, 16:13 #41 #968149

>>968131
Зря, надо принимать в err, но не обрабатывать, а то еще какой анализатор поймает твои скипы

Ответы968180

06 Апр, 16:15 #42 #968152

>>968148
>Серьезные проекты в том же фейзбуке пишутся на окамле
Я читал блог их разраба, что все чатики и реалтайм обработка сообщений на эрланге, оно снова мигрировало?

Ответы968156

06 Апр, 16:16 #43 #968153

>>968145
>Нахуй оно нужно, если нет ооп?

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

127 Кб, 1024x683

06 Апр, 16:16 #44 #968154

>>968134
>Какой хороший лизоблюд.
Лол.
Просто такие работники вредны для коллектива и работы.
Способны разрушить все что угодно.
и при увольнении оставить баг в коде, или иным образом насрать.

С другой стороны, я понимаю, что большинство низкоквалифицированных кадров такие-же.
Собственно, квалификация неотделима от личности.
Даже если человек обладает некими полезными скиллами, они, в случае если он - дерьмо, не могут быть реализованы в коллективе на пользу тех кто еще жив.
С другой стороны, даже если человек не является суперклассным специалистом, но имеет хорошую личность, и находится в здоровом коллективе, то таковым специалистом он скоро станет.
Ну и в целом, коллективный разум играет ключевую роль, важно создавать условия для работы, то есть, для здорового коллектива.
В этом со мной солидарен Ричард Брэнсон например.
ЛУчше иметь дыру в коллективе, чем заполнить ее каким-то мудаком.
С мудаками невозможно получить торт.

Ответы968161968169968171

06 Апр, 16:17 #45 #968156

>>968152
>что все чатики и реалтайм обработка сообщений на эрланге, оно снова мигрировало?

Чатики на эрланге, да. Компиляторы и анализаторы на окамле. Антиспам, вроде, на хаскиле.

06 Апр, 16:19 #46 #968158

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

Когда ты постил webm - это было единственное, что было интересно в твоем сообщении.
Кстати всех зарепортил, обиженное дитя?

Ответы968160968162

06 Апр, 16:22 #47 #968159

>>968132
>Как?
>А, понял.
Лол, ты зачем так сложно шутишь

349 Кб, 600x826

06 Апр, 16:23 #48 #968160

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

06 Апр, 16:23 #49 #968161

>>968154
Хороший работник-тот, кто терпит и поддерживает любые инициативы начальства? А если увольняется, когда его что-то не устраивает-хуёвый?

06 Апр, 16:29 #50 #968162

>>968158
>Кстати всех зарепортил, обиженное дитя?
Никого не репортил, ничего не постил.
Чини детектор.

06 Апр, 16:29 #51 #968163

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

Ответы968165968175

06 Апр, 16:31 #52 #968165

>>968163
>Пхп хоть исправлялся, серьезно, он сейчас не такое говнише.
Да, соглашусь, с семёркой, вроде как, получше всё стало. И критика, надо сказать, поутихла за последний год.

Ответы968166

06 Апр, 16:32 #53 #968166

>>968165
Так критиковали пятерку в основном

Ответы968186

06 Апр, 16:34 #54 #968168

>>968145
>> no function overloading
>Нахуй оно нужно, если нет ооп?
Лол, теперь и перегрузка функций у нас ООП фича

06 Апр, 16:34 #55 #968169

>>968154
Очередной брэнсон зеленоградский. Пошлю нахуй тут же, если что не понравится и просто найду другую работу.

06 Апр, 16:38 #56 #968171

>>968119
>>968154

Спешите видеть, какой глубокий психологический анализ. Мань, у меня с такими разговор короткий. Идите нахуй. Не о чём спорить с тем, кто пишет if err != nil каждые пять строки и копипастит шаблонные алгоритмы.

Ответы968185

06 Апр, 16:40 #57 #968175

>>968163
>Пхп хоть исправлялся

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

https://ia601208.us.archive.org/16/items/vmss16/hosking.pdf

20 и 21 слайды эпичны.

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

Ответы968183968189

06 Апр, 16:42 #58 #968177

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

Ты и рядом не напишешь такие проекты на Го (на джаве то нудятина, а на го это пиздец).

Ответы968182

06 Апр, 16:42 #59 #968180

>>968149
> в err, но не обрабатывать

Так нельзя лол, не скомпилируется так как неиспользуемая переменная

06 Апр, 16:44 #60 #968181

>>968178
Ещё и политоту развёл, свинорылый, уёбывай.

Ответы968200

06 Апр, 16:44 #61 #968182

>>968177
>не будет писать морды на статическом языке.

Обоснуй. В пейсбуке статический диалект пхп, на скале много крупного написано.

Ответы968198

06 Апр, 16:45 #62 #968183

>>968175
> for(i = 2; i < n; i++)
этот долбаеб считает простые числа включая четные? пиздец. почему не пойти с 3 и i+=2.

Ответы968187

06 Апр, 16:45 #63 #968184

>>968178
>содомии.
Вот это как раз в европе процветает.

>С такой же легкость, при изменении правительственного курса, этих же работников она отправит в печку.

То есть люди роботы? Это по твоему хорошо?

Ответы968200

06 Апр, 16:49 #64 #968185

>>968171
>Мань
>Идите нахуй
>Наезды и оскорбления на почве нелюбви к ЯП юзаемым коллегой
Лол, представил себе этого специалиста.

>у меня с такими разговор короткий
У меня с такими разговора нет вообще, ибо в макдональдз я не хожу.

Ответы968196

06 Апр, 16:50 #65 #968186

>>968166
Вообще критиковали 4 и все что ниже, в пятерке (5.2) норм так на исправляли и даже натянули более менее норм ООП

мимо, хуячил полноценное ООП на пыхе еще в 2006 году

06 Апр, 16:50 #66 #968187

>>968183
Видимо, потому что это иллюстрация косяка рантайма, а не домашка мамкиного оптимизатора.

06 Апр, 16:52 #67 #968189

>>968175
>Рантайм -- терминальный пиздец, потому все пишут свой.

Ты из какой вселенной? Какой рантайм? Юзают один, ты путаешь попытки с JIT и трансляцией С++?

Ответы968191

06 Апр, 16:54 #68 #968191

>>968189
>Юзают один

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

Ответы968203

06 Апр, 16:56 #69 #968196

>>968185
>коллеги
>гоферы

Спасибо, нет.

06 Апр, 17:01 #70 #968198

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

Я вообще не понимаю этот пиздец типа:
model.set("user", user);
model.set("product", product);

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

Другая проблема если какой-то хуй напишет в другом контроллере типа:
model.set("client", user);

и все, пукан дизайнера порван в клочья.

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

Ответы968208

06 Апр, 17:02 #71 #968200

>>968184
>То есть люди роботы? Это по твоему хорошо?
Люди не роботы.
Вещи, о которых я говорю, лежат немножко параллельно постмодернистской концепции человека-машины.

Речь идет об управлении сложными социальными системами и индивидуальном позиционировании в контексте идеологии.

К сожалению, люди-идоты на постсоветском пространстве, идеологии лишены напрочь.
Приодетые дикие аборигены. На лицо ужасные, добрые внутри.

>>968181
>Ещё и политоту развёл
Показательно пренебрежение совков к любому "гуманитарному" знанию, философии, политике. Абсолютные прагматики - вот еда на столе это да, понятно, жратва и бухло, еще бабло. Понятно же что управляет миром, жратва и деньги. Точно не политика. А страны сами собой, как плесень, появляются, знание и организация никакой роли не играют.

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

06 Апр, 17:03 #72 #968203

>>968191
Нехуя у тебя мирок, иди это одноклассникам расскажи, ты походу с питоном перепутал?

116 Кб, 800x480

06 Апр, 17:06 #73 #968206

>>968190
>Раз уж переходишь на национальности
Эм, нет, о национальностях речи не веду. И нет, не "перехожу".
Очень жаль, но неудивительно, что понимается написанное в качестве оскорбления.

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

06 Апр, 17:12 #74 #968208

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

>Постоянное маппирование данных из одной хуйни в другое. Ладно когда у тебя сущностей штуки три, но блять когда их 15.

У тебя своеобразное представление о статической типизации и архитектуре приложений, однако.

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

Ответы968213

42 Кб, 497x390

06 Апр, 17:16 #75 #968210

>>968126
>>967878
>то донесу все минусы из https://github.com/ksimka/go-is-not-good.

>Update 2: If you’re coming to this blog post from a compendium titled “Go is not good,” I want to make it clear that I am ashamed to be on such a list. Go is absolutely the least worst programming language I’ve ever used. At the time I wrote this, I wanted to curb a trend I was seeing, namely, overuse of one of the more warty parts of Go. I still think channels could be much better, but overall, Go is wonderful.

Ответы968227

06 Апр, 17:20 #76 #968213

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

Ответы968217

06 Апр, 17:23 #77 #968217

>>968213
(fix) в общий массив (контектс)

06 Апр, 17:34 #78 #968227

>>968210
Этот список был ответом гоферов на хайп-хейтеров.
Они думали что если собрать всю критику и показать как хейтеры критикуют одинаковые момент - то эта критика перестанет иметь вес.

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

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

Ответы968234968235968438

06 Апр, 17:58 #79 #968234

>>968227
>Этот список был ответом гоферов на хайп-хейтеров.
>Они думали что если собрать всю критику и показать как хейтеры критикуют одинаковые момент - то эта критика перестанет иметь вес.

Не очень понимаю о чем ты, ибо я указываю на то, что критика не больно то и критика.

Из другой статьи из списка:
>It was a good experience, Go is generally very nice, and we are all comfortable that this was the correct decision for many reasons. I'd recommend that anyone curious about Golang to give it a try

> но маркетологи заставили восторгаться этим списком
Откуда инфа?

>По сути они начали собирать статистику проблем языка, на которую стоило бы обратить внимание
А кто они такие вообще?

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

Ответы968243

06 Апр, 17:59 #80 #968235

>>968227
а кто больше дибил, гоферы или эплобляди?

Ответы968238

06 Апр, 18:04 #81 #968238

>>968235
Гоферы, эплобляди хотя бы понты получают, а гофер тупо страдает за так.

Ответы968240

06 Апр, 18:04 #82 #968240

>>968238
>гофер тупо страдает
но страдают только те, кто пытается что-то безрезультатно доказать

Ответы968251

06 Апр, 18:10 #83 #968243

>>968234
>Не очень понимаю о чем ты, ибо я указываю на то, что критика не больно то и критика.
Я тебе кинул хистори этого броса

>Откуда инфа?
Хронология событий 2015 года

>А кто они такие вообще?
Комьюнитти, конкретно у нас активно форсил divan (он же Ваня, лучший друг Илюши)

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

Дальше ты начал какую-то хуйню нести

Ответы968286

06 Апр, 18:16 #84 #968251

>>968240
Ты сам в это веришь?
Хотя может ты нормального языка и не нюхал

06 Апр, 18:41 #85 #968260

>>967936
Тебя логическими операторами пользоваться не научили?

06 Апр, 19:32 #86 #968286

>>968243
>Я тебе кинул хистори этого броса
Кинь еще раз.

>Хронология событий 2015 года
Где ее посмотреть?

>Комьюнитти, конкретно у нас активно форсил divan (он же Ваня, лучший друг Илюши)
Как это комьюнити найти?

>Специально для тебя и пояснил, хотели сделать фарс, а собрали реальную статистику проблем языка.
А, ну просто, на реальную статистику как-то не тянет совсем.
Все таки на 80% фарс.

Ответы968349968438968545

06 Апр, 20:42 #87 #968349

>>968286
>Все таки на 80% фарс.
Ты все правильно понял. По сути, список высмеивает хейтеров -авторов статей. Потому что, большинство проблем, которые там указаны это или отсутствие фичи другого языка или не так как у других( нет ооп, ошибки по-другому обрабатываются), или вообще идиотия типа "плохое название", "маскот не нравится".

Ответы968545

06 Апр, 21:58 #88 #968438

>>968286
>Кинь еще раз.
На
>>968227

>>968286
>Где ее посмотреть?
Гугл

>>968286
>Как это комьюнити найти?
Слишком толсто пошло, опять таблетку не принял?

>>968286
>фарс
Ну никто не мешает подкрутить под себя, но первые версии состояли именно из всех хейтерских статей (и автором был, по-моему, изначально диван)

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

Ответы968447968545968570

06 Апр, 22:01 #89 #968447

>>968438
>шизофренойдный гандон

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

Ответы968545

06 Апр, 23:22 #90 #968545

>>968286
>>968349
>>968438
>>968447
Зарепортил хейтеров.
Если модератор не отреагирует - напишу Абу, пусть объясняет почему оплаченная реклама не отрабатывается.

07 Апр, 00:00 #91 #968555

Пока холливар утих, предлагаю опрос:

1. Что пишите на Го (не обязательно точно, но чтобы было понятно)?
2. Как долго пишите на Го?
3. Какой язык он вам заменяет. Или с каким языком его противопоставляете?
4. Что раздражает в го?
5. Что нравится в го?
6. Юзаете ли вы каналы или по старинке мьютексы (или что чаще)?

Ответы968558968561968571968643

07 Апр, 00:05 #92 #968558

>>968555
1. Соси хуй, быдло.
2. Соси хуй, быдло.
3. Соси хуй, быдло.
4. Соси хуй, быдло.
5. Соси хуй, быдло.
6. Соси хуй, быдло.

Ответы968689

07 Апр, 00:25 #93 #968561

>>968555
1. Разные парсилки, чекеры, бруты, автопостеры-автопубликаторы и пр.

2. ~год с хером.

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

4. Убогий дизайн языка, полное отсутствие всякого сахара (лямбды, перечисления...), отсутствие дженериков и коллекций. Я бы хотел GO частично с синтаксисом Java, но без всей тяжелой ООП и JVM.
Невозможность управлять жизненным циклом горутин, невозможность проверить канал на закрытость, отсутствие чего-то вроде Option (и, соответственно, присутствие nil).
Вообще полная стагнация языка, за все это время не было никаких заметных изменений в синтаксис, никаких новых облегчающих жизнь кейвордов, никаких фичей.
Постоянные проверки if err == nil, с этим надо что-то делать.

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

5. Статические бинарники, независимость от сторонних либ/фреймворков (.net, JVM, MSVC etc), скорость. Пресловутые легкие потоки. Довольно много библиотек уже написано, почти все вопросы, которые возникают, уже отвечены. То, что решение проблемы как правило одно, то, что код, написанный разными людьми по крайней мере выглядит одинаково (хотя это не так важно).
Нравится обработка ошибок и отсутствие исключений, возврат более одного значения с функции и присвоение сразу нескольким переменным (словом, недо-тьюплы)

Ответы968562968567

07 Апр, 00:29 #94 #968562

>>968561
Говнодебил as is.

Ответы968564968689

07 Апр, 00:40 #95 #968564

>>968562
>Говнодебил as is.
Довольно верная характеристика для того, кто просто так оскорбляет другого человека.

Ответы968565

07 Апр, 00:43 #96 #968565

>>968564
Вот слушай, нахуй ты отвечаешь умственноотсталым?

07 Апр, 00:54 #97 #968567

>>968561
>возврат более одного значения с функции

Дико раздражает, потому что нельзя результат функции передать сразу в другую (или вызвать конвеером)

07 Апр, 01:16 #98 #968570

>>968438
>На
Не, это просто твой пост.
Я думал хистори есть где-то кроме твоего поста.

>Гугл
Что гугл?
Какой запрос в гугле вбивать?

>Слишком толсто пошло, опять таблетку не принял?
Я серьезно. Хочу вступить в контакт с этим комьюнити. Пообщаться, покрысить может.

07 Апр, 01:29 #99 #968571

>>968555
1. Микросервисы для IaaS платформы.
2. 3 месяца.
3. Python или даже баш. Я раньше на Java писал, но это вещи не сравнимые.
4. Хуевое коммюнити, хуевый тулинг и ебучая пропаганда. У меня в команде долбоебы говорили что зря я на локах сделал участок кода, хотя по перформансу CAS занимает не более чем 26 нано секунд, а прочитать сообщение из ченнела - 1 микросекунду, т.е. распиаренные ченнелы это говно собачье.
Бесит уебишьный менеджмент горутин, нужно городить отдельный signal ченнел, чтобы ее застопать.
Бесит, что нету нихуя коллекций кроме слайсов и мапы.
Бесит, что большинство девелоперов - хайповые дегенераты, которые нихуя не шарят как все это говно работает внутри. Самый показательный пример это спросить любого годауна про GC.
5. Нравиться, что язык сделан, как для дебилов, т.е. я просто делаю свою задачу без выебонов (особенно из мира ФП) и иду вечером спокойно играть в игры/бухать/курить шмаль.
6. sync.Locker, sync.RWMutex, sync.Waitgroup активно использую, но каналы тоже приходиться.

Ответы968576968579968580968584

07 Апр, 01:51 #100 #968576

>>968571
>перформансу CAS
Что такое кас?

Ответы968578

07 Апр, 01:53 #101 #968578

>>968576
Compare and Swap
мимо-шарпист

Ответы968580

07 Апр, 02:01 #102 #968579

>>968571

> Микросервисы для IaaS платформы.

Чем Го помогает делать инфра сервисы и насколько он выигрывает по сравнению с пистоном, к примеру, только исключая разговоры про перфоманс и конкаренси/параллелизм?

Ответы968590968744

07 Апр, 02:04 #103 #968580

>>968578
>Compare and Swap
Понятно, спасибо.

>>968571
>а прочитать сообщение из ченнела - 1 микросекунду
Буферезированный ченел?

Ответы968590968744

07 Апр, 02:43 #104 #968584

>>968571
>Я раньше на Java писал, но это вещи не сравнимые.

Почему (понятно что субъективно)?

Ответы968590968744

07 Апр, 03:09 #105 #968590

>>968579
>>968580
>>968584
Иди нахуй, надоел.

07 Апр, 09:51 #106 #968643

>>968555
1. прокся, работающая со статистикой
пайтон дергается как надо что-то в базу записать, го просто складывает это в бд (используем хуёвину от яндекса здесь)
2 на работе полгода, а так год с лишним
3 не противопостовляю, язык как язык, с плюсами и минусами
4 хз, иногда, очень редко не хватает генериков, в основном доставляет - делаешь все в лоб
5 никакой магии, в то время как на пайтоне приходится разгребать декораторы, вспоминать что делает каждый, тут очень сложно наговнокодить, на крайняк тут все очень легко переписывается
6 каналы редко используются, ибо работа однопоточная - взял запрос и положил в бд по определенным правилам, хранящимся в редисе

Ответы968645

07 Апр, 09:57 #107 #968645

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

Ответы968666968689

255 Кб, 512x512

07 Апр, 11:43 #108 #968666

>>968645
>ты дебил и выполняешь соотвтствующие задачи
борщехлебу то виднее

Ответы968683

07 Апр, 12:25 #109 #968683

>>968666
И то правда - виднее.
Да кому угодно виднее чем /го/внодебилу, очевидно же.

Ответы968689

07 Апр, 12:34 #110 #968689

>>968683
>>968645
>>968562
>>968558

Не обращайте внимание на Илью, сложный возраст, никто нигде не уважает. Го как проекция ненависти (когда его комьюните не приняло)

Ответы968692968695

07 Апр, 12:38 #111 #968692

>>968689
Чем Го лучше шарпа? Все ваши фичи из Го уже 10 лет как есть в шарпе, и только вылезшие из крестобункера /Го/спода им могут радоваться.

Ответы968695968726968744

07 Апр, 12:42 #112 #968695

>>968689
>на Илью
>это САМОУВАЖЕНИЕ
Ну что же ты, илюша.
>>968692
Зарепортил.

07 Апр, 13:51 #113 #968726

>>968692
>Чем Го лучше шарпа?
Проще, не нужен .net framework.
>Все ваши фичи из Го уже 10 лет как есть в шарпе
Легкие потоки и каналы как фича языка?

Ответы968734968752968818

07 Апр, 13:53 #114 #968728

>>967828 (OP)
Чем Го лучше хаскеля? Все ваши фичи из Го уже 10 лет как есть в хаскеля, и только вылезшие из крестобункера /Го/спода им могут радоваться.

07 Апр, 13:58 #115 #968734

>>968726
> >лучше
>Проще
С точки зрения слабоумного гофера - несомненно.

07 Апр, 14:09 #116 #968744

>>968579
> только исключая разговоры про перфоманс и конкаренси/параллелизм?
Ты не поверишь, но именно ради этого.
Но еще важно время старта сервиса, которое составляет около 1 миллисекунды, т.к.на выходе статический слинкованный бинарь, кторому не надо делать парсинг/выполнение кучи скриптов из virtualenv/pip. Для Blue-Green deployment, время рестарта это очень важно в highly available системе.
Многие еще пиздят, про легкость деплоймента, что мол бинарник засунул на сервер и все, но у нас Docker и нам похуй.

>>968580
>Буферезированный ченел?
Любой, даже не буферизированный все равно выдает хуевый перформанс по сравнению с мютексами.

>>968692
В плане concurrency Go ничем не лучше C#, в дудке есть async/await, фючеры, промисы, Rx, ParallelFX и вообще куча всего.

>>968584
На самом деле Java лучше чем go во всем, кроме простоты. Например мне не составило труда перечитать исходники Go, чтобы понимать как он работает изнутри, в то время на как разобраться как работает HotSpot у меня ушли годы. Ну и ощущение у меня от Go как от Java 1.4, но чувство полного понимания что происходит под капотом греет душу.

Ответы968803968826968868

07 Апр, 14:27 #117 #968752

>>968726
>Проще, не нужен .net framework.
Но ведь он из коробки.

136 Кб, 800x528

07 Апр, 14:57 #118 #968761

Гоферы на столько долбоебы?
Мозила - это Раст.
А вот Гугл - это Го.
Третий - лишний.

Ответы968810968870

07 Апр, 16:47 #119 #968803

>>968744

> Ты не поверишь, но именно ради этого.

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

> то мол бинарник засунул на сервер и все, но у нас Docker и нам похуй.

У докеров с Голангами есть плюсы, а именно то, что ты можешь хуйнуть FROM scatch и получить леговесный контейнер

> Буферезированный ченел?

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

Ответы968926

07 Апр, 17:08 #120 #968810

>>968761
Гугл - это джяяява. Потому что он из всего до чего дотянется - делает джяву. Го - исключение, потому как это быдлоскрипт уровня баша, а не язык.

Ответы970675

07 Апр, 17:35 #121 #968818

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

Ответы968823968834

07 Апр, 17:48 #122 #968823

>>968818
а как они там работают, в линукспараше например есть cow тема, что в винде делает их легче?

07 Апр, 17:51 #123 #968826

>>968744
>которое составляет около 1 миллисекунды
>время рестарта это очень важно в highly available системе
А то так важно между стартами в 10мс и 1мс.

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

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

>Многие еще пиздят, про легкость деплоймента
Под диплоем в ИТ подразумеваю - автоматизированное развертывание. Вся суть деплоя это развертывание по "одному клику". Поэтому легковесный деплой звучит как масло масленное.
И да если ты бинарник руками копируешь - то действительно для тебя это будет легковесный деплой.

Проблема Го, что его облепили индивиды, с юношеским максимализмом.

Ответы968841

07 Апр, 18:00 #124 #968834

>>968818
>В винде не нужны легкие потоки просто потому что исторически нет говна мамонта под названием форк.
Создает процессы, а не потоки.
Блин, чувак, ты что, реально противник асинхронного программирования?
Ты ведь буйнопомешанный по полной.

Ты хоть одну GUI программы под виндовс видел? Там все асинхронное.
await async в шарп то-же добавили от того, что он ненужен видимо.
Я короче в шоке.

Ответы968837

07 Апр, 18:04 #125 #968837

>>968834
>GUI программы
Нет, что это такое? Это когда ты веб-приложение вместе с браузером в один бинарник засовываешь? Как дискорд например?

Ответы968839

07 Апр, 18:06 #126 #968839

>>968837
Все, у меня из монитора жир потек.

Ответы968840

07 Апр, 18:13 #127 #968840

>>968839
Серьезно, ты клиент дискорда видел? Батя говорит малаца, хорошо сделали. Как в 2017 и положено делать GUI приложения.

А по теме - асинк параша перехайплена. В первую очередь красноглазиками и их нодой. Нет, мы все понимаем, что если Илюша будет в свое гуё поделие пихать асинк во все поля, то от этого он получит прирост производительности. Но такой же прирост он получил бы если бы просто засунул свою 1 (одну) числодробилку в отдельный тред. В теории эти ваши асинки можно запускать параллельно, получая от этого выигрыш. Например можно запустить все sql запросы сходу. Это реальный профит асинк технологии. Много макак так делает? Не думаю. Так же асинки позволяют экономить треды. Положа руку на сердце, скажи, много ли местных битардов упираются в количество виндовых тредов, если изначально в винде нет проблемы с тредами и их там можно создавать тысячами? А?а?А? В итоге имеем что имеем. Асинк во все поля - это конечно хорошо, но оверхайплено чуть более чем полностью. И не всегда используется для профита даже там где его можно было бы извлечь.

Ответы968861

07 Апр, 18:15 #128 #968841

>>968826
>В общем тут суть в том, язык не имеет значения. Скорее всего на го не пишут и не будут писать приложения такого уровня.
Ты путаешь хайлоад и хай фреквенси. Хайлоад приложухи можно писать на чем угодно если их можно скэйлитб в ширь. А вот для хай фреквенси приложух нужна высокая отзывчивость и там над этим, как разу, угорают в си и го.

Ответы968842

07 Апр, 18:16 #129 #968842

>>968841
>хай фреквенси
Сам только что придумал?

Ответы968845

07 Апр, 18:18 #130 #968845

>>968842
как пример кейса.
https://en.wikipedia.org/wiki/High-frequency_trading

Ответы968848

07 Апр, 18:20 #131 #968848

>>968845
Не, чувак, хфт это отдельная параша, со своими мемасиками и очень сильно перехайпленая.

Ответы968849

07 Апр, 18:23 #132 #968849

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

Ответы968850

07 Апр, 18:25 #133 #968850

>>968849
Хайлоад - это, например, мейлру. У тебя почта начинает тормозить, пользователи садятся на трактор и уезжают на гмейл. На этом хайлоад заканчивается.

Ответы968860

07 Апр, 18:30 #134 #968860

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

Ответы968864

07 Апр, 18:31 #135 #968861

>>968840
>Серьезно, ты клиент дискорда видел? Батя говорит малаца, хорошо сделали. Как в 2017 и положено делать GUI приложения.
Там все асинхронное.
Как и в любом другом гуи.

>А по теме - асинк параша перехайплена. В первую очередь красноглазиками и их нодой.
"Асинк парша" была задолго до ноды. И будет задолго после.

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

Это потому, мой полоумный друг, что аппаратная платформа, железо, асинхронно от природы.

>Нет, мы все понимаем, что если Илюша будет в свое гуё поделие пихать асинк во все поля, то от этого он получит прирост производительности.
Нельзя делать гуи поделия другим способом, так как API OS для создания гуев - асинхронные.
И внутренности ОС - асинхронные.

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

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

Я все так и не могу понять, ты траллишь, или серьезно.
Сколько все таки тебе лет?

Ответы968869

07 Апр, 18:32 #136 #968864

>>968860
>правида
Спокойствие, только спокойствие!
Почему ты еще не устроился главным инженером в мейлру если хайлоад это просто и понятно?

Ответы968865

07 Апр, 18:35 #137 #968865

>>968864
Ты смеешься? Устраиваться в отечественное гавно. Уже устроен и уровень серьезней, в отличии этого диснейленда для тупых.

280 Кб, 764x430

07 Апр, 18:42 #138 #968868

>>968744
>Например мне не составило труда перечитать исходники Go, чтобы понимать как он работает изнутри, в то время на как разобраться как работает HotSpot у меня ушли годы
Ты тут кстати сам себе "ответил", объемы человеко-часов в Го и рядом не стояли с такой технологией как HotSpot (в которую влили туево тучу ресурсов и речь не только про время и доллары, а так же о исследованиях).

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

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

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

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

Ответы968924969008

07 Апр, 18:42 #139 #968869

>>968861
Мне кажется ты немного не понимаешь, о чем говоришь. Потому что асинхронное программирование последние несколько лет перехайплено. Безусловно асинхронное апи существовало давно. Но ты же понимаешь, что, внезапно, это не единственный способ не блокировать уи тред, да? Можно - внезапно - воспользоваться неблокирующими ИО операциями. Или - так же внезапно - создать отдельный тред и заблокировать его. На каждый файл и сокет. И в винде это будет работать, причем нормально. В линуксе - не очень. Что реально принес этот асинк/авейт хайп - это парадигму асинк во все поля. Которая, как я уже писал, во-первых позволяет ленивым/неразбирающимся программистам легко не вешать гуи тред своими поделиями, а во-вторых в теории позволяет при тысячах одновременных ио операций не упираться в максимум ос тредов, которые ты можешь создать.

33-лвл-5-лет-в-этой-вашей-веб-параше-кум.

Ответы968873968886969189

07 Апр, 18:43 #140 #968870

>>968761
Нет, это ты тормоз, если не понял что изначально там речь про браузеры

Ответы970675

07 Апр, 18:46 #141 #968873

>>968869
А почему в линуксе не очень, можно пояснить?

Ответы968882

07 Апр, 19:01 #142 #968882

>>968873
Я думаю по историческим причинам, в винде развивали треды, а линуксоиды сидели с наследством юникса в виде форка. Для хеллоу ворлдов этого хватало. Готов поверить что к 2017 проблему решили и треды у них уже не тормозят.

07 Апр, 19:12 #143 #968886

>>968869
> Потому что асинхронное программирование последние несколько лет перехайплено.
Как перехайпленность чего-ли в последние несколько лет, каким либо образом связанна с моим пониманием чего-либо на свете?

>Можно - внезапно - воспользоваться неблокирующими ИО операциями.
Это называется асинхронное IO.

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

>И в винде это будет работать, причем нормально. В линуксе - не очень.
Ну с чего ты взял, что за бредни сумасшедшего?
Потоки линукса ничем принципиально от виндовых не отличаются.
Но в целом, планировщики в никсах более гибкие и мощные, и позволяют держать БОЛЬШЕ тредов.

>, а во-вторых в теории позволяет при тысячах одновременных ио операций не упираться в максимум ос тредов, которые ты можешь создать.
Господи, всем посрать на МАКСИМУМ тредов.
Это НЕ ограничения использования тредов для интенсивного IO.

>33-лвл-5-лет-в-этой-вашей-веб-параше-кум.
Стыдно должно быть, такую ересь нести, с уверенность 20летнего.
Советую или не лезть в область знаний, в которых ты слаб, или изначально хоть знакомится сними.
Почитай челе что нибудь по архитектуре пека и системному программированию.

Ты хоть понимаешь как потоки работают?
Переключение между ними происходит по заданному интервалу времени.
У тебя есть 10 потоков.
1мс выполняется один, потом он останавливается, и запускаться второй, через еще 1 мс, второй останавливается, запускается третий и так по кругу.
Эти остановки запуски и переключения довольно затратные операции. Поэтому, когда у тебя уже 100 одновременно активных потоков, эти затраты становятся ощутимыми.
Плюс, тебе их зачастую так или иначе приходится синхронизировать, а срабатывающие локи это еще
потери.

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

Поэтому, ничего, что работает с IO сколь нибудь интенсивно, не пишут в блокирующем режиме.

07 Апр, 19:12 #143 #968886

>>968869
> Потому что асинхронное программирование последние несколько лет перехайплено.
Как перехайпленность чего-ли в последние несколько лет, каким либо образом связанна с моим пониманием чего-либо на свете?

>Можно - внезапно - воспользоваться неблокирующими ИО операциями.
Это называется асинхронное IO.

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

>И в винде это будет работать, причем нормально. В линуксе - не очень.
Ну с чего ты взял, что за бредни сумасшедшего?
Потоки линукса ничем принципиально от виндовых не отличаются.
Но в целом, планировщики в никсах более гибкие и мощные, и позволяют держать БОЛЬШЕ тредов.

>, а во-вторых в теории позволяет при тысячах одновременных ио операций не упираться в максимум ос тредов, которые ты можешь создать.
Господи, всем посрать на МАКСИМУМ тредов.
Это НЕ ограничения использования тредов для интенсивного IO.

>33-лвл-5-лет-в-этой-вашей-веб-параше-кум.
Стыдно должно быть, такую ересь нести, с уверенность 20летнего.
Советую или не лезть в область знаний, в которых ты слаб, или изначально хоть знакомится сними.
Почитай челе что нибудь по архитектуре пека и системному программированию.

Ты хоть понимаешь как потоки работают?
Переключение между ними происходит по заданному интервалу времени.
У тебя есть 10 потоков.
1мс выполняется один, потом он останавливается, и запускаться второй, через еще 1 мс, второй останавливается, запускается третий и так по кругу.
Эти остановки запуски и переключения довольно затратные операции. Поэтому, когда у тебя уже 100 одновременно активных потоков, эти затраты становятся ощутимыми.
Плюс, тебе их зачастую так или иначе приходится синхронизировать, а срабатывающие локи это еще
потери.

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

Поэтому, ничего, что работает с IO сколь нибудь интенсивно, не пишут в блокирующем режиме.

Показать весь текст
Ответы968888

07 Апр, 19:15 #144 #968888

>>968886
>Это называется асинхронное IO
Пожалуйста, просто уйди. Ты не понимаешь в этом чуть более чем ничего. Дальше не читал.

Ответы968890968897

07 Апр, 19:16 #145 #968890

>>968888
Рукалицо.
У вас в ПХП какая-то своя особая терминология?

Ответы968891968892968897

07 Апр, 19:17 #146 #968891

>>968890
>У вас в ПХП какая-то своя особая терминология?
Тип функция называется не WriteAsync а WriteNoBlock ?

Ответы968892968897

07 Апр, 19:21 #147 #968892

>>968890
>>968891
Я не понимаю, о чем можно говорить с местными кукаретниками, если они не понимают разницы между асинхронным ио, неблокирующим ио и блокирующем ио. Почитайте маны ваши чтоли сначала, там все расписано.

Ответы968895968903969061

07 Апр, 19:25 #148 #968895

>>968892
>Я не понимаю, о чем можно
Можно срать на головы дебилам, дурачок.
Собственно, говно для того и придумано - собрать совсем дебилов в кучу и сжечь

Ответы968901

07 Апр, 19:25 #149 #968897

>>968888
>>968890
>>968891
>Пожалуйста, просто уйди. Ты не понимаешь в этом чуть более чем ничего. Дальше не читал.

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

Ответы968900968901

306 Кб, Webm

07 Апр, 19:29 #150 #968900

>>968897
Это просто волшебно.
Все же /го/вно - гениальная выдумка, в некотором смысле.

07 Апр, 19:29 #151 #968901

>>968895
А ты прав, бро!
>>968897
То есть в случае асинхронного ио операция выполняется асинхронными гномами без траты ресурсов цпу?

Ответы968902968906

07 Апр, 19:30 #152 #968902

>>968901

Мамашу твою ебал.

07 Апр, 19:34 #153 #968903

>>968892
>Я не понимаю, о чем можно говорить с местными кукаретниками, если они не понимают разницы между асинхронным ио, неблокирующим ио и блокирующем ио. Почитайте маны ваши чтоли сначала, там все расписано.

Няша поняша, синхронное IO это прошлый век.
А ты все труп ебешь.
Асинхронное IO, это не последние несколько лет, это уже в 2005 было в массах. Когда еще делфи был жив.

Ответы968905

07 Апр, 19:36 #154 #968905

>>968903
А вот и нодохипстушок.
Все в сборе господь, жги

07 Апр, 19:37 #155 #968906

>>968901
>То есть в случае асинхронного ио операция выполняется асинхронными гномами без траты ресурсов цпу?
Да.
Гугли the is no thread

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

Ответы968907968908

31 Кб, 350x349

07 Апр, 19:41 #156 #968907

>>968906
>the is no thread
Типичный обладатель 47 хромосомы, читать просто нет смысла.

Ответы968912

07 Апр, 19:41 #157 #968908

>>968906
>The device driver’s Interrupt Service Routine (ISR) responds to the interrupt. An interrupt is a CPU-level event, temporarily seizing control of the CPU away from whatever thread was running. You could think of an ISR as “borrowing” the currently-running thread, but I prefer to think of ISRs as executing at such a low level that the concept of “thread” doesn’t exist - so they come in “beneath” all threads, so to speak.

Тред какбы есть но его какбы нет, верьте, адепты.

Ответы968909968912969076

07 Апр, 19:42 #158 #968909

>>968908
Зачем ты читаешь лишнехромосомные высеры, ты что - мазохист?

Ответы968912

07 Апр, 19:47 #159 #968912

>>968907
>>968908
>>968909
Я знал, что в один день PHP макаки погубят мир.

Ответы968916969062

07 Апр, 19:50 #160 #968916

>>968912
>PHP макаки
И даже они выглядят не так уж и плохо на фоне /го/внодебилов.
Дна нет, будет только хуже.

Ответы968927

07 Апр, 20:03 #161 #968924

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

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

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

Сложность ООП зачастую лишняя. И существует только ради себя самой.

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

Ответы968938969059969184

07 Апр, 20:04 #162 #968926

>>968803
>Т.е, если я примерно занимаюсь тем же самым, что и ты(только не совсем дев), то смотреть на Голанг и ждать, что он надолго застрял в клауд вещах, стоит?
Лишним не будет, тем более это не хаскелль. Выучить Go не сложно.
>только не совсем дев
Братишка дев-опс? С чем работаешь? Kubernetes щупал?

>У докеров с Голангами есть плюсы, а именно то, что ты можешь хуйнуть FROM scatch и получить леговесный контейнер
Да, но у нас один base-image на основе CentOS от которого наследуются все остальные, в котором уже настроена куча security related фишек. Так, что лично для моего проекта плюс сомнительный.

>Абстракция же. Просто атомики с мутексами должены работать быстрее, чем канал, в который пишется куча инфы о том, что там в буфере, всякая мета и пр, не считая того, что операции там тоже потокобезопасны.
Так никто не спорит, я сам люблю высокоуровневые канкарренси примитивы, особенно Rx. Но годауны наслушались от своего фюрера "share memory by communication" и не признают ничего больше.

Ответы968930969001

07 Апр, 20:04 #163 #968927

>>968916
Сам то на чем пишешь?

Ответы968929968933

07 Апр, 20:05 #164 #968929

>>968927
На бейсике.

Ответы968932968934

07 Апр, 20:06 #165 #968930

>>968926
>Так никто не спорит, я сам люблю высокоуровневые канкарренси примитивы, особенно Rx. Но годауны наслушались от своего фюрера "share memory by communication" и не признают ничего больше.
Бред какой-то.

Гофер пишет что он использует мьютексы вместо каналов.
Хейтер говорит что гоферы используют каналы и потому тупые.

WTF?

Ответы968937

07 Апр, 20:07 #166 #968932

>>968929
Тогда понятно.
Это все объясняет.
А на каком?
Lite Basic лучший по моему.

Ответы968934968939

07 Апр, 20:08 #167 #968933

>>968927
Haskell и opencl

07 Апр, 20:09 #168 #968934

>>968929
>>968932
Now kiss :3

Ответы968940

07 Апр, 20:11 #169 #968937

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

Ответы968941

07 Апр, 20:11 #170 #968938

>>968924
>Видимо, мир разработки ПО в ближайшем времени будет двигаться в сторону упрощения.

Да ну, из основых языков на рынке только Go идет в сторону упрощения, kotlin, scala, rust, elixir - вот это современные языки, которые развивают разработку по, а go решает узкий класс сетевых задач.

Ответы968943968947

07 Апр, 20:12 #171 #968939

>>968932
QBasic, только Микрософт. Хочу перейти на vb6, но начальник не дает.

25 Кб, 480x360

07 Апр, 20:16 #172 #968940

>>968934

07 Апр, 20:16 #173 #968941

>>968937
Ты пишешь об opencl.
Только есть один нюанс: у обычных дебилов вроде вас всех переклинит всё и навсегда при попытке написать хоть что-то эффективное и сложнее "hello 2+2"
Так что пишите на го, вот и маскот жизненный - как раз для вас.

07 Апр, 20:18 #174 #968943

>>968938
> kotlin, scala, rust, elixir - вот это современные языки, которые развивают разработку по
Они то-же идут по пути упрощения.
Просто разные вещи на разных уровнях упрощаются.

Ответы968952

07 Апр, 20:31 #175 #968947

>>968938
>elixir
>dynamic, functional
>Elixir leverages the Erlang VM
Хорошо, что про это говно с ходу написали, что это говно.

>kotlin
Это кодогенератор над джавой с местами странным синтаксисом?

>scala
Язык для тех, кому нравится анальный секс в пассивной роли и философское втыкание в немыслимые сочетания стрелок и черточек... Ах да, там же еще медленная компиляция и неприлично жирные бинарники, ну и та же трансляция в джаву.

>а go решает узкий класс сетевых задач
Так сейчас есть только два широких круга задач - это фронтэнд и серверные приложения. Все остальное - узкий круг.

Ответы968950968953968955969063

07 Апр, 20:39 #176 #968950

>>968947

>серверные приложения
И там джава царит с пыхой для веба разного масштаба.

Ответы968955969186

07 Апр, 20:42 #177 #968952

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

Ответы968955969043

07 Апр, 20:42 #178 #968953

>>968947
>гофер поясняет за языки программирования

Ответы968955

07 Апр, 20:49 #179 #968955

>>968947
>>968950
>>968952
>>968953
Пиздец дебилы.

Ответы968956

07 Апр, 20:50 #180 #968956

>>968955
>семен гофер заметает следы

Ответы968959

07 Апр, 20:53 #181 #968959

>>968956
Насеменил тебе за щеку и насрал на голову /го/вном.

07 Апр, 22:50 #182 #969001

>>968926
>Братишка дев-опс

Ого, приветствую, коллега по цеху.

Кубы щупал немного, понравилось то, что много интеграций есть для него, при том даже у странных вещичек, да таких, что у меня слюни течь начинают. Но из за некоторой специфики моей говноконторки, типа ОЙ СЛОЖНА, НУЖНА ШТОБЫ КАК ДОКЕР-КОМПОЗЕ, пришлось выбирать Rancher со сторонними решениями, вместо встроенных в него (вроде консула для service discovery вместо их ДНС серва на нодежс).

> С чем работаешь

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

Если интересно, то могу расписать чутка. Быть может и подскажешь что-нибудь, ибо я маленько костылей нахуячил с управлением конфигурацией. Перекатил с паппета на ансибл, а ОСь, которую юзаем использует cloud-config для бутстрапа и я ощущаю странные чувства на эту тему, а мой, кхм, лид, ударился в бумажную работу и вообще немного любит сделать всё так быстро, что потом половина всего отваливается или работает через "поправь там в двух файлах версию, чтобы новый сертификат нашло", что даже и спрашивать как-то не могу/не успеваю(до того достало, что планирую вообще перекатиться оттуда).

А у вас что за стек? Как деплоите контейнеры? Как блю-грин сделан?

07 Апр, 23:06 #183 #969008

>>968868
>Выросло то поколение, которые не видело свалку кода в процедурных проектах и почему ООП в свое время дал хороший толчок для реальной сложных проектов.

Забавно, >>968868
>Выросло то поколение, которые не видело свалку кода в процедурных проектах и почему ООП в свое время дал хороший толчок для реальной сложных проектов. Проблема в том, что в природе сложное нельзя представить легко (или упростить без потерь), единственный способ - это разбить его на составляющие и структурировать, работая в какой момент только с отдельным звеном (юнитом). Такие юниты предоставил в свое время ООП.

ООП макака копротивляется за ооп в 2016 году.

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

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

Почему? Ответ прост, его еще Бахус дал в 70-х. Человек мыслит декларативно. Нам удобнее представлять знания в декларативной форме. Удобнее писать регулярку или bnf вместо конечного автомата, удобнее писать сигму вместо лупа, дифур вместо класса с кучей переменных. Физика, химия, лингвистика, математика от и до декларативны, и только оопуны копротивляются и утверждают, что если добавить инкапсуляцию состояния, сложное станет простым.

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

Ну кроме говна, да, эти переизобретают сишку в 2017.

Ответы969010969019969043

07 Апр, 23:08 #184 #969010

>>969008
>2016

2017.

45 Кб, 500x393

07 Апр, 23:42 #185 #969019

>>969008
>что кому-то подумалось, что если инкапсулировать состояние в объекты -- станет проще
Сколько вы ещё будете повторять эти обоснования «если-то-иначе», программистишки?
ООП двигал в массы вполне конкретный человек, отложивший вполне конкретных кирпичей, когда всё ПО для его третьей венды внезапно начали запускать Mac OS 8.x, OS/2 3.x и даже IRIX.
Оттуда же растут реестры драйверов, COM/DCOM/ActiveX и флеш-заставки на домащних сраничках.
Сейчас он имеет миллиарды, а ваше место на помойке, и даже Canonical закрывается, вот и всё.

Ответы969034

08 Апр, 00:13 #186 #969025

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

1.1. То, что функции из-за множественного возврата нельзя вкладывать в функции, кажется минусом, но если учесть концепцию в пункте выше, то понятно что это никак не обойти. Единственный вариант: описать wrapper, который /будет сам обрабатывать ошибку, и/или возвращать основной результат. Таким образом можно вызов в вызов вложить. Однако, концептуально, язык обязывает "войти в ритм" и обрабатывать ошибки каждый раз, когда ошибка вообще может появится.

2. Мир устал от абстракций. Вначале ты тратишь 3 дня чтобы описать абстракции и интерфейсы, потом начинаешь только писать реальный проект, который реально работает, а не состоит из trait, interface, abstract class, abstract method. Тут же сразу начинаешь херачить: создал структуру, описал методы, создал анонимное поле структуры (унаследовал), и погнал. Короче, быстро все.

3. Язык по своему уникальный, да, вырезано много, да, много повторяющихся строк, но... скорость разработки зависит не от количества строк в файле, а от отсутствия подводных камней и не естественного поведения программы, а Go позволяет писать стабильные программы, и притом работающие многопоточно.

Ответы969035969065969129

08 Апр, 00:50 #187 #969034

>>969019
>Сейчас он имеет миллиарды

Сейчас он сбежал с тонущего корабля, который тонет как раз из-за этих недотехнологий, а его компанию так взъебал оракл, что они и дотнет, и скульсервер на линуксе выпустили. Да только кто со скалы и оракла на это говно перейдет, даже не знаю. Даже их новый браузер этот твой активх не поддерживает. Как поняли твои люди, что обосрались, так сразу индусов каких-то посадили, мол, не при делах, бгг.

08 Апр, 00:53 #188 #969035

>>969025
>Мир устал от абстракций. Вначале ты тратишь 3 дня чтобы описать абстракции и интерфейсы, потом начинаешь только писать реальный проект, который реально работает, а не состоит из trait, interface, abstract class, abstract method.

https://www.youtube.com/watch?v=9HNi47ameLI

Ответы969044

08 Апр, 01:42 #189 #969043

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

>>969008
>Собсна, потому современные языки медленно но верно движутся в сторону функциональщины: начиная со скалы, свифта и раста и заканчивая новшествами в крестах и джаве.

>Использование изоморфизма Карри — Ховарда позволило создать целый класс функциональных языков программирования, среда выполнения которых одновременно является системой автоматического доказательства, таких как Coq, Agda и Epigram
>таких как Coq
>Coq (фр. coq — петух) — интерактивное программное средство доказательства теорем, использующее собственный язык функционального программирования (Gallina)
Каждый день что-то новое узнаешь.
Спасибо харкачь.

08 Апр, 01:44 #190 #969044

>>969035
Не трож Сычеву, проклятый PHP жидомассон!

08 Апр, 03:31 #191 #969059

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

Но все же вкину тебе месседж:
Какие там трудности у тебя возымели, когда ты одним только maven'ом может собрать у себя за минуту библиотеки, которые имеет тысячи человеко часов работы?
Представь за минуту ты решаешь вопрос тысяч часов работы.

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

Ответы969072969132

08 Апр, 03:35 #192 #969061

>>968892
Неблокирующие i/o это и есть асинхронный ввод вывод. Нету там, блядь, больше нечего - это синонимы и пиар фраза.

Что фанбои бараны, что хейтеры, лол

Ответы969073

08 Апр, 03:37 #193 #969062

>>968912
Их спас Го

08 Апр, 03:42 #194 #969063

>>968947
>>а go решает узкий класс сетевых задач

Давайте уже называть своими именами, го исключительно для скриптов.
Как там? ДевОПс или как?? В общем, тупоголовые макаки админы играют в программирование.

Ответы969085969133

08 Апр, 04:05 #195 #969065

>>969025
>Мир устал от абстракций.
А еще мир устал от скушных обоев (с)

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

>Вначале ты тратишь 3 дня чтобы описать абстракции и интерфейсы,
Нахера ты сам себе интерфейсы пишешь? Почему ты не можешь одним кликом сделать рефакторинг и создать интерфейс по классу с автозаменной по коду? Почему ты программируешь как в конце девяностых?

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

> сначала прописываешь поведение программы на случай ошибки, затем пишешь что будет если все ок
Нет, мой мечтатель, сначала ты пишешь строчку поведения, а потом три строчки одного такого же кода шаблонного кода обработки. Всегда, каждый день. Через полгода тебя уже будет воротить, если ты будешь видеть что в API фунция возвращает еггора

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

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

08 Апр, 04:05 #195 #969065

>>969025
>Мир устал от абстракций.
А еще мир устал от скушных обоев (с)

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

>Вначале ты тратишь 3 дня чтобы описать абстракции и интерфейсы,
Нахера ты сам себе интерфейсы пишешь? Почему ты не можешь одним кликом сделать рефакторинг и создать интерфейс по классу с автозаменной по коду? Почему ты программируешь как в конце девяностых?

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

> сначала прописываешь поведение программы на случай ошибки, затем пишешь что будет если все ок
Нет, мой мечтатель, сначала ты пишешь строчку поведения, а потом три строчки одного такого же кода шаблонного кода обработки. Всегда, каждый день. Через полгода тебя уже будет воротить, если ты будешь видеть что в API фунция возвращает еггора

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

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

Показать весь текст
Ответы969066969077969134

08 Апр, 04:08 #196 #969066

>>969065
>А не лучше ли сразу писать геттеры и сетерры? - И тут суслики открывают опыт джавы времен начала нулевых.

А в то время в реально-современных языках завозят проперти

08 Апр, 05:48 #197 #969072

>>969059
>Сразу видно человека, который знаком с ИТ только по "интернету". Один шаблонный взгляд за другим.
Я боюсь, ты просто не понимаешь написанного. И\или интерпретируешь оное через призму каких-то своих познаний из "интернета". Я, к своему глубокому счастью, новости не читаю. А в тех материалах, которыми все-же интересуюсь, взгляды аналогичные моим, не встречаю. В IT, такое неприятно обсуждать. Как и темы о корпоративной культуре например. Запретное знание для рабов.

>Иди сделай такое в го - то обгрызок на обгрызке, то баг на баге.
Не хочу, не буду.

>И это при том, что в го, до сих пор, не пизнают менеджер зависимостей.
Это сложная тема.
Что он должен по твоему делать?
Например, меня сильно удивило, что этот самый ГО, норовит стянуть что-то с гитхаба постоянно.

Ответы969610

08 Апр, 05:49 #198 #969073

>>969061
>Неблокирующие i/o это и есть асинхронный ввод вывод. Нету там, блядь, больше нечего - это синонимы и пиар фраза.
ТЫ ЧЕ, ДЕБИЛ!
Я больше 20 лет в ВЕБ ДЕЛЕВОПМЕНТЕ, А ТЫ МНЕ ТУТ ХУЙНЮ НЕСЕШЬ ТАКУЮ!

08 Апр, 05:55 #199 #969076

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

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

Во вторых.
Тред как бы есть, но его как бы нету, когда ты используешь асинхронное IO.
Но когда ты используешь синхронное IO, то у тебя, тред как бы есть, но его нет + тред который точно есть.

Ответы969078

63 Кб, 599x599

08 Апр, 05:58 #200 #969077

>>969065
>А не лучше ли сразу писать геттеры и сетерры?
Ты там в 90хтых застрял?

Ответы969138969266

08 Апр, 06:09 #201 #969078

>>969076
Мальчик, а ведь ты на самом деле неполноценен.
То есть до уровня разрушенных алкоголем мозгов обычного русского еще не дошел - но направление то самое.
Удачи.

Ответы969313

Dmitry 08 Апр, 07:15 #202 #969085

>>969063
Ты не прав, маня.

Ответы969298

08 Апр, 10:31 #203 #969129

>>969025
>Мир устал от абстракций
От тех, что есть - да, потому что они слабы. Я не претендую на то, что знаю, какие лучше, кстати.

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

08 Апр, 10:36 #204 #969132

>>969059
>Какие там трудности у тебя возымели, когда ты одним только maven'ом может собрать у себя за минуту библиотеки, которые имеет тысячи человеко часов работы?
1. maven в 2017 аааа.
2. Может, вставить депенд с сайта мавен репо это и быстро, но, поверь мне, это местами довольно сложная система сборки и там не все так просто.
Хотя что тебе объяснять, ты ж диванный.

Ответы969139969182969299

08 Апр, 10:36 #205 #969133

>>969063
Это даже не нормальные админы.

08 Апр, 10:38 #206 #969134

>>969065
>Создал структуру и поля, понадобился мьютекс, переписал на геттер/ - перелопатил весь код
А еще потом такой скопировал эту структуру и мьютекс вместе с ней.

Ответы969300

08 Апр, 10:40 #207 #969138

>>969077
>Ты там в 90хтых застрял?
Java 8 вполне современный язык (в плане последняя версия популярнейшей платформы) и там до сей поры надо писать геттеры и сеттеры. Есть конечно плагины для IDE, но по сути это делается.

08 Апр, 10:41 #208 #969139

>>969132
>maven
>сложная система сборки
Беспросветные дебилы беспросветны.

08 Апр, 11:36 #209 #969182

>>969132
> maven в 2017 аааа.
алло, грейдл работает поверх мавен

0 Кб, 225x225

08 Апр, 11:37 #210 #969184

>>968924
>джавы
>сложный ООП

Ответы969312

08 Апр, 11:38 #211 #969186

>>968950
>джава царит
Ага, настолько, что люди уже выбирают ноду, python и пых.

Ответы969205969302

08 Апр, 11:46 #212 #969189

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

Ответы969316

08 Апр, 12:09 #213 #969205

>>969186
Я не сайтики, а веб уровня amazon, гугл+ и тд

Ответы969207969223

08 Апр, 12:09 #214 #969207

>>969205
про*

08 Апр, 12:42 #215 #969223

>>969205
>веб уровня amazon, гугл+
Лол, так амазон, пейпал, tunein, гугл и прочие как раз и форсят простые средства разработки. C++/java это конечно круто, но оно нужно не везде.

08 Апр, 14:16 #216 #969266

>>969077
>Ты там в 90хтых застрял?

Лол, анон привел ситуации, а эти дебилы думают что это их не касается.Необучаемые

Ответы969317

08 Апр, 15:04 #217 #969298

>>969085
Не убедительно

08 Апр, 15:06 #218 #969299

>>969132
Хотел громком пукнуть, но перетужился. Иди стирай штаны

08 Апр, 15:07 #219 #969300

>>969134
>А еще потом такой скопировал эту структуру и мьютекс вместе с ней.
Лол, действительно. Го просто эталон дизайна

08 Апр, 15:12 #220 #969302

>>969186
>Ага, настолько, что люди уже выбирают ноду, python и пых.
Ноду? Те хипсторы уже выросли. У тебя тормознулся хайп

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

51 Кб, 476x476

08 Апр, 15:25 #221 #969307

У меня такой вопрос, Го компилируемый и максимально простой язык, почему по производительности, даже в число-дробилках он не уступает интерпретируемой джаве (не разогретой, а той которая байткод исполняет, без HotSpot)?

Если не трогать всякие ГЦ то он должен исполняться почти вровень С/C++ ?

Ответы969356

08 Апр, 15:43 #222 #969312

>>969184
Ну, конечно есть более полные реализации ООП, в том же C++.
Но на практике, больше половины из этого оказываться бессмысленным и беспощадным злом. Которое используется только в laba2 и kursach.

Ответы969330

08 Апр, 15:44 #223 #969313

>>969078
Я начинаю ловить лулзы с этих кукареков в стиле вуменс.ру
Наверное я плохо понял изначально смысл го треда.

08 Апр, 15:46 #224 #969316

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

08 Апр, 15:47 #225 #969317

>>969266
Ты понял вообще что сам сейчас сказал?
Какие ситуации, ты ебнутый в край там?
Или ты и есть тот "анон что привел ситуации"?

Ответы969335

08 Апр, 16:03 #226 #969330

>>969312
>полные реализации ООП
>в том же C++.

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

Ответы969334

08 Апр, 16:08 #227 #969334

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

Ответы969337

08 Апр, 16:10 #228 #969335

>>969317
У вас нет пропертей, при этом все завязано на джава-стайл
Как только го начнут писать реал приложения, путем спотыкания поймут, что открытые поля зло и нужны аксессоры.
Ты думаешь 20 лет назад в джаве не использовали публичные поля и не юзали классы как сейчас гоферы? Не от хорошей жизни аксессоры стали юзать.

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

ебанные сектанты

Ответы969377969388969412

08 Апр, 16:11 #229 #969337

>>969334
В Го тред я исключительно хожу как на шоу-уродов. Нужны же людям зрелище.

Ответы969373

08 Апр, 16:58 #230 #969356

>>969307
Полное отсутствие каких-либо оптимизаций.

Ответы969592

08 Апр, 17:13 #231 #969362

>>967936
кек, ну напиши функцию-обёртку или структуру по работе с файлом(-ами)

2839 Кб, Webm

08 Апр, 17:34 #232 #969373

>>969337
>В Го тред я исключительно хожу как на шоу-уродов. Нужны же людям зрелище.
Но ведь главный урод в го треде, это ты.

Ответы969593

08 Апр, 17:36 #233 #969377

>>969335
>Вы сейчас
>У вас нет
>вас хомяков
О чем ты, юродивый?
Сам се6бе придумал оппонента, сам с ним споришь.

Ответы969595

08 Апр, 18:01 #234 #969388

>>969335
Что тебе мешает сделать accessors в Go? Есть у тебя пакет, создай Struct с полями. Добавь к структуре методы. Все. Делай поля неэкспортируемыми, и все ок. Конструктор, обычно, это функция New() принимающая аргументы, и возвращающая структуру которая тебе нужна. Извне на методы ты никак не повлияешь.
Есть два понятия: сокрытие свойств и защита. Защита - тема другого урока. А сокрытие есть как в Java так и в Go.

Ответы969396969604

08 Апр, 18:08 #235 #969396

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

Ответы969413969609

08 Апр, 18:49 #236 #969412

>>969335
>при этом все завязано на джава-стайл
яскозал

08 Апр, 18:52 #237 #969413

>>969396
Но это значит, что они нужны в 90% случаев.

Ответы969470

08 Апр, 20:59 #238 #969470

>>969413
Ну вот например, в PHP есть способы читать, писать в свойства налету. И не важно, private, public или protected они. Достаточно получить ссылку на объект, и через Closure::bind мы добавляем в объект метод, который может изменить, прочитать и сделать что угодно. И нахуя нужны геттеры и сеттеры? А нужны они для того, чтобы предоставить API для тех, кто будет использовать пакет. Создал, ты, скажем, кешер. Написал метод GetTotalKeys() int и получил себе поле length структуры cache. Но это не значит, что эти значения защищены, и никто не сможет изменить их, это не гарантия защиты. Поэтому геттеры и сеттеры - это API и ничего больше.

Ответы969535969612

08 Апр, 23:35 #239 #969535

>>969470
Обычно кстать если листы и возвращать, то только иммутабл копию.

09 Апр, 00:29 #240 #969554

Поясните ньюфагу программирования, что такое дженерики о которых так много говорят, и как бы выглядел код в Go если бы они там были, какие плюсы и минусы. Вычитал тут http://www.quizful.net/post/java-generics-tutorial что якобы основное преимущество - ошибка компиляции, а не скомпилируется а на запуске выдаст ошибку. Но на сколько я знаю в Go и так на этапе компиляции будет ошибка, если в string int записать. Тогда какие у дженериков плюсы, если можно именно на примере кода Go и на примере до и после появления дженериков.

Ответы969556969558969613970632

09 Апр, 00:40 #241 #969556

>>969554
Например type BinaryTree<T> struct {
Left BinaryTree<T>
Value T
Right BinaryTree<T>
}

И ты можешь строить структуру со значением любого типа:

intTree = BinaryTree<int>{
Left: ,
Right: ,
Value: 1
}

stringTree = BinaryTree<string>{
Left: ...,
Right: ...,
Value: "str"
}

Сейчас же тебе нужно будет делать так, только если ты не юзаешь рефлексию и пустой интерфейс для обобщений(что может приводить к ошибкам в рантайме):

type IntBinaryTree struct {
Left IntBinaryTree
Value int
Right IntBinaryTree
}

type StringBinaryTree struct {
Left StringBinaryTree
Value int
Right StringBinaryTree
}

intTree = IntBinaryTree{
Left: ...,
Right: ...,
Value: 1
}

stringTree = StringBinaryTree{
Left: ...,
Right: ...,
Value: "str"
}

09 Апр, 00:40 #241 #969556

>>969554
Например type BinaryTree<T> struct {
Left BinaryTree<T>
Value T
Right BinaryTree<T>
}

И ты можешь строить структуру со значением любого типа:

intTree = BinaryTree<int>{
Left: ,
Right: ,
Value: 1
}

stringTree = BinaryTree<string>{
Left: ...,
Right: ...,
Value: "str"
}

Сейчас же тебе нужно будет делать так, только если ты не юзаешь рефлексию и пустой интерфейс для обобщений(что может приводить к ошибкам в рантайме):

type IntBinaryTree struct {
Left IntBinaryTree
Value int
Right IntBinaryTree
}

type StringBinaryTree struct {
Left StringBinaryTree
Value int
Right StringBinaryTree
}

intTree = IntBinaryTree{
Left: ...,
Right: ...,
Value: 1
}

stringTree = StringBinaryTree{
Left: ...,
Right: ...,
Value: "str"
}

Показать весь текст
Ответы969562969573

09 Апр, 00:44 #242 #969558

>>969554

Короче говоря, дженерики позволяют тебе делать обобщение твоего кода. Написал пример со структурами и понял, что он не очень удачен. Более понятный будет такой:

func insert<T>(a []T) {
// Вставим в массив элемент
}

А вот без дженериков:

func insertInt64(a []int64) {
}

func insertByte(a []byte) {
}

...

Ну и так далее.

Ответы969573

09 Апр, 00:53 #243 #969562

>>969556
Но можно же темплейты делать, как в крестах. Даже если в языке нет для этого никакой поддержки.

Ответы969568

09 Апр, 01:09 #244 #969568

>>969562

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

Сам на голанге не пишу, присматриваюсь

Ответы969570

09 Апр, 01:11 #245 #969570

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

Ответы969577

09 Апр, 01:16 #246 #969573

>>969556
>>969558
Спасибо. Действительно, может быть удобно. Но пока, увы, не ощущал в этом такой необходимости. Даже не знал что так можно, лол.

09 Апр, 01:23 #247 #969577

>>969570

> нет типобезопасности

Она там то есть, но не во всех случаях.

> Я просто какбы намекну что типобезопасность и строгая типизация...

> сделать это с помощью рефлексии, но это пиздец какая просадка по перфомансу.

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

> нахуй она вообще нужна

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

> производительность числодробилок на порядок.

Числодробилки на языке с ГЦ? Ты серьёзно?

Ответы969579

09 Апр, 01:28 #248 #969579

>>969577
А какая разница, ГЦ или тот же malloc или даже нормальная реализация аллокатора? Все равно, если ты хочешь эффективности, ты просто не будешь создавать объекты. Не используешь new - не работает ГЦ / не надо вызывать delete.

Ответы969614

09 Апр, 02:28 #249 #969592

>>969356
Каких?

09 Апр, 02:31 #250 #969593

>>969373
>Сам такой
Ну что за школьные маневры? Гофер, ты можешь лучше

09 Апр, 02:36 #251 #969595

>>969377
Ярко светит гоферский пукан
Снова он оторваный от фактов,
Снова между нами тупизна,
Жопных огньков аэродрома
...

Ответы969599

09 Апр, 02:43 #252 #969599

>>969595
Зойчем ты мне это пишешь?

Ответы969600969615

09 Апр, 02:44 #253 #969600

>>969599
Тралит. Мы же на дваче.

Ответы969601

09 Апр, 02:49 #254 #969601

>>969600
Я не понимат в чем траллинг.

Ответы969602

09 Апр, 02:51 #255 #969602

>>969601
Значит тонко тралит, годно. Это стихи, поэзия, искусство. Технарям не понять.

Ответы969617

09 Апр, 02:51 #256 #969604

>>969388
> Го - это процедурное программирование, жаба вся в сложных абстракция, жаба говно.
>Но ведь структуры без пропертей приведут вас к тем же акссесорам, вы пишите на джаве как девяностые
>Что тебе мешает сделать accessors в Go как на жабе?
Лол, приехали.

09 Апр, 03:03 #257 #969609

>>969396
>Если так подумать, то геттеры и сеттеры нужны только
Плохо думаешь

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

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

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

09 Апр, 03:06 #258 #969610

>>969072
>>Иди сделай такое в го - то обгрызок на обгрызке, то баг на баге.
>Не хочу, не буду.

Ты вообще нормальный? Как ты утверждение о качестве кода сопоставил со своим этим высказыванием? Что твориться твоей голове? Ты меня пугаешь анон

Ответы969681

09 Апр, 03:11 #259 #969612

>>969470
Как я понял это что-то типа рефлексии в пхп?
Так вот рефлексия - это другой круг задач. Это не для диверсии в коде, а чтобы делать гибкий API (например для какого-нибудь фреймворка)

09 Апр, 03:16 #260 #969613

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

Простыми словами, отсуствие дженериков, превращает статический язык в тыкву подобную скриптам.

Правда в го параметризовали слайсы и мапу и на том спасибо.

Ответы969620

09 Апр, 03:20 #261 #969614

>>969579
Если ты вкинешь числодробилку в Го, ты остановишь все го-потоки, которые весят в этом ос-треде.

Ответы969618969685

09 Апр, 03:21 #262 #969615

>>969599
Чтобы ты расчувствовался и стал писать больше по делу, а не бомбить впустую на публику.

Ответы969683

8 Кб, 160x160

09 Апр, 03:24 #263 #969617

>>969602

09 Апр, 03:28 #264 #969618

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

Ответы969621

09 Апр, 03:31 #265 #969620

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

Ответы969622970052

09 Апр, 03:32 #266 #969621

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

09 Апр, 03:35 #267 #969622

>>969620
>Статический язык нахуй не нужен кроме как для числодробилок.

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

Ответы969623969625

09 Апр, 03:36 #268 #969623

>>969622
быстро-фикс
>подписанными
подпитаными

09 Апр, 03:40 #269 #969625

>>969622
Так я и шлю, двач же.
Вон для js есть поделия уровня http://www.contractsjs.org
Люди делают и им норм.
А эта ваша статическая типизация и тайпскрипт не нужны нахер. Фактически мировая закулиса пытается из js сделать кресты вместо того чтобы научиться эффективно компилить js код, выкидывая словари из зашкварных мест.

Ответы969629

09 Апр, 03:51 #270 #969629

>>969625
Ненужон это ваша типизация
Согласен анон, все это вообще числа, зачем эти сложные абстракции из С++ и джавы

Ответы969631

09 Апр, 03:58 #271 #969631

>>969629
Ну а нахер она нужна если контракты и так можно валидировать? Считай что аргументы у функции должны реализовывать все методы и свойства, которые в ней же и используются. Такой неявный контракт. Нужна валидация? Она в 99% случаев элементарна.

Ответы969660969664

09 Апр, 08:16 #272 #969653

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

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

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

Ответы969661

09 Апр, 09:01 #273 #969660

>>969631

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

> Сейчас все хуячат на js и питоне и им норм.

Стартапам охуенно, да. При росте кодовой базы начинаешь охуевать от того, что там за пиздец. Ну и тесты вроде if (typeof arg1 == "string") тоже очень удобно, да.

09 Апр, 09:05 #274 #969661

>>969653
Я блуждал среди скриптовых языков, не находя себя. Но вот, в один прекрасный день я попробовал Го! И знаете я узрел, пускай я теперь пишу кода в 10-30 раз больше, но с го моя жизни перевернулась, все заработало стабильно, я обмазал код мьютексами и что вы думаете? Код стабилен -Аллилуйя!
*громкий крик в зале - Аллилуйя, Аллилуйя Брат!
Теперь я сам стал стабильнее и моя скорость разработки даже выросла на пару сантиметров.
Аллилуйя!

>но местные гоферы подняли меня на смех, когда я предположил, что это отличное решение для фулл-стек разработки приложений, например
Аллилуйя Брат!

Ответы970715

09 Апр, 09:14 #275 #969664

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

Зачем нужен статический язык? Все просто, чем больше кодо-база твоя, тем больше она превращается в мусор с непонятным взаимодействием.
На js было все срать в свое время - юзали реально как скрипты, но сейчас фронтент становится тяжелее бэкенда и вот тут нужен другой язык (а не переделывать старый)

09 Апр, 10:40 #276 #969681

>>969610
>Ты вообще нормальный? Как ты утверждение о качестве кода сопоставил со своим этим высказыванием? Что твориться твоей голове? Ты меня пугаешь анон

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

А противопоставление ГО интернпрайзу вообще бессмысленно и беспощадно.
Скажем так, вначале кто-то сделает нечто крупное на го, пару раз, и тогда уже можно будет о чем-то говорить.

Пока это бессмысленно, ибо нет данных сопоставимых метрик.

Ответы970032

47 Кб, 1000x712

09 Апр, 10:44 #277 #969683

>>969615
>Чтобы ты расчувствовался и стал писать больше по делу, а не бомбить впустую на публику.
Но я не бомблю.
Писать больше по делу?
Что можно ответить по делу на заявле6ния типа
>У ТИБЯ БАМБИТ ЛАЛКА
?

Бомбил бомбящий перефорсер,
И всюду батхерд ванговал!
Пукан свой потушить не в силах,
Он болью Го тред заливал!

Ответы970036

09 Апр, 10:45 #278 #969685

>>969614
>Если ты вкинешь числодробилку в Го, ты остановишь все го-потоки, которые весят в этом ос-треде.
Корутины не для числодробилок, юродивый.

Ответы970038

09 Апр, 15:45 #279 #970032

>>969681
Как это все написанное гармонирует с этим
>>Иди сделай такое в го - то обгрызок на обгрызке, то баг на баге.
>Не хочу, не буду.

Что ты там вообще пишешь?? Ужас

09 Апр, 15:49 #280 #970036

>>969683
>Что можно ответить по делу на заявле6ния типа
Не маневрируй, ты конкретно на тематический пост ответил слезами на весь тред (собственно всегда так делаешь, мы поняли, тебе больно, но нам срать на твои чувства - либо по теме пизди либо, рыдай без нас)

Ответы970079970084

09 Апр, 15:51 #281 #970038

>>969685
>Корутины не для числодробилок, юродивый.
Го - не для вычислений, го это для души

Ответы970047970083970123

09 Апр, 16:03 #282 #970047

>>970038
Ты ебанутый? go не планировали изначально как язык для числодробильных задач. Вот есть R - пользуйтесь, нет хотим хуйню нести.

Ответы970053

09 Апр, 16:06 #283 #970052

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

09 Апр, 16:07 #284 #970053

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

Ответы970056970088

09 Апр, 16:08 #285 #970056

>>970053
>вы мне в уши ссыте
Кто здесь? Я тут один нахуй

09 Апр, 16:21 #286 #970079

>>970036
>Не маневрируй, ты конкретно на тематический пост ответил слезами на весь тред
Ты галлюцинируешь.
Поехавший срущий шизик.

09 Апр, 16:25 #287 #970083

>>970038
>Го - не для вычислений, го это для души
Поясняю, безмозглому тупому шизику.
Корутины есть видоизмененный евент луп, и предназначены исключительно для IO.
С тем же успехом можно предложить делать тяжелые вычисления в UI потоке.

Для тяжелых вычислений ненужны корутины, и прочая асинхронщина, по определению.

Я просто в шоке от этого безумия. Дебилы.

Ответы970144

09 Апр, 16:26 #288 #970084

>>970036
>Не маневрируй
Уроки иди делай лучше, завтра в школу.

Ответы970140

09 Апр, 16:29 #289 #970088

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

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

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

Ответы970092970132

09 Апр, 16:31 #290 #970092

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

Ответы970102970109

1057 Кб, Webm

09 Апр, 16:34 #291 #970102

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

09 Апр, 16:36 #292 #970109

>>970092
>А вы мне ссыте в уши
Поссал тебе в рот.

>что нельзя
Можно, разрешаю.

>вы
Шизофреник

>кококорутины кококо ресурс нельзя больше тредов кококо
Петушок раскукарекался. Проследуйте в курятник.

Ответы970148

09 Апр, 16:37 #293 #970110

Я тут на забавную ссылку наткнулся
http://www.soroushjp.com/2015/02/07/go-concurrency-is-not-parallelism-real-world-lessons-with-monte-carlo-simulations/
>The current implementation of the Go runtime will not parallelize this code by default. It dedicates only a single core to user-level processing.
>this is problematic because the convenience function actually uses a global rand object that has a mutex lock associated with it

Короче девочки и мальчики. Если вам лень вчитываться - то в двух словах: го нинужен. Расходимся.

Ответы970120970163

09 Апр, 16:42 #294 #970120

>>970110
Я тут на забавную ссылку наткнулся
http://www.space.com/36402-peggy-whitson-takes-command-watch-live.html
>The trio will leave Whitson in charge, with two other crewmembers: French astronaut Thomas Pesquet and Russian cosmonaut Oleg Novitskiy.
>NASA recently extended Whitson's stay on the station by three months.
Короче девочки. Если вам лень вчитываться - то в двух словах: мужчины ненужны. Расходимся.

Ответы970125

09 Апр, 16:43 #295 #970123

>>970038
САЙТИК ПОЛУЧИЛ КАРТИНКУ С ТЕКСТОМ
@
ПОЛОВИНА ЮЗЕРОВ НЕ МОГУТ ПОЛУЧИТЬ ДОСТУП НА САЙТ, ТАК КАК ОБРАБОТКА КАРТИНКИ ЗАНЯЛА ВЕСЬ ТРЕД НА ОДНОМ ЯДРЕ

Го - не для вычислений, го для дебилов

Ответы970129970131970135

09 Апр, 16:43 #296 #970125

>>970120
По теме аргументы кончились? Всегда можно сделать вид, что тонко потралил собеседника?

Ответы970141

09 Апр, 16:45 #297 #970129

>>970123
Иди нахуй, шизофреник. Не используй Го. Он нужен там где он нужен.

Ответы970151

09 Апр, 16:45 #298 #970131

>>970123
И вообще в рот тебе нассал. И в нос.

09 Апр, 16:47 #299 #970132

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

Нахуя Го с суперпараллельностью, если на нем нельзя юзать эти все потоки для вычислений?

Ответы970154970155

09 Апр, 16:48 #300 #970135

>>970123
>САЙТИК ПОЛУЧИЛ КАРТИНКУ С ТЕКСТОМ
>@
>ПОЛОВИНА ЮЗЕРОВ НЕ МОГУТ ПОЛУЧИТЬ ДОСТУП НА САЙТ, ТАК КАК ОБРАБОТКА КАРТИНКИ ЗАНЯЛА ВЕСЬ ТРЕД НА ОДНОМ ЯДРЕ

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

А так да, 99.9999% бекенда именно так себя поведет в такой ситуации.

>Го - не для вычислений, го для дебилов
Я тебе верю.
Ты донес свою точку зрения.

09 Апр, 16:51 #301 #970140

>>970084
Прекрати плакать на публику, имей гордость

Ответы970164

09 Апр, 16:52 #302 #970141

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

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

09 Апр, 16:53 #303 #970144

>>970083
То есть, если мой сайт обрабатывает бизнес-логику в 50мс, все другие потоки на моем ядре будут лежать?

По-моему это вин тысячелетия.

09 Апр, 16:56 #304 #970148

>>970109
Надави немного на гофера и говно со всех щелей польется.

Ответы970158

09 Апр, 16:58 #305 #970151

>>970129
Окей, я буду запросы принимать для i/o а вычисления кидать питону, ибо весь го это блядь прослойка для неблокирующего ввода
ЭТО ШИН!

Ответы970162

09 Апр, 16:59 #306 #970154

>>970132
> нахуй разные задачи производительности,

> ак как там упирается чисто в БД и сеть.

> Нахуя Го с суперпараллельностью

Вас там с одного митапа что-ли собирают или это ты один такой поехавший? Проблемы бывают не только на ИО внешних ресурсов, лол.

Ответы970170

09 Апр, 16:59 #307 #970155

>>970132
>Нахуя Го с суперпараллельностью,
>суперпараллельностью
Это что за технология такая?

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

Хотя конечно, можно это делать, если очень хочется.
Тогда, вначале нужно задать количество потоков для планировщика, а затем, последовательно запустить равное этому количеству число корутин.
Собственно, что и делает автор статьи http://www.soroushjp.com/2015/02/07/go-concurrency-is-not-parallelism-real-world-lessons-with-monte-carlo-simulations/

09 Апр, 17:00 #308 #970158

>>970148
>Надави немного на гофера и говно со всех щелей польется.
На тебя давить ненужно, шизик, говно так и плещет.

09 Апр, 17:02 #309 #970162

>>970151
А чо заибися будет работать, на numpy то. Еще можно пакет для этого вашего go нахуячить по интеграции с питоном и на гитхаб к себе положить.

09 Апр, 17:03 #310 #970163

>>970110
> Если вам лень вчитываться - то в двух словах: го нинужен. Расходимся.

Не гофер, но забавно, что ты действительно считаешь, что тут все такие тупые и не почитают статью. А уж к тому же не знают отличий concurrency и parallelism. А ещё адекватный хейтер/гофер должны знать про GOMAXPROCS. Хотя постойте. ОХ БЛ~

Ответы970167970168

09 Апр, 17:03 #311 #970164

>>970140
Может ты диплом пишешь по троллингу в интрнете?
Это бы хоть как-то тебя оправдывало.

Но как-то слабо откровенно.
Батхерт уже не детектишь, теперь у тебя "оппонент" плачет.
А дальше писаться начнет, тебе в рот?

09 Апр, 17:05 #312 #970167

>>970163
>ты действительно считаешь, что тут все такие тупые и не почитают статью.
Каждый судит в меру своей испорченности.

09 Апр, 17:05 #313 #970168

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

Ответы970173

09 Апр, 17:06 #314 #970170

>>970154
>или это ты один такой поехавший?
Это срущий шизик.
Опасный тип.

83 Кб, 562x437

09 Апр, 17:09 #315 #970173

>>970168
>и ставить асинки во все поля на своих яве/питоне/шарпике.
Для тяжелых числодробильных вычислений?
Числодробилка на async await.

Ответы970176

52 Кб, 499x324

09 Апр, 17:10 #316 #970175

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

Вы просто непредставляете какой это ШИН!
Язык с набором задач уровня nginx сервера.

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

09 Апр, 17:11 #317 #970176

>>970173
А как ты еще их запускаешь если не через эти ваши таски? В уи тредике?

09 Апр, 17:20 #318 #970193

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

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

Если у первого варианта все явно и понятен мир асинхронной хуйни, то у го это просто костыль чтобы работало.

Какой нахуй хайлоад на го?? Если последующие потоки зависят от вычислений предыдущего.
Если на один поток приходится 10мс, то на 100 коннектов - мои юзеры будут сидеть по секунде?

Ответы970211970244970270

09 Апр, 17:34 #319 #970211

>>970193
Как это все будет в играх и GUI?
Такая борьба между горутинами и ГЦ за приятные фризы

Ответы970215

09 Апр, 17:37 #320 #970215

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

0 Кб, 225x225

09 Апр, 18:16 #321 #970244

>>970193
>В нормальных языках
>занимаешься бизнес логикой

Ответы970264

49 Кб, 600x450

09 Апр, 18:31 #322 #970264

>>970244
Я этого шизоида иногда тупо не понимаю, где тут смешно, где логика, где слово лопата?
В го реально такое сообщество?

Ответы970268970274

09 Апр, 18:34 #323 #970268

>>970264
Ну он какбы намекает нам, что в нормальных языках не занимаются бизнес-логикой потому что бизнес-логика для крудопетушков из пхппараши. Но если пхппараша с бизнес-логикой не для го, числодробилки не для го, то какова его область применения? Это язык для автоматизации эзотерической мастурбации?

Ответы970358

09 Апр, 18:35 #324 #970270

>>970193
>Если последующие потоки зависят от вычислений предыдущего.
Сейчас бы вину за свое бесталанное отношение к архитектуре перекладывать на язык.

Ответы970378

09 Апр, 18:37 #325 #970274

>>970264
>В го реально такое сооб
Да. Вон недавно модер хотел удалить сабреддит по го, потому что его заебало. Это многое объясняет.
https://news.ycombinator.com/item?id=13036890

Ответы970403

09 Апр, 19:15 #326 #970358

>>970268
Код, который непосредственно отвечает за логику (поведение) программы - есть бизнес логика.
То есть любой код, не только в веб-крудах.

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

Скажи, до го, на каком языке ты писал?

Ответы970382

5 Кб, 220x203

09 Апр, 19:22 #327 #970378

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

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

Ответы970476

09 Апр, 19:24 #328 #970382

>>970358
Ты меня с местными попутал, я даже синтаксиса этой параши не знаю

09 Апр, 19:39 #329 #970403

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

09 Апр, 21:02 #330 #970476

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

09 Апр, 22:22 #331 #970547

Го в хайлоад, я создал.

09 Апр, 23:53 #332 #970632

>>969554
Мапы и каналы в го - фактически дженерики. Ты можешь объявить любой канал (int, string, свой тип). Если бы были полноценные дженерики, ты мог бы сам создавать подобные структуры.

Ответы970665

10 Апр, 00:35 #333 #970665

>>970632
>Мапы и каналы в го - фактически дженерики
Они параметризованы.

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

Самая большая проблема отсутствия дженериков это конечно обесценивание компиляции и дублирования кода. А отсутствие полиморфизма (по средствам наследования, то есть задания типа <T extend X>), делает реализацию дженериков в го просто полу-костылем.

Простыми словами, дизайн языка такой, что проебано уже все.
Мне думается - отгрызок-ООП они тоже поверх натягивали, так как получился какой-то монстр, в том числе всплытие таких багов как проверка интерфейса на nil

10 Апр, 00:47 #334 #970675

>>968810
>Гугл - это джяяява.
Дяяяява - это оракл.

>>968870
>Нет, это ты тормоз, если не понял что изначально там речь про браузеры
Файспалм.пнг

10 Апр, 02:47 #335 #970695

Серьезно Го плохо подходит для веб-приложений?

Ответы970696

10 Апр, 02:57 #336 #970696

>>970695
>Серьезно Го плохо подходит для веб-приложений?
Да возьми и попробуй.
По мне так заебись.

Ответы970698

10 Апр, 03:25 #337 #970698

>>970696
Я про зеленные потоки и как они себя ведут при высоких нагрузках (имея при этом какие-то вычисления), хеллоу ворды понятно что летают, это любой язык возьми.

Ответы970700

10 Апр, 03:49 #338 #970700

>>970698
>Я про зеленные потоки и как они себя ведут при высоких нагрузках
Хорошо себя ведут.
Можешь думать о них как о тшреадпуле.

> (имея при этом какие-то вычисления)
Зависит от типа нагрузки.

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

Определись с решаемой задачей.
После чего станут понятны стратегии для ее решения.

Ответы970701970895

10 Апр, 03:51 #339 #970701

>>970700
>После чего станут понятны стратегии для ее решения.
Грамотная архитектура это 80% решения задачи и 80% производительности.
От конкретного ЯП и инструментов зависят оставшиеся 20%.

Ответы970895

10 Апр, 07:27 #340 #970715

>>969661
алиллуйя, братан. сосни мой ватаган

10 Апр, 10:22 #341 #970742

Зачем в го мьютексы если там грин треды и ченелы во все поля, просто поясните мне. Код с мьютексами не может быстро работать по определению. Особенно на сервачках с несколькими ЦПУ.

Ответы970829

10 Апр, 13:30 #342 #970829

>>970742
дата рейс же.
Если будешь писать одновременный рид-райт одного и того же поля в мапе, то соснёшь/получишь неконсистентные данные для одной/нескольких горутин

10 Апр, 15:06 #343 #970895

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

>На деле все упирается в железо и твою задачу.
Да ты просто капитан очевидность, а еще люди дышат.

>>970700
>Хорошо себя ведут.
Скорость с которой будут переключаться потоки, будет зависит от скорости с предыдущей горутины (ее какой-то большой атомарной функции). Вьебаться в теории сложно, но если вьебешься то это будет тотальный пиздец, по сути ты даже не будешь понимать почему твой сайт иногда так тормозит, а ты лишь картинку там обрабатываешь (ведь го не предназначен для этого)

>>970701
>Грамотная архитектура это 80% решения задачи
То есть, если я неграмотно напишу круд, или вебсайт без MVC, то моя задача, которая все равно будет решена, в твоей теории будет решена только на 20% или что?
Ловите этого гения математики.

Ответы970897970898970901

78 Кб, 600x588

10 Апр, 15:12 #344 #970897

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

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

И чем больше у тебя ядер, тем сложнее будет эту проблему поймать самому.

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

Ответы970900

10 Апр, 15:13 #345 #970898

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

>Да ты просто капитан очевидность, а еще люди дышат.
Ты кокой-то агрессивный буйнопомешанный.
Был вопрос есть ответ.

Ответы970904

10 Апр, 15:15 #346 #970900

>>970897
>Как решения, задать в настройках го - большое число ОС-потоков. Но проблема будет проявляться всегда. Так как корутины и вычисления несовместимы.

Или вынести в другой сервис эту обработку, (этакие микросервисы поневоле)

В общем архитектура приносит больше скрытых проблем, чем решает насушные

10 Апр, 15:15 #347 #970901

>>970895
>Скорость с которой будут переключаться потоки, будет зависит от скорости с предыдущей горутины (ее какой-то большой атомарной функции). Вьебаться в теории сложно, но если вьебешься то это будет тотальный пиздец, по сути ты даже не будешь понимать почему твой сайт иногда так тормозит, а ты лишь картинку там обрабатываешь (ведь го не предназначен для этого)
Я пожалуй устал от твоего больного потока сознания.

Ответы970905

10 Апр, 15:19 #348 #970904

>>970898
>Нужно понимать как работают используемые инструменты

Я понимаю как работает цикл фор, и присваивание переменной, но в скриптовых языках эти операции будут стоит в ~10000 раз дороже. Но я же понимаю!

Выбор языка это первое в вопросе производительности.

Опять это ты, неопытное говно, с шизойдным расстройством

10 Апр, 15:22 #349 #970905

>>970901
>Я пожалуй устал от твоего больного потока сознания.
Ну тогда поясни где я не прав? Это реальная проблема.

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

Ответы970929

10 Апр, 16:03 #350 #970929

>>970905
>Если одна функция в горутине - в одном потоке отрабатывает 100мс, то десятая в очереди горутина с этой же функции отработается только через секунду.
>Ну тогда поясни где я не прав? Это реальная проблема.

1. Это реальная "проблема" асинхронной обработки запросов в любом языке\фреймворке.
Го тут непричем.

Вот в этом ты конкретно серьезно полностью неправ. В привязывании распространенных архитектурных нюансов проектирования ПО на один конкретный языкнейм.

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

3.
>Когда в нормальных потоках они бы обрабатывались независимо от своей работы.
Примерно до 100 одновременно обрабатываемых запросов среднее время ответа сервера будет одинаковым, в подобном сценарии.
Больше, реализация на "нормальных потоках" будет иметь большее время ответа, нежели асинхронный вариант.

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

Ответы970960

10 Апр, 16:49 #351 #970960

>>970929
>1. Это реальная "проблема" асинхронной обработки запросов в любом языке\фреймворке.
>Го тут непричем.
Согласен, я вообще за то что проблема серьезная, а ее замалчивают. То есть корутины не серебряная пуля, а может еще не очевидных проблем внести

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

3. Не понял, я тебе про функции которые могут до 100мс просадить на запрос.

Вот пример.
Купил ты vsd c одним ядром, у тебя сайт с котиками, юзеры добавляют картинки и видео, ты ставишь ватермарку - то есть обрабатываешь фото и видео.
Так вот, когда будет эта обработка тяжелая, сайт будет недоступен?

Ответы970973970976970977

10 Апр, 17:20 #352 #970973

>>970960
>3. Не понял, я тебе про функции которые могут до 100мс просадить на запрос.

Запрос.
100мс расчетов.
Ответ.

Время обработки запроса 100 мс.

2 запроса приходят одновременно.

>1) Асинхронный подход.

Запрос 1
Запрос 2
100мс расчетов 1
Ответ 1
100мс расчетов 2
Ответ 2

Ответ на Запрос 1 получен через 100мс
Ответ на запрос 2 получен через 200мс

>3) Синхронный подход.

Запрос 1
Запрос 2
100мс расчетов 1 -|
-Вместе 200мс + оверхед на переключение потоков (допустим 20мс)
100мс расчетов 2 -|
Ответ 1
Ответ 2

Ответ на Запрос 1 получен через 220мс
Ответ на запрос 2 получен через 220мс

10 Апр, 17:20 #352 #970973

>>970960
>3. Не понял, я тебе про функции которые могут до 100мс просадить на запрос.

Запрос.
100мс расчетов.
Ответ.

Время обработки запроса 100 мс.

2 запроса приходят одновременно.

>1) Асинхронный подход.

Запрос 1
Запрос 2
100мс расчетов 1
Ответ 1
100мс расчетов 2
Ответ 2

Ответ на Запрос 1 получен через 100мс
Ответ на запрос 2 получен через 200мс

>3) Синхронный подход.

Запрос 1
Запрос 2
100мс расчетов 1 -|
-Вместе 200мс + оверхед на переключение потоков (допустим 20мс)
100мс расчетов 2 -|
Ответ 1
Ответ 2

Ответ на Запрос 1 получен через 220мс
Ответ на запрос 2 получен через 220мс

Показать весь текст
Ответы970990971000

10 Апр, 17:23 #353 #970976

>>970960
>Согласен, я вообще за то что проблема серьезная, а ее замалчивают.
Никто ее не замалчивает.
Этой "проблеме" столько же лет, сколько и программированию.
Все возможные пути решения давно затерты до дыр.

10 Апр, 17:27 #354 #970977

>>970960
>То есть корутины не серебряная пуля, а может еще не очевидных проблем внести
Не существует средства, позволяющего сказать
>сделай мне заебись(на одном ядре нагрузку гугла)
И получить годный результат, и даже хоть какой-то результат.
Нужно думать. ЯП за тебя думать не умеет.

Ответы971003

10 Апр, 17:55 #355 #970990

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

10 Апр, 18:03 #356 #970994

Так вот, /го/спода, поясните мне.
Я живу 5 лет в вебе и я считаю что многопоточность не нужна в принципе. Во-первых многопоточность - это слишком сложно. Во-вторых многопоточные программы не могут эффективно работать на современном железе. Реально круто будет работать программа, в которой есть много независимых асинхронных тасков, каждый из которых работает только со своими переменными. Плюс некоторые средства коммуникации - какие-то producer-consumer конструкции, медленно меняющиеся кэши - реализованные на быстрых и эффективных алгоритмах умными бородатыми дядями. В самом языке и в реализации основных библиотек не предполагается никаких средств синхронизации, всяких мутексов, хуютексов итд, потому что всё работает или с локальными переменными или с immutable кэшем. Насколько ваше говно похоже на платформу моей мечты?

10 Апр, 18:12 #357 #971000

>>970973
Во первых Го исполняется в той же среде и на него тоже действуют оверхед на переключение потоков (только с другими в ос).

Во вторых откуда такой сказочный оверхед на шедулер в ОС? Там уровень микро-нано секунд.
Ты бы еще сюда прерывания приписал.

В третих.
запрос 1 - добавляет котиков 100мс
запрос 2 - смотрит котиков 10мс.

Запрос 2 получит почти сразу ответ так система распределит на равных (запрос 2 получит свое процессорное время), в го же, тот кто смотрит котиков получит через котиков ~110мс, потому что кто-то раньше запустил дробилку.

Аналитики уровня Го

Ответы971001971187

10 Апр, 18:15 #358 #971001

>>971000
Мне кто-то мешает ёбнуть 100 го-тредов на 16 ядрах моего 4-цпу сервачка?

Ответы971005

10 Апр, 18:15 #359 #971003

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

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

Ответы971193

10 Апр, 18:18 #360 #971005

>>971001
Это лишь уменьшит вероятность этой проблемы (страдать будут юзеры только иногда и не все, и ты даже не узнаешь)

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

Ответы971013

35 Кб, 492x700

10 Апр, 18:20 #361 #971009

Даже книго-разводилы смеются над го и рисуют оленя

10 Апр, 18:24 #362 #971013

>>971005
Подожди, почему будут юзеры страдать? У меня есть допустим FIFO, в которое я кладу async хвосты и новые таски. Как только го-тред освобождается - я в него запихиваю из FIFO первый элемент. Где тут будут простои или тормоза?

Ответы971077

10 Апр, 19:25 #363 #971077

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

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

Ответы971081

10 Апр, 19:29 #364 #971081

>>971077
Я не гофер, не путай детектор чини! Я просто не понимаю почему нельзя сделать 100 го тредов. И чтобы ос между ними переключалась. А го планировщик между ними бы го задачи рассовывал. Я вообще рассказываю как бы я го на шарпе делал лал.

Ответы971131

10 Апр, 20:22 #365 #971131

>>971081
>Я не гофер
Да мне срать кто ты, главное что ты хуйню несешь как гофер.
Гофер это состояние ума.

>Я просто не понимаю почему нельзя сделать 100 го тредов
Да хоть 100.000 го тредов. И все 100К у тебя встанут из-за дробилки, если все в одном потоке (если не в одном потоке, то встанет какая-то часть и при нужном числе запросов, то есть когда-то в будущем).

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

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

Ответы971137

10 Апр, 20:31 #366 #971137

>>971131
Под го-тредом я подразумеваю ос-тред в который го-шедулер может свою го-парашу назначать. Я не знаю как он у них называется, честно. Почему я не могу 100 штук их запустить когда у меня 4 проца по 4 ядра? Поясни. И почему у такой системы будут проблемы при загрузке в 70% по цпу?

Ответы971196

81 Кб, 700x714

10 Апр, 21:04 #367 #971187

>>971000
>Во первых Го исполняется в той же среде и на него тоже действуют оверхед на переключение потоков (только с другими в ос).
Действует, только причем тут это?
Он действует всегда.

>Во вторых откуда такой сказочный оверхед на шедулер в ОС? Там уровень микро-нано секунд.
было слово "допустим". Набросай модель, сделай бенчмарк, и впиши точное значение.

>В третих.
>запрос 1 - добавляет котиков 100мс
>запрос 2 - смотрит котиков 10мс.

Более простой вариант "проблемы".

1. Запрос на добавление котиков
2. Начинаем тяжелую обработку котиков.
3. Ответ.

Ибо все-таки ждать окончания такой обработки не самая веселая затея.
Делать каждую такую обработку в отдельном потоке - за такое нужно расстреливать.

Есть два решения проблемы. (предположительно у нас одноядерная система)
1) В лоб. Мы просто дробим обработку котика на мелкие фрагменты.

2) СВЯТЫЕ УГОДНИКИ, ДА ЭТО ЖЕ ПРОДАКШЕН-КОНСЮМЕР ШАБЛОН!. Нам нужен отдельный тред, который будет брать котиков из очереди и обрабатывать их.
Ставим в настройках планировщика количество тредов равное 2м!
Запускаем одну единственную горутину читающую очередь и обрабатывающую котиков.
А остальное делаем как и раньше
1. Запрос на добавление котиков
2. Отправляем котика в очередь
3. Ответ.

Профит!

IO в отдельном потоке, котики в отдельном.
Асинхронность производительность доминант субмиссив.

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

Это ОЧЕВИДНОЕ решение, которое сразу же приходит в голову.
Это притом, что я документацию не читал, ГО твоего не знаю, и один разок глянул на схему работы планировщика горутин.

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

81 Кб, 700x714

10 Апр, 21:04 #367 #971187

>>971000
>Во первых Го исполняется в той же среде и на него тоже действуют оверхед на переключение потоков (только с другими в ос).
Действует, только причем тут это?
Он действует всегда.

>Во вторых откуда такой сказочный оверхед на шедулер в ОС? Там уровень микро-нано секунд.
было слово "допустим". Набросай модель, сделай бенчмарк, и впиши точное значение.

>В третих.
>запрос 1 - добавляет котиков 100мс
>запрос 2 - смотрит котиков 10мс.

Более простой вариант "проблемы".

1. Запрос на добавление котиков
2. Начинаем тяжелую обработку котиков.
3. Ответ.

Ибо все-таки ждать окончания такой обработки не самая веселая затея.
Делать каждую такую обработку в отдельном потоке - за такое нужно расстреливать.

Есть два решения проблемы. (предположительно у нас одноядерная система)
1) В лоб. Мы просто дробим обработку котика на мелкие фрагменты.

2) СВЯТЫЕ УГОДНИКИ, ДА ЭТО ЖЕ ПРОДАКШЕН-КОНСЮМЕР ШАБЛОН!. Нам нужен отдельный тред, который будет брать котиков из очереди и обрабатывать их.
Ставим в настройках планировщика количество тредов равное 2м!
Запускаем одну единственную горутину читающую очередь и обрабатывающую котиков.
А остальное делаем как и раньше
1. Запрос на добавление котиков
2. Отправляем котика в очередь
3. Ответ.

Профит!

IO в отдельном потоке, котики в отдельном.
Асинхронность производительность доминант субмиссив.

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

Это ОЧЕВИДНОЕ решение, которое сразу же приходит в голову.
Это притом, что я документацию не читал, ГО твоего не знаю, и один разок глянул на схему работы планировщика горутин.

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

Показать весь текст
Ответы971188971226

10 Апр, 21:06 #368 #971188

>>971187
>в /го/лову
Пофиксил. Не благодари.

Ответы971199

575 Кб, Webm

10 Апр, 21:09 #369 #971193

>>971003
>Ты не получаешь невидимой магии, при этом ты можешь использовать язык в тяжелых расчетах (го, напомню, не может)
Что Го не может? Использовать язык(чей?) в тяжелых расчетах?
Я думаю твой язык годится только для вылизывания туалетов, шизик.

10 Апр, 21:12 #370 #971196

>>971137
>Я не знаю как он у них называется, честно.
Машины.

>Почему я не могу 100 штук их запустить
Можешь.
Не то чтобы лучшее решение, но как вариант.
А шизик просто ебнутый на всю голову. Он то-ли пхпист, то-ли сеньер питонист-пехепист. Для него это все за гранью понимания.

10 Апр, 21:14 #371 #971199

>>971188
Я надеюсь ты там от истерики не плачешь.
А по делу есть что сказать, вскукорек ты такой этакий?

94 Кб, 600x651

10 Апр, 21:51 #372 #971226

>>971187
Мыши плакали, кололись, но продолжали грызть кактус

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

Как работает мозг гофера.
>Мы просто дробим обработку котика на мелкие фрагменты.
Вместо того чтобы в коде обработки (например в цикле) иногда вызывать внешнею функцию (чтобы дернуть планировщик), гофер пытается расхерачить котика добавив радости для ГЦ и головной боли для того кто будет сопровождать потом это все.
Кстати бывают неделимые дробилки, чтобы реализовать там такое дробление, придется целый фреймворк написать.
Адовое решение, больного разума для обработки картинки на vsd серваке.

>Запускаем одну единственную горутину читающую очередь и обрабатывающую котиков.
Опять! Опять гофер решает проблему и придумывает новый планировщик. Или ты нам там отдельный микросервис описал (о решение котором я и так говорил)?
В общем я даже не стараюсь в эту хуйню вникать, так как там не один паттерн не работает (если конечно не написать какой-то аналог ОС-тредам, по переключению функций во время их работы)

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

Ответы971241971406

10 Апр, 22:04 #373 #971241

>>971226
Но мне Антон сказал что можно 100 машин запустить и котики будут быстро бегать. Что с этим решением не так будет?

Ответы971263

19 Кб, 340x255

10 Апр, 22:14 #374 #971263

>>971241
Верно, ведь го это эксперимент по удешевлению рабочий силы. Нарастив число ядер, это решит эту проблему.
Продавцы железа рады, менеджеры тоже, ведь 10 круд-программистов на го дешевле 2-3 спецов (да и пишут они медленней этих десяти)
А если код не расширяем и вообще говно? Не беда, еще наймем 10 и они напишут новый код, причем напишут еще быстрее чем те 10.

Идеального кода больше нет, теперь есть только ручная кодогенирация
Генерируй, генерируй макака!

Ответы971268971271

10 Апр, 22:18 #375 #971268

>>971263
Я правда не знаю как это назвать. Давайте назовём её залупа с сыром. Так вот я хочу запустить сервер с го на сто залуп с сыром на своем сервере у которого 4 цпу по 4 ядра на каждом. Чтобы го шедулил свои грин-треды на залупы с сыром а ос шедулили залупы с сыром на ядра. Что я делаю не так? Спасите котиков!

Ответы971286

10 Апр, 22:21 #376 #971271

>>971263
Ну так все популярные языки простые, чтобы можно было легко найти новых сотрудников, это началось еще с пхп(легкий аналог перла), js, джава, c# (по сравнению с крестами) и теперь go

Ответы971298

10 Апр, 22:33 #377 #971286

>>971268
Суть проблемы? Какой сыр.
Там выше описали пример с одним потоком - на ядро. Чем больше ядер, тем больше размазывается проблема с дробилкой. Можно и в го ОС-потоков прикрутить.

В реале два решения.
1) Если функция тяжелая, дерни просто внешнею функцию в промежутке (например в цикле по условию на 1000 итерации), го-шедулер сработыет и переключит.

2) Выноси дробилку в отдельный сервис.

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

Ответы971297

10 Апр, 22:45 #378 #971297

>>971286
Но нахера мне 1 поток на 1 ядро? Зачем стрелять себе в ногу?

Ответы971304

10 Апр, 22:45 #379 #971298

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

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

Ответы971302

10 Апр, 22:50 #380 #971302

>>971298
Го создан чтобы собрать всех /го/спод на одной барже. Ну ты понял, Анон.

10 Апр, 22:51 #381 #971304

>>971297
Можешь хоть 100500, проблему это не решает, а как уже сказал минимизирует.

Пришел у тебя покупатель за айфоном, а у тебя на 3.453 ОС-потоке дробилка запустилась и у него страница не открылась и он пошел ко мне и купил у меня айфон, так как у меня магазин был написан на котлине/скале.

Ответы971305

10 Апр, 22:52 #382 #971305

>>971304
Но у него откроется страница, если у ОС будут ядра свободные.

Ответы971313

10 Апр, 22:57 #383 #971313

>>971305
Если он уже попал в тот ОС-поток, ядра уже не помогут, пока го не переключит.
Это конечно лотерея, но она есть

Ответы971318

10 Апр, 22:59 #384 #971318

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

Ответы971379

10 Апр, 23:13 #385 #971338

Я просто с позиции ASP.net смотрю, там вроде всю эту async/await идиотию пофиксили и теперь котики не тормозят, всем все платится, у всех все шедулится.

10 Апр, 23:16 #386 #971342

Хлопцы, читайте
https://morsmachine.dk/go-scheduler
и это за 2013 год

Ответы971350971353

10 Апр, 23:20 #387 #971350

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

10 Апр, 23:23 #388 #971353

>>971342
Мутексы. 2013 год. Они делают парашную архитектуру с тухлыми очередями из-за мутексов.

423 Кб, 2560x1080

10 Апр, 23:36 #389 #971372

Анон, скажи мне, как его выучить ? Я не верю в эти ебаные книжки, верю только в проекты и официальную документацию. В книжкахте что по ЯП, не по базовым штукам по кругу обсасывают одну и ту же воду.

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

Ответы971428

10 Апр, 23:36 #390 #971374

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

10 Апр, 23:38 #391 #971379

>>971318
>Как он может попасть в тот поток, там же котики

ОС-ПОТОК НОМЕР 3.453
показ котиков <- исполнение тут
показ котиков
показ котиков
дробилка с котиками
показ котиков
показ котиков <- новый юзер попадает сюда

Ответы971388971389

10 Апр, 23:45 #392 #971388

>>971379
Не, чувак, там все чуть более чем не так работает. Говорю же, прочитал я этот кал. Расчет идет на то, что треды очень часто юзают шедулер. Поэтому есть локальные очереди. Они минимизируют оверхэд на синхронизацию, потому что мы хотим очень часто в них залезать. Соответственно иногда вместе с котиками в такой системе могут залипнуть несколько тасков, это неизбежно. Что нужно - нужно 2 шедулера. Один как в го и локальными очередями, с рассчетом что в него часто срут тасками. Второй - с одной глобальной очередью, в которую пихаются долгие таски. Так как таски долгие - то пихаются они нечасто и мы готовы терпеть оверхэд на синхронизацию при пихании. Хоть бы один /го/даун объяснил...

Ответы971389971410971426971451

10 Апр, 23:46 #393 #971389

>>971379
Алсо эта проблема >>971388 не зависит от го и является общей для любой асинк параши которая хочет очень часто дрочить свой шедулер

Ответы971420

10 Апр, 23:58 #394 #971406

>>971226
>придумывает новый планировщик
Убогий.

>отдельный микросервис описал (о решение котором я и так говорил)?
Ты просто не читаешь, или читаешь, но не понимаешь?

>нам
Ты реально больной, ну тебя нахуй.

11 Апр, 00:03 #395 #971410

>>971388
Скажу честно: я нихуя не понимаю в этих шедулерах, GC, контекстах и т.д., но вот тут статью что я скинул я нагуглил секунд за 15. А теперь посчитайте, сколько людей и человекочасов потратили на то, чтобы изойти на говно и доказать что гоферы неполноценны? Короче, вместо того, чтобы говном тут поливать, давайте напишем коллективно два проекта, возьмем VPS-ки и запустим там наши сайтики с бенчмарками, и проверим кто во сколько RPS уложится.

Ответы971411

11 Апр, 00:04 #396 #971411

>>971410
скажем ваша scala/kotlin vs go

11 Апр, 00:31 #397 #971420

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

Ответы971422

11 Апр, 00:42 #398 #971422

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

11 Апр, 00:46 #399 #971426

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

Как видно нехуя, для них это "Silver Bullet"

Ответы971427

11 Апр, 00:51 #400 #971427

>>971426
Какой узкий круг задач? Что ты несёшь. Го это обёртка над epoll и aio_read. Такая же как шарп или питон. Все можно сделать на любом из этих языков и на любом из них тебе нужно 2 шедулера, один для асинков, один для котиков. Просто потому что шедулер для асинков гарантирует тебе чуть менее чем нихуя. Он оптимизирован под другое. А твой самописный шедулер для котиков он же микросервис будет гарантировать тебе нормальную балансировку и при правильном написании парочку свободных ядер.

Ответы971431

11 Апр, 00:55 #401 #971428

>>971372
>чую через через пару лет придется укатываться, а у сабжа как раз расцвет
Расцвет языка который появился 8 лет назад.
Он у нас каждый го цветет, как вода в озере

Ответы971429

11 Апр, 00:58 #402 #971429

>>971428
ну пару лет назад про него не вещал каждый утюгхабр
и вакансий стока не было

Ответы971433971434

11 Апр, 01:04 #403 #971431

>>971427
Ты обосрался чтоли? Только привели пример с котиками, что го срет даже в обычное веб-приложениии. И тут же начинается высер что го общего назначения.

Какой второй блять шедулер, когда ты уже в одном потоке сидишь и уже в го-очереди (стартовый поток тоже горутина).
Да хоть 200 блядь шедулеров, ты уже помещен в жопу (в горутину), кого ты переключать собрался??
Единственно что тебе дали это runtime.Gosched(), чтобы ты реально не въебал поток на дробилке.

Ответы971437971455

11 Апр, 01:06 #404 #971433

>>971429
Сколько вакансий
58 против 2000 js или 1500 java или 1300 питона в Москве?
Обжували, это даже не 1% от общей суммы. И скорее всего придется работать на перделки от предыдущего раба, так как у го еще сырое время для библиотек

Ответы971450

11 Апр, 01:07 #405 #971434

>>971429
>ну пару лет назад про него не вещал каждый утюгхабр
Интересно почему?

11 Апр, 01:14 #406 #971437

>>971431
>Единственно что тебе дали это runtime.Gosched(), чтобы ты реально не въебал поток на дробилке.

Ирония в том, что в совокупности сотня горутин может быть как одна дробилка по весу, то есть кто-то недождется своих потому, что у кого-то мало ядер :)

Яркий пример
https://github.com/networknt/microservices-framework-benchmark
Нефига - го сервер на первом месте, но постойте-ка, что тут у нас Avg Latency 99.98ms. И это на хеллоу-ворды только.

Ответы971438

11 Апр, 01:16 #407 #971438

>>971437
Кто собрался пофапать напомню что FastHttp не полноценный сервер (ну и фреймворки которые им обмазывают, смотрим на свой тухлый Go Http)

Ответы971442

11 Апр, 01:18 #408 #971442

>>971438
А dotnet там нормальный?

Ответы971453

11 Апр, 01:31 #409 #971450

>>971433
>И скорее всего придется работать на перделки от предыдущего раба
чем отличается от других

Ответы971453

62 Кб, 800x600

8 Кб, 217x232

11 Апр, 01:37 #410 #971451

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

В go есть спецфункция runtime.LockOSThread()
Которая закрепляет горнутину на конкретном одном единственном потоке.

А теперь, очень тебя прошу, иди убей себя.

Ответы971461971462

11 Апр, 01:37 #411 #971452

>Есть пыхапе тред
>Есть жабаскрипт тред
>Хуесосят обычный среднеязык со статикой без хуй-знает_с_какой логикой_работающего_сахара

типичные двощидетки которым перезвонят

>мимо пишу на джаве и сях, тоошнит от первого

Ответы971966

11 Апр, 01:39 #412 #971453

>>971450
Ну в питоне или там джаве, или даже в пхп, скорее всего будут общепринятые либы, а на го большой риск самописного чуда (а мы выше видели как гоферы строят архитектуры с двойными шедулерами или дроблением котиков)

>>971442
Написано же ASP.NET core

Ответы971458

11 Апр, 01:40 #413 #971455

>>971431
>когда ты уже в одном потоке сидишь
Сиди в двух.

11 Апр, 01:45 #414 #971458

>>971453
>общепринятые либы
Результат от этого меньшим говном не станет
Я бы с радостью подался в питонисты, да хуй там без опыта питониста найдешь

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

11 Апр, 01:51 #415 #971461

>>971451
>LockOSThread
Тебе с этим придеться столько говна въебать и все равно у тебя не получиться держать дробилку от котиков отдельно.
Нет бы гоферам дать создание ОС-треда, они навернули такую жопу через жопные врапперы, что пиздец:
https://github.com/golang/go/wiki/LockOSThread

Ответы971464971479

11 Апр, 01:53 #416 #971462

>>971451
А что будет с запросами которые уже отшедулены на этот контекст?

Ответы971468971473

36 Кб, 1280x720

11 Апр, 01:54 #417 #971464

>>971461
Хотя может и получится, но это блядь пиздец, ты это видел?

11 Апр, 01:56 #418 #971468

>>971462
Судя по примеру, правильно использовать только от main(). Так как законченная горутина автоматом отцепляется. То есть писать шедулер какой-то, вообще это пиздец там, еще циклического импорта навсосешь

Ответы971471

62 Кб, 600x635

11 Апр, 01:59 #419 #971470

Тред действительно получился отрезвляющий

11 Апр, 02:00 #420 #971471

>>971468
Ну я и говорю. Шедулер го - хуёвый. Как и шедулер любой другой асинк параши в твоём любимом языке. В этом его смысл - это трейдофф такой. Иначе бы гошедулер запихнули бы в ось. А гопетушки будут продолжать кукарекать что у них всё самое лучшее, всем всё платится и гарантии во все поля.

Ответы971480

18 Кб, 300x300

11 Апр, 02:01 #421 #971473

>>971462
>А что будет с запросами которые уже отшедулены на этот контекст?
Надо протестировать.
Скорее всего вернутся в общую очередь. Это ожидаемое поведение.

Я так ПониМаю, горутину с подобной функцией стоит запускать самой первой.
Чтобы избежать возможных проблем.

Ответы971485

11 Апр, 02:09 #422 #971479

>>971461
По твоей ссылке совсем другая проблема в совсем другом контексте.
Ты походу даже собственные посты не читаешь.
Это что-то вроде раздвоения личности.

Ответы971494

63 Кб, 599x599

11 Апр, 02:11 #423 #971480

>>971471
>Ну я и говорю. GC го - хуёвый. Как и GC любой другой рунтайм параши в твоём любимом языке. В этом его смысл - это трейдофф такой. Иначе бы GC запихнули бы в ось. А гопетушки будут продолжать кукарекать что у них всё самое лучшее, всем всё платится и гарантии во все поля.

11 Апр, 02:16 #424 #971485

>>971473
>Это ожидаемое поведение.
Эта фраза и го - несовместимы

Ответы971491

11 Апр, 02:24 #425 #971491

>>971485
Неосилятор, please.
Ты единственный, кто воспринимает Го как волшебную пулю которая ДОЛЖНА.
Больше таких же упоротых идиотов нет.

Ответы971497971502

11 Апр, 02:28 #426 #971494

>>971479
Зануление личности.

11 Апр, 02:30 #427 #971497

>>971491
Остальные думают что пуля из /го/вна.

Ответы971503971505

11 Апр, 02:37 #428 #971502

>>971491
>Неосилятор
>Го
Вот это поворот!

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

>Ты единственный, кто воспринимает Го как волшебную пулю которая ДОЛЖНА.
>Больше таких же упоротых идиотов нет.
Все сообщество, в том числе и ты.
Давай уже признаем, если такое говно выпустил бы какой-нибудь ХуйПойми-компани, мы бы тут и не сидели даже.
Это многое объясняет.

Ответы971509

11 Апр, 02:38 #429 #971503

>>971497
>Остальные думают что пуля из /го/вна.
И правильно думают.
В мире вообще, все, из говна.
Тех, кто считает иначе, ждет жестокое разочарование в жизни.
Я уже молчу про законы Мерфи.

Ответы971506

11 Апр, 02:39 #430 #971505

>>971497
Попавшая на вентилятор, забрызгав всех

214 Кб, 580x931

11 Апр, 02:43 #431 #971506

>>971503
Ну и хорошо, что хоть на дваче за Го не дрочат в две руки. Но перекатывать я вас больше не буду, я теперь kotlin-господин (там кстати тоже подобие корутин завезли, но я еще не обмазывался)

Ответы971514

1013 Кб, Webm

11 Апр, 02:53 #432 #971509

>>971502
>Все сообщество, в том числе и ты.
ТЫСКОЗАЛ?
Я вот точно не считаю.
Если ты считаешь, что тебе виднее, что там считают другие люди, вопреки их заявлениям, то у тебя серьезные, серьезные проблемы с ГОловой.

>Давай уже признаем, если такое говно выпустил бы какой-нибудь ХуйПойми-компани, мы бы тут и не сидели даже.
Не вижу смысла рассматривать подобные идеи с точки зрения признания или непризнания. Лично мне, глубоко плевать, кто там что думает, что признает, а что нет. У тебя же видимо на этом какой-то серьезный пунктик. Ты не инвалид часом?

Так вот, неинтересны признания, интересны факты, здравый смысл, и логика.
Например, есть lua, которая чуть постарше ГО, попроще, и не такая производительная, хотя недавно в нее завезли гринтреды, как и в го.
За lua не стоит никакая крупная корпорация, тем не менее, она популярна и распространена.
Касательно же ГО, я бы не сказал, что гугл его прям вот пиздец как продвигает. Большинство моих друзей занятых в IT о нем слышали только краем уха, а некоторые вообще не знают.

>Давай уже признаем, если такое говно выпустил бы какой-нибудь ХуйПойми-компани, мы бы тут и не сидели даже.
>мы бы тут и не сидели даже.
Ты хочешь сказать, что гугл виновата в том, что ты битард харкачер?
Причина твоего присутствие в готреде - ненависть к гуглу, а не к языку как таковому?
Я тебе уже много раз говорил, скажу еще раз, ты ебанутый, на всю голову.
Это многое объясняет.

Ответы971515971526

260 Кб, 1171x1200

11 Апр, 03:13 #433 #971514

>>971506
Кстати, статистически го на SO растет крайне медленно. Тут конечно можно было сказать - типа он такой простой, что нечего спрашивать, но это не так если сравнить с другими языками (то есть статистика все равно его двигала)
http://data.stackexchange.com/stackoverflow/query/409175/posts-with-tag-by-day#graph

(цифры приблизительные, которые ближе к концу времени)
Го - 35-40 вопросов в день, за два года поднялось на пунктов 10.
Свифт - больше 200
JS - 1200
пхп - 700
жаба - 900
котлин - 10
скала - 70
шарп - 700
раст - 14
питон - 800
D - 4
nim - 2

Так как эти данные мало кому известны, данные непредвзяты и маркетологи еще туда не лезли - графики показывают реальное положение дел как го, так и котлина, так и других языков.
То есть никакого роста Го толком и нет.

Ответы971516971524

11 Апр, 03:14 #434 #971515

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

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

Ответы971523

11 Апр, 03:17 #435 #971516

>>971514
>То есть никакого роста Го толком и нет.
Но оцените какой поддув языка

11 Апр, 03:55 #436 #971523

>>971515
>хотя мы
>мы
Прими уже галоперидону, буйнопомешанный.

11 Апр, 03:57 #437 #971524

>>971514
>го на SO растет
>То есть никакого роста Го толком и нет.
Ты уже определись, шизоид, он растет, или роста нет.

Ответы971528

11 Апр, 04:08 #438 #971526

>>971509
Два раза процитировал и расписал "небомбит" на пол страницы. Ну ебанный врот...
Раз го не серебряная пуля, чего пукан горит так?

>что ты битард
И сам запостил какую-то анимешную хуйню

>Причина твоего присутствие в готреде
Я его создал, параноик ты шизонутый)

Ответы971529

11 Апр, 04:11 #439 #971528

>>971524
Посмотри на питон и ты поймешь что такое растет в рамках SO, а что прирост в рамках Го.

>шизоид
Я рад за перефорс, значит зацепило. Не я первый это говорю, да? У тебя правда проблема какая-то с логикой.

Ответы971530

11 Апр, 04:13 #440 #971529

>>971526
>Раз го не серебряная пуля, чего пукан горит так?
>Это не уминя бомбит, это у тибя бомбит
Ясно.

>Я его создал, параноик ты шизонутый)
А я знаю.
Посему еще раз повторяю.
Ты ебнутый, на всю ГОлову.

11 Апр, 04:15 #441 #971530

>>971528
>Я рад за перефорс, значит зацепило. Не я первый это говорю, да? У тебя правда проблема какая-то с логикой.
WTF это вообще значит?
Перфорс чего? Что не первый говоришь? У меня еще проблемы с логикой, ебанутся.

Ответы971566

25 Кб, 800x533

11 Апр, 08:28 #442 #971552

Ты заходишь в тред, и говоришь что Go на поддуве, но ты даже не понимаешь, что поддувало - это ты!

Ответы971723

11 Апр, 09:22 #443 #971566

>>971530
И правда умственно неполноценный.
Ты пришел сюда, это твой язык.

11 Апр, 09:45 #444 #971571

Я таки не понимаю, если у хейтеров этого языка так горит, то почему они просто не съебут отсюда в свои уютные загоны, а носятся с порваной сракой, доказывая себе, что go плохой?

Ответы971575971602971709971714

11 Апр, 09:51 #445 #971575

>>971571
Потому что соси хуй, быдло

Ответы971714

11 Апр, 11:24 #446 #971602

>>971571
Никто бы на это говно не обращал внимания, просто этот хейтинг есть следствием его дикого пиара, абсолютно неоправданного. От которого блядь уже просто трисет.

Так что да, пошёл нахуй быдло.

Ответы971714

11 Апр, 12:31 #447 #971658

Я не понимат почему в функции нельзя вернуть nil вместо T, можно вернуть nil вместо []T? Поясните, а.

Ответы971772971774

11 Апр, 13:36 #448 #971709

>>971571
Это реакция на агрессивный маркетинг, от того что у шизонутых каждый год Го растет (уже лет 8), потом придется какую-то очередную хайп-перделку поддерживать (-"ну и че, он же простой, выучи за два дня" - как будто выучив синтаксис ты сразу впитаешь все АПИ сделанное, по ощущениям, каким-то неадекватном школьником самоучкой).

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

Ответы971714971719

11 Апр, 13:40 #449 #971714

>>971571
>если у хейтеров этого языка так горит
Хейтер, внезапно, один.
По крайней мере 2\3 всех постов в ГО треде его.

Включая это сементсво:
>>971575
>>971602
>>971709

Ответы971722

11 Апр, 13:49 #450 #971719

>>971709
> все АПИ сделанное, по ощущениям, каким-то неадекватном школьником самоучкой

У ТВОЕГО САЙТИКА С КОТИКАМИ НА КОНТРОЛЛЕРЕ СЛУЧАЕТСЯ ПАНИКА
@
ТЫ ПОРЯДОЧНО ЛОВИШЬ ЕЁ НА УРОВНЕ HTTP, ЛОГИРУЕШЬ, ПОКАЗЫВАЕШЬ ПОЛЬЗОВАТЕЛЮ СТРАНИЦУ С ОШИБКОЙ
@
ТАК КАК БЫЛ ЯВНЫЙ КРЭШ В ПОТОКЕ, ЛОГИРУЕШЬ ЕГО В FATAL УРОВНЕ
@
НЕ ПОНИМАЕШЬ, ПОЧЕМУ СЕРВЕР ПАДАЕТ.
@
ОКАЗЫВАЕТСЯ ШКОЛЬНЫЙ ГЕНИЙ, В ЛОГГЕР, ДОБАВИЛ НА КАКОЙ-ТО ХУЙ OS.EXIT(1)
@
ПОНИМАЕШЬ ЧТО АВТОРЫ ЯЗЫКА НЕ ЗНАЮ ДАЖЕ ТАКИХ БАЗОВЫХ ВЕЩЕЙ КАК SRP
@
БОИШЬСЯ БРАТЬ ПОЛЬЗОВАТЕЛЬСКИЕ БИБЛИОТЕКИ, ТАК КАК НЕ ПРЕДСТАВЛЯЕШЬ КАКУЮ ХУЙНЮ ТВОРЯТ ТАМ ГЛУПЫЕ ГОФЕРЫ

Ответы971769

11 Апр, 13:52 #451 #971722

>>971714
За своей паранойей, ты даже не замечаешь, что треды держатся исключительно на поддуве хейтеров.
Сюда как в цирк заходят, поглядеть, потыкать палкой в гоферов.

Ответы971732971773

11 Апр, 13:53 #452 #971723

>>971552
Кстати говоря, в процессе общения с шизиком-хейтером, пришлось углубится в Го.
До этого я смотрел на Го со скепсисом, но после более подробного ознакомления отношение стало скорее позитивным.
Вроде все есть, и очень даже неблохо.
Хейты же шизика не находят реальных оснований.

Ответы971926

11 Апр, 13:59 #453 #971732

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

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

Но ведь ты тут один. Бедолага.

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

Если тред держится на потдуве хейтеров, то треду лучше утонуть, и не всплывать.

sage 11 Апр, 14:44 #454 #971762

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

Ответы971920

11 Апр, 14:56 #455 #971769

>>971719
>ТАК КАК БЫЛ ЯВНЫЙ КРЭШ В ПОТОКЕ, ЛОГИРУЕШЬ ЕГО В FATAL УРОВНЕ

ПИШИ
@
ДОКИ НЕ ЧИТАЙ
@
УДИВЛЯЙСЯ, ЧТО LOG.FATAL НЕ ПОКАЗЫВАЕТ УРОВЕНЬ ЛОГГИРОВАНИЯ
@
"РЯЯЯЯЯЯЯ, НО ВЕДЬ В ПЫХЕ/ЖАБЕ ЛОГ СТАНДАРТ ДРУГОЙ"
@
ЮЗАЕТ ВНЕШНИЕ ЛИБЫ ДЛЯ ЛОГГИНГА В ВЫШЕУПОМЯНТЫХ ЯЗЫКАХ

Сука, ну что за школьники-максималисты

Ответы972788

11 Апр, 15:02 #456 #971772

>>971658
Кто-нибудь?
>func something() []int { return nil }
>valid
>func something() int { return nil }
>cannot use nil as type int in return argument

Ответы971774971968

0 Кб, 512x512

11 Апр, 15:02 #457 #971773

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

11 Апр, 15:04 #458 #971774

>>971772
>>971658
Гугли что такое nil

sage 11 Апр, 16:32 #459 #971886

О гошланг. Я не в теме, мимо проходил. А что стало с тем ебанутым из вашего загона? Забыл как зовут, он ещё язык свой решил написать.

Ответы971888971918

sage 11 Апр, 16:36 #460 #971888

>>971886
Написал. Сейчас работает в одной известной западной конторе.

Ответы971918

11 Апр, 17:42 #461 #971918

>>971888
>>971886
>>971886
Шизик семен не палится.
Попка пригорела, снова, теперь он топит тред сажей.

sage 11 Апр, 17:47 #462 #971920

>>971762
По-моему тут нет гоферов. По-крайней мере я не видел их уже дней 5.

11 Апр, 17:51 #463 #971926

>>971723
У меня для тебя плохие новости, у тебя проблемы с /го/ловой

11 Апр, 18:51 #464 #971966

>>971452
>>Хуесосят обычный среднеязык со статикой

Обычным он бы был лет 40 назад.

Ответы972165

11 Апр, 18:54 #465 #971968

>>971772
Ты используешь ссылочный тип и возвращаешь nil и оказывается валидно. Потом ты используешь атомарный тип и удивляешься, что невалидно. Ты троллишь или сейчас серьёзно, лол?

11 Апр, 23:51 #466 #972165

>>971966
а сейчас тебе впихивай динамику с тонной ф-ций которые делают одно и то же

12 Апр, 02:51 #467 #972229

https://ru.wikipedia.org/wiki/KISS_(принцип)

12 Апр, 16:45 #468 #972456

Сап, Ананасики! Решил вот серьезно вкатиться в ГО. С чего стоит начать? Какие подводные камни?

Ответы972478

83 Кб, 990x1352

34 Кб, 480x270

12 Апр, 17:30 #469 #972478

>>972456
>Сап, Ананасики! Решил вот серьезно вкатиться в ГО.
>С чего стоит начать?
С настройки рабочего окружения.
Качаешь компилятор, настраиваешь редактор, или сразу goglang устанавливаешь.
Потом читаешь оф документацию, и проходишь tour of go.

>Какие подводные камни?
1. Встречаешь шизика-хейтера, он начинает тебя преследовать.
2. Ты и есть шизик-хейтер.

Ответы972484972873

12 Апр, 17:47 #470 #972484

>>972478
>Шизоид нес несвязную хуйню
>Анон отметил это и поставил ему диагноз.
>Теперь этот шизоид проецирует диагноз на всех, компенсируя свою обиду

го - топовый язык для любого диспансера

Ответы972486

23 Кб, 640x360

12 Апр, 17:54 #471 #972486

>>972484
Тебе не уйти.

12 Апр, 19:31 #472 #972564

Анон, давай составим список, чем можно заменить какие-то вещи (техники, паттерны и тд) из других языков программирования.
К примеру, из очевидного, декораторы легко заменяются принятием и возвращением функции из функции:

func decorator(fn func(s string)) func(s string) {
_return func(s string) {
__log.Println("starting")
__fn(s)
__log.Println("completed")
_}
}

Помогайте, я нуфаг.

Ответы972599

12 Апр, 20:49 #473 #972599

>>972564
Тебя вполне можно заменить табуреткой.
Будет даже лучше.

158 Кб, 200x173

12 Апр, 21:38 #474 #972641

Прелюдия
Если лет 5-7 назад мне дали новый процедурный язык как си, я бы мог еще радоваться, но сейчас я вообще не понимаю как можно писать без норм ООП, когда ты сложнейшие иерархические системы упрощаешь до простого жонглирования объектов.
Это действительно мощно, тебе не надо копошиться во внутренности объекта и понимать как работать с той или иной системой, все что тебе надо публичные методы - это все твои тумблеры...
Что же го? Смешанная портянка логики в одной функции на целую страницу, где одновременно могут ебать низкоуровневые задачи (вплоть до байтов) и тут же оперировать логикой уровня выше (при этом каждая функция выглядит как компостная куча).

Вопросы
Го - это реально какой-то эксперимент? Какие популярные теории?
Что пишут с пруфами на го в гугле и пишут ли?
Почему гугл не вкатил норм язык, опираясь на опыт ООП (какой нибудь свой шарп/котлин/скала/свифт компилируемый) или наоборот не вкатил няшную сишку без ООП (чтобы не было такого бардака - кто-то функцию передает как параметр, кто-то создает интерфейс с одним методом, а лучше ФП няшеств привнесли)?
Реально ли он создавался для покрытия рынка низкоуровневых программистов (чтобы мягкой отделить программистов от операторов ЭВМ)?

Дискусс

Ответы972671

12 Апр, 22:00 #475 #972671

>>972641
1) Го оперирует теми же объектами
2)>Смешанная портянка логики в одной функции на целую страницу, где одновременно могут ебать низкоуровневые задачи (вплоть до байтов) и тут же оперировать логикой уровня выше (при этом каждая функция выглядит как компостная куча).
А пример ты приведешь?

>>972641
>Что пишут с пруфами на го в гугле и пишут ли?
3)>Что пишут с пруфами на го в гугле и пишут ли?
https://github.com/google Вот полистай проекты. Как минимум, Grumpy заслуживает внимания.

4)>Почему гугл не вкатил норм язык, опираясь на опыт ООП (какой нибудь свой шарп/котлин/скала/свифт компилируемый)
А зачем? Кому надо еще один объекто-ориентированный язык, если все равно все пишут на джаве/си шарпе/свифт/си++ ?

5)>не вкатил няшную сишку без ООП
Го - это и есть "няшная" сишка.

Ответы972696

12 Апр, 22:42 #476 #972696

>>972671
>1) Го оперирует теми же объектами
Нету наследование, нет иерархии данных, нету полиморфизма (его нужно реализовывать отдельно и только через интерфейсы, которые тоже не полиморфны).

>>972671
>А пример ты приведешь?
Очень много на гихабе, конкретно не скажу. В простых либах конечно не видно, на то они и простые, но гоферы нередко пишут портянки (никакого разделения ответственности, как скриптами пишут. Так то ничего страшного, но если проект будет расти, код будет не сопровождаем)
То есть буквально пишут процедурно "как есть", в ооп стараются как-то уже даже в начале структурировать по классам.
Мне этот код напомнил как раньше в пхп писали. Правда нехватает глобальных переменных.

>Вот полистай проекты
Я имел ввиду какие-то крупные продукты, то что пишут на Го для Го это понятно и так. Ну или вакансии на Го у них есть (я чет не нагуглил сходу)

>А зачем? Кому надо еще один объекто-ориентированный язык, если все равно все пишут на джаве/си шарпе/свифт/си++ ?
Джава - после того как пробовал "сладкое", не охота в хоум-проектах ее юзать, до работы писал на джаве, а сейчас хватает ее на работе и так. Джава - это джава.
Котлин - это, вероятно, жесткая привязка к IDE
Scala - хз
Шарп - поздно открылся, да и я бы на линуксы не взял
Свифт - движуха там есть, но понятно флагман какой он среды (как и шарп)
С++ - серьезно?

Я бы с руками оторвал какой-нибудь го-котлин от гугла. Все равно есть какая-то нехватка "современной джавы" (но не от дизайнеров Го-языка, пускай бы джависты там мутили)

>Го - это и есть "няшная" сишка.
Было бы так если по перформансу с сишкой стояла, были бы чистые (без методов) структуры. А так это смесь ежа с ужом (уже видно кто-то пишет код процедурно, кто-то как в джаве - та же компостная куча как С++ встречается, да еще в монолитных пакетах)

Ответы972699972705

12 Апр, 23:00 #477 #972698

https://github.com/google/grumpy/blob/master/runtime/core.go#L565
Интересно BaseException это обертка для питона или они добавили себе исключений :)

Ответы972705

12 Апр, 23:01 #478 #972699

>>972696
>"сладкое"

Это что такое?

>Котлин - это, вероятно, жесткая привязка

Гугли котлин нэйтив

Ответы972701972709

12 Апр, 23:02 #479 #972701

>>972699
https://blog.jetbrains.com/kotlin/2017/04/kotlinnative-tech-preview-kotlin-without-a-vm/

вот короче

12 Апр, 23:12 #480 #972705

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

>>972698
// BaseExceptionType corresponds to the Python type 'BaseException'.

Ответы972716

12 Апр, 23:22 #481 #972709

>>972699
>>"сладкое"
>Это что такое?
Отсылка на синтаксический сахар современных языков

>>972699
>Гугли котлин нэйтив
Услышал (по-моему) по радио-т, в какой-то степени солидарен с главным ведущим, что слишком сыро и потянут ли они написания всех батареек (библиотек-окружения) с нуля.
Ну если можешь что-то вкинуть против в этом - вкидывай, я не копал.

Ответы972712

12 Апр, 23:23 #482 #972711

двачаны, что значит такая конструкция
(*Some).Do()
Вот оборачивать в скобки переменную для чего? Че-то учу по тихоньку, и забыл для чего это делается. А найти в книге не могу заново.

Ответы972714

12 Апр, 23:23 #483 #972712

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

12 Апр, 23:36 #484 #972714

>>972711
Чтобы компилятор понял, к чему относится оператор "звездочка" или к указателю( в твоем случае) или к результату вызова функции Do

12 Апр, 23:39 #485 #972716

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

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

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

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

13 Апр, 00:00 #486 #972724

Почему говорят что в Go нету ООП?
Допустим, тут есть интерфейсы, есть структуры, есть методы и поля структур (экспортируемые и не экспортируемые), есть наследование (через анонимные поля структур). Чего ещё не хватает? В методы можно передавать любой тип, который есть: базовые типы, ссылочные типы, кастомные типы (type Celsius float64) и т.д.
Тут даже есть неявная имплементация: например если ты подключаешь какой-то пакет, и тебе нужно, чтобы структуры этого пакета удовлетворяли какой-то интерфейс, можно запилить интерфейс под структуру, и не редактируя пакет, структура уже удовлетворяет интерфейсу. В других языках нужно явно указывать что чему удовлетворяет. Помоему это логично. Ещё понравился синтаксис, чистый и прозрачный. Очень легко читается код после всяких PHP или боже упаси JS. Все пакеты в одном едином стиле, быстро учишься. Вокруг if нету скобок, switch без предусловия, вколотил switch{ case case case case case case}. Ещё понравилась работа с ошибками. Чтобы там не говорили, а ловить эксепшены ещё хуже, чем явно обрабатывать каждую ошибку, да это скурпулезно, но зато стабильность выше.

Ответы972766972778972790

13 Апр, 01:46 #487 #972766

>>972724
>Чего ещё не хватает?
Мозгов тебе не хватает.
>понравилась работа с ошибками.
Вернее вообще нет мозгов.

А потом говорят что это шутки такие - про говнодебилов.
А это не шутки.

Ответы972776972821

13 Апр, 02:25 #488 #972776

>>972766
Хаврониос! ругатель закоснелый,
Во тьме, в пыли, в презренье поседелый,
Уймись, дружок! к чему журнальный шум
И пасквилей томительная тупость?
Затейник зол, с улыбкой скажет глупость.
Невежда глуп, зевая, скажет ум.

13 Апр, 02:26 #489 #972778

>>972724
Почему говорят что говно это не шоколад?
Допустим, оно коричневое, его можно есть, можно завернуть в фольгу. Чего ещё не хватает? В рот можно передавать любой тип, который есть: жидкий кал, твёрдый, с глистами и т.д.
Тут даже есть неявная имплементация: например если ты подбираешь какой-то чёрный пакет, и тебе нужно, чтобы говна этого пакета были в форме твоего ануса, можно запилить интерфейс под анус, и не редактируя пакет, структура уже удовлетворяет интерфейсу.

Ответы972821

32 Кб, 175x150

13 Апр, 03:45 #490 #972788

>>971769
Отправил почту, отформатировался еще и винт...
Какого хера логер, чья задача логировать, занимается еще тем чем должно заниматься как минимум ядро приложения? Нахуя он имитирует какую-то панику?

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

51 Кб, 476x476

13 Апр, 03:54 #491 #972790

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

Как ты обрабатываешь ошибку? В панику или ритёрн?
Как вообще понять что там может возвращаться? Если ленивая жопа не задокументировала это? Или забыла поправить когда меняли? Как узнать все ошибки, просто логировать (выводить в консоль) и каждый раз удивляться чему-то новому?

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

Хотя ничего ты писать не будешь, уровень го - это хуяк-хуяк скрипт.

Ответы972791972821

13 Апр, 03:59 #492 #972791

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

Когда уже дауны поймут что вам вообще никакую обработку незапилили. Хуй с ним - пусть исключения зло, но у вас вообще нет ничего.

Ответы972793972821

13 Апр, 04:08 #493 #972793

>>972791
Исключения - это IoC. Но дауны не могут в IoC потому что слишком сложно. Лучше проверять значения прям в коде.

А, да, еще исключения тормозят. В моём сайтике который 15 запросов к БД делает. Пиздец как тормозят просто.

Ответы972821

13 Апр, 09:10 #494 #972821

>>972778
>>972766
Кто о чем, а джависты о говне.
>>972790
>Как вообще понять что там может возвращаться? Если ленивая жопа не задокументировала это?
Это проблемы плохого кода, а не языка
>>972790
>Как узнать все ошибки, просто логировать (выводить в консоль) и каждый раз удивляться чему-то новому?
А как ты это сделаешь в большой системе на джаве? Будешь искать список возможных ошибок, которые могут возникнуть в функции? Или тупо словишь все эксепшны, без определения типа?

>>972790
>свой фрейворк обработки ошибок, а другой Васян свой...
А зачем оно надо? Ошибка - это ошибка, значит что-то пошло не так. Выведи её в лог и заверши программу. В джаве по-другому?
>>972791
>Баранам дали возможность писать логику программы в одном месте, а обработку исключительных ситуаций в другом, чтобы тупо не мешать все это говно в куче
А в try-catch по-другому? Ловишь себе ошибки в логике. А функция уровнем повыше тоже ловит ошибки. А еще одна повыше тот же try-catch использует.

>>972791
>Когда уже дауны поймут что вам вообще никакую обработку незапилили. Хуй с ним - пусть исключения зло, но у вас вообще нет ничего.
Правильно, обработки ошибок нет. Потому что в 95 % случаев обработка ошибок - это написать в лог, остановить программу или написать в лог, но продолжить работу.

>>972793
>А, да, еще исключения тормозят. В моём сайтике который 15 запросов к БД делает. Пиздец как тормозят просто.
На 15 запросов не тормозят, а на 15 тысяч запросов?

Ответы972826972920973018

13 Апр, 09:15 #495 #972824

За год появилось порядка десятка новых веб фреймворков, но так и нет даже подобия питоновского NLTK. Что еще раз доказывает истину, которую я озвучивал ранее, Go - замена пхп. У меня всё.

Ответы972826972846

13 Апр, 09:51 #496 #972826

>>972824
>Go - замена пхп.
Хуевая какая-то замена, деградация прямо.
Да и пхпдебилы те еще дебилы, конечно - но все же не настолько омерзительны как, например, вот это животное >>972821

Ответы972874

13 Апр, 10:47 #497 #972846

>>972824
Все эти фрэймвёрки говно полное, многие просто обёртка над стандартной библиотекой. Появится что-то уровня yii2 или laravel тогда и приходите. На go пока очень больно писать стандартные веб странички, вот всякие маленькие api сервисы другое дело.

Ответы972921

13 Апр, 12:50 #498 #972873

>>972478
>goglang
Gogland

13 Апр, 12:58 #499 #972874

>>972826
Руки кривые у вас, вот и беситесь. Боитесь что рыночек порешает пхпдаунов с питономакаками.

Ответы972875972925

13 Апр, 13:03 #500 #972875

>>972874
На go же писать ещё проще чем на php, просто можно застрелится при написании проекта с большой бизнес-логикой.

13 Апр, 14:18 #501 #972920

>>972821
>В джаве по-другому?
Да

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

13 Апр, 14:24 #502 #972921

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

Ответы972924

13 Апр, 14:28 #503 #972924

>>972921
> На go пока очень больно писать стандартные веб странички
Так а я о чём. Вот чатик сделать или парсер многопоточный, тут го достаточно неплох, или демоны какие несложные.

Ответы972938

13 Апр, 14:29 #504 #972925

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

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

13 Апр, 14:39 #505 #972928

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

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

Ответы972934973011

13 Апр, 14:48 #506 #972934

>>972928
С учётом перекатывания питонистов на го, им ничего не будет мешать вкатится обратно если пистон ещё нужен будет.

Ответы972942

13 Апр, 14:52 #507 #972938

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

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

Ответы972941

13 Апр, 15:01 #508 #972941

>>972938
> го не пригоден для дробилок
Вполне себе
>горутины не дадут никакого преимущество
16 поточный проц в домашнем пк уже реалии сегодняшнего дня. Писать однопоточную лабуду в 2017 уже должно быть моветоном.
> сях написать микросервис в 1000 строк не больно.
В говне сотни библиотек для работы со всем, даже Аллахом из каробки. 1000 строк на с = 100 строк на го.

Ответы972944

13 Апр, 15:01 #509 #972942

>>972934
Ни вижу чтобы кто-то перекатывается на го, скорее го тянут как тест проекты, как в свое время игрались с node.js (и руби)

13 Апр, 15:10 #510 #972944

>>972941
>Вполне себе
Быстро вы переобуваетесь, там тебе выше уже котят дробили, твои собраться по разуму.

>16 поточный проц в домашнем пк уже реалии сегодняшнего дня.
Лол, для такой хуйни хватает 16-32 обычных потоков, горутины это для кластеров с хуем тысяч процов. Го делался не для вас, боевые-суслики.

>1000 строк на с = 100 строк на го.
Сам придумал?

Ответы972948

13 Апр, 15:17 #511 #972948

>>972944
>16-32 обычных потоков
Речь про параллельный парсинг (про полезную работу) а так до 10К вроде (если не пофиксили это в линуксе еще)

13 Апр, 16:41 #512 #973011

>>972928
>Го-программистам
что-то из разряда html-программист?
Писал раньше на пайтоне, потом на другую работу перекатился писать под ios, причем меня сами нашли. Самым сложным было с gc на Objective C рабобраться.
Сейчас тут же пишу на go бэкенд. Думаю, без проблем за недельку разберусь с любым другим стеком/технологией, на java стек наверно больше немного времени уйдет. Хз, в чем проблемы у хейтеров.
Хотя недавно что-то загорелся и хочется съебаться в Италию, видел там пару вакансий на smalltalk.

13 Апр, 16:55 #513 #973016

>>973015 (OP)
>>973015 (OP)
>>973015 (OP)
Перекатил

84 Кб, 546x606

13 Апр, 16:59 #514 #973018

>>972821
Оче тебя прошу, некорми шизика.
Он буйнопомешанный нахуй.

Тред утонул или удален.
Это копия, сохраненная 24 мая 2017 года.

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

Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.

« /pr/В начало тредаВеб-версияНастройки/a//b//mu//s//vg/Все доски

Пользуетесь скринридером — пишите, что можно улучшить.
Host-Food.ru — надёжный хостинг от 12 руб/мес | Free DNS
Зеркала М.Двача: m2ch.hk, m2ch.lib, m2chfapiswfw2wcakptqp4o6ltgchvjuxfab7urxlduraomtlnhw5xad.onion