24 декабря Архивач восстановлен после серьёзной аварии. К сожалению, значительная часть сохранённых изображений и видео была потеряна. Подробности случившегося. Мы призываем всех неравнодушных помочь нам с восстановлением утраченного контента!
Я хотел было перенести шапку, но выбрал go-way стиль и ничего не написал, в общем ненужно (могу на эту тему статью написать и обосновать почему не нужно, так что хейтеры лесом идут, а фанбои продолжают любить).
Что это за язык? Компилируемый многопоточный язык программирования, разработанный компанией Google
Какие у него сильные стороны? Быстрая компиляция, простота, богатая стандартная библиотека, псевдоуниверсальность, кросскомпиляция.
Какие у него слабые стороны? Еще развивается (хотя внушительными темпами, смотрите ниже раздел "Перспективы"). Малое количество вакансий, отсутствие такого количества готовых решений, который имеют языки с более долгой историей. В основном сейчас знания языка приветствуется (особенно для коллег с питона).
На какие языки он похож? C, PHP, JS
Какая у него основная сфера применения? Бюджетный веб (так как не жрет ресурсы как скрипты или джава), девопс-утилитки и прочие мидлевел сетевые утилитки.
>>901333 Вкратце: Потому что это гибкий и современный инструмент. В го тебе предлагают писать всё руками (как в 80-х, причём ещё и с конкретными архитектурными обосрамсами вроде и портов напрямую с мастербранча гитхаба или текстовой кодогенерации) и считают что им лучше видно что же тебе нужно.
А то, что в официальной ирке и гуглгруппе банят за упоминание генеририков как бы намекает.
>>901460 По этому индексу ассемблер с визуалбейсиком растут быстрее, чем свифт, го до сих пор даже близко не подошёл к перлу, да что там, к дэльфи. Шарп с вб просто на несколько позиций выше жс-а, а фортран с коболом с утра на скалу и эрланг. Все что нужно знать об этом высере.
>>901559 это да, точный запрос, чтобы учесть только го язык не создашь >>901538 лол, а ведь 6 июля вышли покемоны го, может это они на статистику повлияли.
>>901549 но в реале там нет тематических слов (поиск не подставляет контекст программирования) я сначала подумал "скачать go" (300к запросов) - но судя по контексту речь про какое-то приложение на андройде и прочие приложения (покемоны, контра...)
>>902253 ну я это к тому что епианцев был бы простым гофером то не реагировал бы так резко, а так больше похоже что манагер принёс гоуна(хз мб мои проекции, лол)
Нужно для диплома написать веб приложуху. С вебом не сталкивался никогда кроме лаб в универчике. Хочу сделать эту задачу на Golang, предварительно изучив его. Стоит свеч?
мимо C++ джун с двухлетним опытом %%ну не школьник, серьезно. Я не виноват, что ебанутое руководство не разрешает нихуя кроме веба проталкивать на дипломные, я бы не страдал хуйней
>>902905 >Стоит свеч? Смотря нахуя оно тебе надо. Судя по тому что ты написал — бери спокойно скриптопарашу и делай хуякхуяк за день. >Я не виноват, что ебанутое руководство не разрешает нихуя кроме веба проталкивать на дипломные Что значит не разрешает? Берёшь и пишешь на любую интересную тему, в рот ебя руководство. Они кто вообще чтобы запрещать темы на дипломные работы, ьлять?
Вообще, мне кажется сусликам бы понравилось при коммунизме. Вождь говорит что делать, ты безропотно выполняешь работу без вопросов и шедулер тебе раскидывает пайок по горутинам. Причем горутины работают по принципу очереди - признанного инструмента политических репрессий.
>>903149 Тут в реале все просто: Берем ужасный по дизайну язык, с отсутствием элементарных вещей, которые уже как лет 20 упрощают людям жизнь с бойлерплейтом. Берем агрессивный маркетинг ("либо согласен, либо иди нахуй") приправленный авторитетами. И получаем маргинальное комьюнити.
Почему так выходит? Все просто, посев происходит так: Нормальный программист сразу видя что есть - обходит стороной это чудо. Другая группа, кто повелся (но все еще программистов) - пытается проникнуться в "это" и либо отваливается, понимая что его откровенно наебали, либо примеряется с проблемами и переходит в касту терпил вида "ну да, есть проблемы, но писать можно" (спрашивается зачем есть кактус), или же пытается выйти на комьюнити, натыкаясь на догматическое непробиваемое мышление уходит и тоже.
И кто же остается в таком случае? Правильно, самые ебануты и маргинальные, которые кооперируются и множат свой успех.
В узких кругах, уже устоялось нарицательное имя "гофер - значит долбаеб", хотя я тут не согласен, как говорил есть пизданутые сектанты, а есть еще более менее люди с критическим мышлением, которые зачем-то едят этот кактус (из серии, что есть проблемы, но писать можно)
>>903388 ты о каком сорте коммунизма говоришь? времён НЭПа или сталинский военный коммунизм? или вообще про шугейз квартет хипстеров кварла/маркса/фридриха/энгельза?
>>903391 При чём тут любой вождизм поехавшее животное? >>903390 Я говорю про один, черты которого были во всех (или мб не во всех, я про остальных хипстокоммунистов нихуя не знаю) — это как когда ты говоришь ООП, что ты имеешь в виду? Что имел в виду Кей? Страуструп (или откуда слизал там из симул/алголов)? Что сейчас делают в языках типа раста с говном?
>>903393 хуль ты такой агрессивный, в организме переизбыток гоувна?
ООП - это прежде всего принципы которые следует соблюдать при композиции/декомпозиции, а не то что завезли классы в язык или нет. то что их не знают или не понимают 95% макак - это уже другой разговор
>>903331 Верно подмечено. Лично мне кажется что это в google такая политика, все эти их ангуляры с дартами и говнами, выглядят как тест на интеллект с рикролом вместо ответов. Ты видишь XY - AB - BY - ?? А правильный ответ оказывается потом ХYЙ. У людей с критическим мышлением это вызывает когнитивный диссонанс и они выкатываются, остаются только гаплоидные трутни.
Ай лолод. Чего вам этот го так поперёк горла стоит, в который раз захожу почитать - на 90% тред состоит из бурных недовольств людей которые даже не пишут на нем.
>>903331 > Берем ужасный по дизайну язык, с отсутствием элементарных вещей, которые уже как лет 20 упрощают людям жизнь с бойлерплейтом. > Берем агрессивный маркетинг ("либо согласен, либо иди нахуй") приправленный авторитетами. > И получаем маргинальное комьюнити. И называем джавой.
>>903470 Да я не сомневаюсь, что то пишут, тоже самое я читал во всех других соц местах и бложиках. Просто это как если бы я приходил в каждый, например, пхп тред и хуесосил их скриптопарашу без устали. Поэтому создаётся впечатление, что го лично каждому жизнь подпортил итт, как будто бы вас заставляют на галере смузи хлебать и на го писать.
>>903472 На оба твоих вопроса один ответ: да. >>903471 Дык она-то вышла еще до первого стандарта плюсов, на момент выхода не плохо (хотя весьма многословно по сравнению со всякими APL), а сейчас имеет десятки языков совместимых с собой. >>903399 Вот именно, что как коммунизм это всего лишь абстрактная идея. Но из-за того, что один грузин перестрелял половину СНГ он не перестает быть коммунистическим деятелем, как и Пайк может говорить сколько угодно что его творение более чем ОО несмотря на то, что композицию тут составить средств как в си.
Легкие потоки, каналы, как средство синхронизации.
>Какие у него слабые стороны?
Нет шаблонов, нет средств ФП, планировщик не вытесняющий, embedding и возможность неявно "перегрузить" методы, которая все запутывает, навязывание стиля написания кода.
Это который не может прервать выполнение задачи, пока она не закончится или сама не отдаст управление - в го для этих целей используется ожидание ответа от канала и что-то еще. На деле получается, что один ресурсоемкий процесс целиком заблокирует очередь задач одного планировщика.
>>903507 наверное тот анон имел ввиду что там из коробки не как в экланге, где овер 9000 числодробилок будут работать одновременно, но медленно, а в гоу только по одной горутине на ядро процессора. правда есть костыль, когда изнутри горутины её можно остановит и вернуть управление планировщику, а потом она продолжит выполняться с того же места
>>903495 > навязывание стиля написания кода Это скорее положительный момент, когда каждый затупок форматит как хочет, получается месс как кресты.
К минусам го же можно добавить ебанутую систему обработки ошибок: взяли сишную систему прямиком из 70х и прикрутили к ней автоматический возврат errno, оставив проверку 1) необязательной 2) повсеместной, так что весь код либо забит if err != null {}, либо игнорит ошибки.
>>903510 Насколько я понимаю горутина это просто функция, разве можно запущенную функцию прервать вне самой функции? >>903511 >9000 числодробилок будут работать одновременно Как они будут работать одновременно? Процессор же выполняет одну задачу в одну единицу времени, с горутинами так же получается, не?
>>903529 > Насколько я понимаю горутина это просто функция, разве можно запущенную функцию прервать вне самой функции? в смысле? в гоу или вообще? горутина больше похожа на генератор, чем на простую функцию, т.к. при локах останавливается
>>903529 > разве можно запущенную функцию прервать вне самой функции? Процесс в ОС это тоже просто функция, что не мешает ядру его прерывать регулярно. Но в го шедуллер не вытесняющий, значит прервать горутину можно только в заранее предусмотренных точках, в основном на асинхронных вызовах.
Я ведь правильно понимаю, что ушедшая в бесконечный цикл горутина никогда не отдаст ядро остальным?
>>903477 У людей бомбит писать тону бойлерплейта, потому что сусликам откровенно скормили говно и запретили критиковать и обсуждать язык.
Так как в ИТ мире программиста развести проще чем блондинку на айфон, то у людей появляется естественная защитная реакция на хайп. Это равносильно как взять кусор реального говна и пытаться его на рынке продать как чудо-мазь (ту же реакцию увидишь).
просто добавь пуковку f в конце, или S в начале (а лучше сразу и ту и ту букву, чтобы читаемость улучшилась), просто ставь буковки на каждый тип, почувствуй себя программистом семидесятых.
>>903564 Самое противное в том, что ошибки случаются не только в бизнес логике (в которой ты может и обработал все), а на любом уровне вложенности из-за того что автор какой-то библиотеки забыл/провафлил такое.
С эксепшенами суть в том, что хочешь или нет так или иначе поймаешь и обработаешь.
Гоферы, поганые Гоферы, что вы можете, гоферы. Гоферы. Гоферы. Гоферы. Гоферы. Гоферы. Стоять в очереди за за право поработать в горутине, едва желтой, с запахом мочи и пота, и работать на своем ядре жадно, захлебываясь от счастья, закатывая глаза в серое небо с логотипом ебнутого суслика, сложенного из облаков, проливать говно себе на рубашку, морщась от вони и стыда, прятать протертый некрасивый сапог и бежать, бежать в очередь посрать в канал, давиться с жирными монструозными потоками ос, у которых от кучи до стека течет память, такая огромная, дряблая, словно чудовищный целюлит, с портретом Пайка, складывающимся из складок мерзкой бесхозной памяти, покрытой редкими болезненными лагами из-за гц. А потом срать возле шедулера в главном потоке, срать, унижаясь, подскакивая от каждого шума возле входной двери, срать себе на сапог, тужиться, плакать и кусать губы, потому что нужную горутину потерял, смотреть на стену с потеками мочи в виде портрета Пайка, тихо рыдать от безысходности, кричать, бросаться своим говном в стены, в проклятый портрет ухмыляющегося Пайка, давить говно пальцами, смеяться, петь, размазывать говно по лицу и хихикать. Выйти под тусклые гугловские звезды, ходить по улицам, спотыкаясь, уворачиваясь от одинаковых жутких евангелистов говна, забрести на грязные задворки официальной ирки среди непрерывного жужжания фанатиков, запаха гнили, кала и смерти от банхаммера. Пинать и ломать тупорылый Coc, валяться с кучей пиздолизов Вождя и разбрасывать вонючие тухлые указатели. Выцарапывать себе на груди ржавыми гвоздями портрет Пайка, совать свой коричневый член в тухлый, чавкающий сборщик мусора, кончить в него три раза за 2 мс паузы, а потом жрать эту память, отрыгивать, рыдать, кричать и хрипеть, пока лицо не сделается багровым под маской засохшего говна. Взять кривой гугловский лом и серым советским утром проткнуть ломом такого же, как и вы, гофера, спящего под забором. Бить его ломом по голове, груди, вытаскивать его внутренности в виде логотипов хрома, размазывая их по серо-коричневой гугловской земле, рисуя толстым кишечником, оторванными рукам и ногами портрет Пайка. Упасть носом вниз и вдыхать серую гцгловскую пыль из под гц.
>>903602 Откуда мне знать что для тебя-то интересно?
Можешь там нейросеть на пхп написать, интернет магазин на асме, сравнить гау с рустом (илюша пару курсачей такого вида уже написал за тебя, лол), исследовать работу гошного гц с красивыми графиками (и про стек не забыть), написать какой нибудь йоба-анализатор го-внокода с какой нибудь супер необычной грамматикой (придумав какие нибудь плюсы и что он делает), запилить гау на ллвм или жвм (или вообще свой язык) или сделать свою йобу с генериками компилирующуюся в го, еще есть варианты научить какую нибудь йобу вроде докера заставить работать на какой нибудь ардуине (автобус_из_хлеба.жпг) или написать как гау помогает распаралеливать какие нибудь криптоалгоритмы (на самом деле вообще нет, но высосать из пальца можно), или про какой нибудь хайповый IoT (близко к буханкежпг, но ирл вполне практично).
Так что, выковырять из жопы подобную тему так сложно?
>>903610 >(илюша пару курсачей такого вида уже написал за тебя, лол) Бля, я только что перечитал свое сообщение и вспомнил что у него скоро начинается второй семестр, так что >>903602 съеби, илюша.
>>903876 Макбуки - к сожалению единственные качественные ноутбуки на рынке которые не будут на ровном месте гудеть, грется, у которых ничего не люфтит и батарейка живет больщше получаса не превращая его в тыкву - гау же это хуитка уровня асера, который вроде и дешевый, и даже быстрее по характеристикам - но люфтит как тварь, имеет говно вместо корпуса, экрана и тачпада, издает треск при нагрузке и просто всегда держит кулера на 100% попутно убивая батарею (которая у асеров, к слов, любит отваливаться на 3-й день использования, лол).
>>903895 Ну опять же - айфон любят за то что это качественное и законченное изделие. О го этого Сказать вот вообще нельзя - это такой юниксвей кусок говна, в котором ты все обязан делать сам. Сам знаешь с чем сравнивать.
>>903876 >>903918 Если отойти и посмотреть со стороны, то создаётся впечатление что каждый винтик в Apple закручен с расчётом поиметь бабки на конечном потребителе. C другой стороны Google дорос до уровня улья и ему нужна каста взаимозаменяемых гаплоидных трутней. Аксиома Эскобара же.
>>903922 Но да, макбук про - винрарный лептоп и жаба кровью обливается когда компилишь на нём генту, ибо другого такого нет. ([хотя вроде asus с их zenbook попытались, но я хз)
>>903922 >то создаётся впечатление что каждый винтик в Apple закручен с расчётом поиметь бабки Хуя ты секрет раскрыл. А вообще - этим занимаются все производители аналогичных ноутбуков, так что аксиому придется расширить с 2-х до n и назвать аксиомой Эскобара-Гауна .
>>903929 Не совсем так. У яблакаф оверпрайс вызывает стокгольмский синдром у потребителя, а те на фоне этого гребут лопатой бабло по поводу и без. Google не сильно на такое заморачивается и вообще по другому работает.
>>903941 >мучился с компиляцией генты на мобильном низковольтажном проце >скейлинг на экране не работает >сидишь в соснольке 640x320 на 2560 x 1600 мониторе >драйверов настолько много, что не работают ни тачпад, ни тачбар, ни хуита для отпечатка, ни регулировка яркости экрана/клавиатуры, что говорить о жестах >каштомная макбуковская клавиатура НИППОДЕРЖИАЕИТСЯ
>>906489 Гаферы на каждом шагу прогандонируют что у них самый ко-ко-ко быстрый говнокод — а потом раз — и он отсасывает у интерпритируемой параши, лел.
Максимка тут тоже удостоил вниманием: "С Go чуда не будет -- язык откровенно делался плохим (как и С++), поэтому его любят гидроцефалы с лоботомией пишущих лапшу вида if err != nil. Если видете чувака, который рекламиурет Go -- знайте, ебанат, инфа 100%. До существования Go эти люди называли себя системными администраторами (POSIX, KISS, UNIX, Керниган и Ритчи головного мозга), теперь гугл их пересадила из беша в гошечку."
>>904759 >>906613 По этим тестам всегда можно понять, за какой язык топит автор тестов. Потому что у него результаты всегда такие: 1)си (ну он всегда первый) 2) язык нэйм, на который дрочит автор 3) все остальные
>>907155 там оригинал не лучше, парни откровенно стебутся над сусликами А вообще какое название или лейбл или маскот такой и язык
раст - заржавел или заплесневел еще до момента релиза.
го - маскот дебил, как теперь де-факто его активные пользователи.
пхп - слон - такой же неуклюжий и громоздкий (когда на него джаву насильно натягивают).
пайтон - язык в честь комика, но потом шустро переделанный под змею - и язык такой же наебон, пущенная пыль в глаза с некрасивым замалчиванием реальных проблем.
линукс - пингвин - птица которая не может летать, если для серверной части еще более менее приемлема из-за простоты (проще - меньше глючности), то в качестве десктопа такое же унылое говно как полет пингвина (летает только если пнуть).
руби - рубин, драгоценности - такое же пустозвонное понто-наебательство как украшения.
джава - кофе - великогосподский напиток, пере-напышенных долбаебов, которые решают простые задачи через тонну пафоса. Вроде бы они еще задирают голову, но в то же время понимаю, что кофе, как напиток, уже доступен всем.
>>907458 свифт - взлетел шустро вверх, но обжегся об светило (реальность) и тут же стремительно летит ко дну, ибо никому ненужное тоталитарное говно (как и го, но суслики еще не поняли). Так как это все же тоталитарное говно, его конечно натянут в нужном месте, поэтому язык будет вроде и существовать, но лететь вечно вниз, как сказал анон - вечно-стремящийся-ко-дну.
Си-шарп - решетка, как бы намекает на запертость у одного вендора (хотя школьник завопит тут нам про опенсорс, но видит он эту свободу по прежнему через "решетчатые окна").
С++ - он же кресты, он же кладбище для софта и талантов.
js - настолько бестолочный и безвкусный, что его очень ярко характеризует логотип, где у авторов хватило креатива только на две буквы (тот случай, когда хочется быть полноценным языком и выглядеть как все настоящие программисты, но мозгов не хватает).
С - просто буква, простой, пустой, экономит на всем, даже на своем название
>>907262 Тебе еще раз скинуть ту ссылку, где гафер сравнивал сборщики, и такой суперахуенный гц в го в который гугл вкладывается уже семь лет и приглашает профи работать над ним (вроде Хадсона) отсосал сочной хуятины у окамловского, который стагнирует уже хуй знает сколько времени и написан французскими студентиками?
>>907475 еще про го, в далеком золотом 2007 был ярко выражен такой термин: юзеры - юзвери - пушистые - хомяки - лемминги то есть глупая составляющая ИТ области, что как бы маскот го еще и закрепляет, ибо лемминги тупы, бегают стадом, причем иногда себе во вред (известно как).
>>907483 Ты просто цитируешь Максимку: >>906613 > До существования Go эти люди называли себя системными администраторами (POSIX, KISS, UNIX, Керниган и Ритчи головного мозга), теперь гугл их пересадила из беша в гошечку."
>>907477 Перл - мутированная лошадь, код которого так же ужасен и горбат. Когда-то был мощным инструментом своего времи, но сейчас так же канул в лету и забыт (подобно тем странам азии где верблюд активно использовался)
>>907611 Окамловский верблюд такой же, как и перловский, только вместо кода у него кривой тулинг. А ещё окамловский верблюд часто изображается полностью запряжённым, но не несущим на себе груз, что символизирует отсутствие стандартной библиотеки.
>>907932 Всё верно, раньше просто перделки делали для сайтиков, даже за язык не считался особо, был где-то на уровне программирования html и excel. Сейчас возведён в культ, а ярое поклонение-главный признак уебана вот уже пару лет как. В целом Го и ЖС достойны друг-друга.
>>908014 А я что-то проникся. Сел тут, сделал на нём пары, потом списки, потом паттерн-матчинг, потом добавил wildcard паттерны, потом биндинг значений, потом сделал алгебраические типы и паттерн-матчинг по битовым полям как в эрланге (на самом деле, я не знаю, как там в эрланге). И даже синтаксис относительно няшный получился. Кажется, что язык не такой уж и плохой. Исполнение, конечно, не очень, но в целом не так уж и плохо.
>>908029 >>908033 это детские болезни, которые не встречаются в продакшене в наши дни. для NaN есть глобальный isNaN, а нестрого равен null (undefined == null) - всё остальное, вот эти вот ваши [] != [], [] == 0, 0 == '\t' и 0 == '0 - это эзотерика и за такое нахуй палец отрезают. короч не аргумент. к тому же есть кошерный typescript. но да, согласен что webassembler придёт - порядок наведёт
>>908033 >[] != [] Создал два разных массива и удивляется, что они не являются одним и тем же объктом. >[] == 0 Привел пустой массив к числу и удивляется, что она равен нулю. >0 == '\t' Привел пустую строку к числу и удивляется, что она равна нулю. >0 == '0' Привел строку 0 к числу, и удивляется, что она равна нулю
гуаноны, поясните почему срез может изменять массив, пока его не переполнили. потом как я понимаю создаётся массив в два раза больше объёмом, туда копируются старый массив и срез начинает ссылаться на него. зойчем так сделоли? какие профиты?
>>908627 В жабе есть похожая структура, arraylist.
Корчит из себя динамический массив, на деле являясь статическим.
При заполнении на 2/3 от текущей емкости, создает новый массив вдвое больше старого, переписывает данные, и подменяет ссылку.
Снаружи все выглядит чики-пики, а под капотом тормоза с копированием памяти.
Зделоли так для того, чтобы можно было создать массив неизвестной длины. Длина не всегда известна заранее, да почти никогда она не известна.
Ну а старую память не переиспользуют, я так подозреваю, чтобы не ебстись с фрагментацией. Все просто: хер знает какие там после массива данные лежат, если просто указатель на конец двигать, можно залезть за пределы пустого сегмента памяти, и запороть и массив, и чью-то память. Отследить эту ситуацию очень тяжело, добиться ожидаемого поведения в 100% случаях гарантированно нельзя, да и куча лишней логики чтоб все учесть и проверить. По скорости все это явно медленнее простого копирования, а по надежности гораздо хуже. А выделение памяти фиксированного размера всегда, гарантированно, отдает пустой сегмент, где нельзя никого запороть. А уж где этот сегмент лежит - никого не волнует. Даже длинный доступ в память, в обход всех кэшей, намного дешевле той доп.логики.
>>908496 Дай ссылку на либу штоле. Пользоваться я этим, конечно же не буду (проще скомпилироваться в жс из языка с нативным паттернматчингом), но ознакомиться интересно
>>908646 я это к чему спрашиваю. выходит лучше не создавать долгоживущие ссылки на срезы, так как в какой-то момент две такие ссылки начинают ссылаться на разную память?
>>908685 Не хочется просто так вылаживать, потому что, например, там есть одна функция, которая выглядит немного странно, и надо бы объяснить, почему она так выглядит. Я думал статью об этом написать, но у меня нет блога (и лень). Так-то оно довольно просто устроено - всё есть функция. Сначала делаешь пары: var pair = function ( a, b ) { return function ( f ) { return f( a, b ); }; }; Потом функции для получения первого и второго элементов, потом думаешь, как можно пары сравнить (тут, по-моему, есть только один способ), и из этого всё остальное уже вытекает. >проще скомпилироваться в жс из языка с нативным паттернматчингом Я сначала хотел сахарок поверх этого написать, но потом тоже подумал, что - тут вся писечка именно в том, что это чистый жс. Хотя у меня получилось чуть гибче, потому что можно, например, сделать match( smth, [ [ JSON.parse( v ), () => ... ] ] ) - язык-то динамический и без контроля типов.
>>909444 да не гони, трипл, скинь мне на pastebin, хочу почитать. олсо там выше аноны говорили не о сопоставлении типов, а именно о [] == []// false ибо это два разных объекта в памяти, а объекты в js равны только когда их ссылки равны.
олсо, а как ты задефайнил _ ? я было сам написал велосипед в котором энумерейбл можно матчить со своими вариантами. типа такого:
let Result = Enum(['Ok', 'Err']) let Option = Enum(['Some', 'None']) let result1 = Result.Ok('playload') let result2 = Result.Err(new Error('bla bla')) let option1 = Option.Some('some') let option2 = Option.None
и потом у любого из них(у Option.None в том числе) есть метод .match и можно делать так:
>>900987 > пожри говна и заботай матчасть Какой агрессивный хейтерок. Не нравится - пиздуй в свой уютный тред и дрочи на свой любимый язык там. Докер это давно не обертка над cgroups, так что сам матчасть ботай, перед тем как высерать тут свое дохуя ценное мнение.
Часик в радость, чифир в сладость!Аноним13/01/17 Птн 20:42:16#204№911474
>>911474 ути-пути какой ты беспомощный. сам в своём коде разобраться не можешь. наверно даже не пытался на бумажке пару итераций проверить. сразу за советом бежишь. остаток от деления нуля на пять чему равен?
>Требуется GO разработчик для разработки модулей к интернет магазину. >В состав команды, разрабатывающей магазин. >Магазин самописный, написан нами. Добро пожаловать в мир пхп 10 лет назад.
>>912580 лол, а ведь всё верно. пхп-макак пишущих с открытой вкладкой stdlib пыхи и макаки которые могут в ларавель/йии2, это ширпотреб макаки и элитные макаки стоящие раз 5-10 дороже.
>>912677 тоесть я хотел сказать что средствами пыхи, реализовывать то что нужно в наши дни - могут только дорогие макакусы. дешовые макакусы уже прострелят все четыре лапы на асинхронных вызовах. гоферы ценны тем что они эталонные дешовые макакусы, но при этом они не мнят себя бывалыми мудрецами, как это бывает у пыхарей со стажем >2 лет, а сам язык не даёт им шанса стрелять по ногам/лапам
>>900789 (OP) Анон, вкатываюсь в язык 2-й день, что в этом коде http://pastebin.com/Si9vnyMN может быть не так? функция msg ничего не делает (похоже, просто виснет и всё)
>>919610 Да не, это ты контуженный, пидораха стекломойная, бббггеее. Много в детстве хуем по голове в школе стукали тебя, чмошника тупорылого, лол. Писать не умеешь, а в гавнакодинг лезешь. В дворники пиздуй. Или книжки читай, начти с литры за пятый класс и сочинения, дегрод ты боярышниковый.
>>900789 (OP) Есть несколько типов структур. Хочу сортировать массивы этих структур по разным ключам. Есть ли какой-нибудь адекватный способ это сделать, кроме как для каждого типа структуры запиливать свой By (как в примере https://golang.org/pkg/sort/ SortKeys)?
>>920548 >дженерик по трейту Кто все эти люди? В го же нет этого всего. >шо ты хочешь Есть несколько типов структур, пусть это какие-нибудь Struct1, Struct2, ... StructN. Есть массивы этих структур, пусть type Array1 []Struct1 и т.д. Допустим, я хочу уметь сортировать эти массивы по разным полям соответствующих структур и вообще различным критериям. В примере по ссылке https://golang.org/pkg/sort/ в разделе Example (SortKeys) приведён пример кастомной сортировки массива структур по ключу. Проблема в том, что в том примере функция By принимает на вход не две каких-то абстрактных структуры, а вполне конкретных типов. Соответственно, если следовать этому примеру, нужно для каждого типа писать свой кастомный By, а это выливайется в тонны болйерплейта, т.е. говнокода. Вопрос: как реализовать сортировку массива кастомных структур по кастомным критериям, не прибегая к копипасту и засиранию кода?
>>920576 Какую-то странную задачу перед собой ты поставил. То есть ты хочешь сортировать непонятно что (неизвестную структуру) по непонятным критериям ?
>>920590 какой такой зашквар? гоу хорошая замена нодеjs, например. никакого зашквара. но понимание как включить глубокую компиляцию - это порог вхождения. или ты реально хочешь на каждом ядре гоу машину?
>>920501 >>Тайпклассы >Это как? Можно пример? Пфф. См. пикрекл >Соответственно, если следовать этому примеру, нужно для каждого типа писать свой кастомный By, а это выливайется в тонны болйерплейта, т.е. говнокода. >Вопрос: как реализовать сортировку массива кастомных структур по кастомным критериям, не прибегая к копипасту и засиранию кода? Никак. Пайк терпел, и вам велел. В любом случае (и в любом языке) нужно определить компаратор, вопрос только в количестве бойлерплейта.
>>920591 >неизвестную структуру Известную >по непонятным критериям По понятным, но по разным в разные моменты времени. Это как куча листов в экселе с разными таблицами, которые ты сортируешь то по одному столбцу, то по другому.
>>920607 >нужно определить компаратор Само собой, только вот хотелось бы, чтобы только его (Less) и нужно было определять.
>>921347 > где хранить сервисы? Шта Разделяй весь функционал по пакетам, если ты о переиспользовании кода. Какой-нибудь утиль в базовую поставку, модели для базы, если есть, в еще один и так далее. Все должно быть независимо.
https://anvaka.github.io/common-words/#?lang=go >Most used words in go files >err - 17,5+ лямов >if - ~16 лямов >nil - 13+ лямов и при этом func - 6 лямов, type - 3 ляма. Т.е., на 1 функцию и 1 структуру приходится 3 и 6 "if err != nil" и соответственно. Кто-то что-то там говорил "обработка ошибок нинужна"?
>>926471 А не похуй на мнение местных лузеров? Ешь, может понравится. Я и сам с радостью поливаю гошечку, но в последнее время встречаю столько полезных приложений и библиотек, что встаёт выбор об использовании.
Вчера вот за 5 минут нагуглил как кросскомпилировать одну демку. Деплой тоже приятный.
>>926541 Вместо деб-пакетов предлагают качать васянские бинари и самостоятельно обмазывать их супервизорами для работы в качестве сервисов. Деплой, ага.
>>926547 Ну у нас то даже приложения на жабке обмазываются дебами. Ничто не мешает то же для го делать.
Я за деплой с восторгом писал лишь потому, что рантайм не пришлось тащить, во время тестирования - собрал на маке, запулил на сервер с линуксом - всё работает. Счастье.
Господа, есть задача написать простенький хттп сервер с монгой на го по требованию начальника. Какие библиотеки/фреймворки следует пользовать? Вкатываюсь с ноды, там царствует на серверах express. Есть ли какой подобный по популярности фреймворк серверный?
>>928246 >фреймворк >гау Ты не туда попал. А вообще — в гугле/гитхабе ищещь, смотришь где больше звездочек и контрибутеров, есть ли нужный апи и пр и тащищь библиотеку.
>>928645 >а потом nginx натягивают поверх джавы или го а если у тебя сервант не из одной джавы или гоу? если есть ещё куча всего и это надо как-то разруливать? вот здесь и нужен нжнкс
а тот анон либо тонко троллил, либо действительно не знал что путь говн - это велосипеды поверх stdlib только хардкор!
>>928723 Недавно на Хабре была статья от одного из разработчиков Го о дальнейших планах. Там сказано, что дженерики может и добавят, но есть дела и поважнее.
>>929536 Я думаю уже в курсе, но пока все делают вид, что всё хорошо и правильно и так и должно быть. Через год начнутся разгромные статьи, как они попробовали, обосрались и всё переписали.
>>929553 Объясните, почему, реально ПОЧЕМУ, имея такой потенциал в маркетинге, такой потенциал глупых айтишников, которые утраивают сарафанное радио о продуктах гугла - они не сделали реально качественный продукт, на основе проблем и успехов существующих топовых языков?
Такое ощущение, что внутри компании все бояться сказать открыто, мол этот продукт дерьмо и что насильственный маркетинг смог собрать только оголтелых фанатиков. Но нет же, бедную сову всё натягивают на глобус.
Имея рынок андроида, они могли легко и свежо запилить смесь джавы с сишарпом (как однажды сделали МС, но просрали все, забив на кроссплатформенность), обмазать всяким синтаксисом из котлинов, скал, груви, свифтов и прочего сахара - и весь мир с радостью сел бы на это чудо.
Но нет же, мы будем тратить усилия, чтобы убедить вас, что это говно съедобно. Го - самый печальный проект
>>929729 Знакомый говорит, что go это ребенок даун, уродец от которого не отказались в свое время при рождении. И вот сейчас, на фоне гуманности и любви, невзирая на реальность пытаются найти ему место под солнцем.
>>929729 ИТТ фулстэк веб-гамадрил. Короче в современных реалиях никому нахуй не нужны выёбистые кодеры говна. Получилось как, в период роста ИТ - самые шустрые сразу начали колбасить и педалить. Теперь крупные корпорации вынуждены хантить их друг у друга. Но вот только гугл не пальцем деланные, посмотрели в завтрашний день, когда потолок близко уже. И вот тогда родилась идея сделать ход конём - демпингнуть рынок макаками. А для этого нужен был лишь инструмент способный решать основные задачи, но при этом такой инструмент что бы от него у дорогих макак рвало жопу и они укатывались обратно в свои ЯО. Гоферы - это массовое явление, ибо задумывались такими, взаимозаменяемыми и дешевыми. Посмотри на Angular - там та же песня, только решили пугать не примитивизмом как в Go, а наоборот навернуть лишнего говна по велению левой пятки. И теперь ангулярщики самые массовые и востребованные. Есть такая же телега про Rust, мол крестоёбы слишком уж дороги и их всё меньше, а код писать нужно, код сам не напишется, вот и решили сделать BDSM компилятор, что бы можно было больше макак нанимать
>>929766 >слишком уж дороги и их всё меньше На каждом заводе и из каждого университетика за 30к. Собственно, этот язык в отличие от говна делали нарочито сложным на основе всякой академической хуиты вроде ATS, Clean и OCaml — индустрия тупеет, и ей нужны языки вроде го. Собственно все проекты на нем начатые сейчас потом будут переписываться на си/новый байтойобский языкнейм как гау который будет простой и тупой как палка. >это массовое явление, ибо задумывались такими, взаимозаменяемыми и дешевыми Это естественное явление, больше работы —> нужно больше лоуквалификейтед шита (не всем же аспиранутру проходить), и такая тенденция началась еще с появления жявы в конце прошлого века. Собственно, это абсолютно логичное завершение экономического мыльного пузыря сформированного вокруг программирования.
>>929773 > завершение экономического мыльного пузыря сформированного вокруг программирования Ну собственно про это я и имел в виду когда говорил о "потолке".
> Собственно, этот язык в отличие от говна делали нарочито сложным Не очень. Не сравнится с теми же крестами. У Rust аудитория в основном из выходцев из скриптопараши. Надрочи их писать код который скомпилится и всё. Даже IDE не надо, лол.
>>929766 Хуйня-теория, есть тут всякие php-сms-ники, до сих пор на пыхе можно без каких либо костылей (библиотек и фреймворков) навернуть на одной странице скрипт, который жанглируя одним лишь массивом сделает то, что джава макаки (или другом языке) будут ебаться днями. Я серьезно, даже ORM нахер не нужен, получил массив работай $hui['moi_hui']['razmerchik']; А что еще нужно для CRUD веба?? Мы потом так же все в кашу кидаем для вьюхи (view).
Так что не катит, некатит еще по тому как ебутся макаки с JSON преобразованиями. Для статически-типизированного языка JSON гвоздь в жопе. Для того же пхп или js - там все уже готова.
Так же теория рассыпается об опыт, пример, когда нанимали программистов и переучивали на php, так как галеры не могли найти годных программистов на этом языке. Количество не значит качество.
Язык пихнули и явно хотели пропихнуть как замену промышленных языков таких как джава, шарпей. А в реалиях получилась успешная замена для Си для 1978 года.
Возьми старых пердунов, которые не кодят реальные продукт - тебе сделают лучший продукт семедисятых годов - то есть Го. Возьми моднявых хиптеров не имеющи багаж знаний - тебе сделают node.js или rust
>>929780 Кресты никогда и не делались сложными и там никогда не было ничего академического. Там проблема в том, что они развивались по типу "бля, страуструпа, а запили ка ты модный ХХХ".
Если бы макаки дрессировались подобным образом — все бы писали на идрисах и агдах верифицируемый код, а не шлепали полудинамический код на жаве, которые каким-то образом умудряются течь. Поэтому текущий стейтмент раста — модная хуита которая сдохнет.
Тем более, рано или поздно наращивать мощность процессоров станет дальше некуда (а это обещают в ближайшие 5 лет) и начнут шлепать процессоры с фичами для риалтаймового сборщика и прочего (как у азула) — байтойобские языки умрут уже совсем.
>>929798 > Кресты никогда и не делались сложными и там никогда не было ничего академического. Там проблема в том, что они развивались по типу "бля, страуструпа, а запили ка ты модный ХХХ". Я не об этом, я о том что в итоге получилось. Синтаксис от которого кровь из глаз. Уровень вхождения неебический, а потом ещё нужны годы опыта что бы в ногу себе не стрелять.
>>929792 Пха не предназначена для нормального запиливания сервисов. Там даже асинхронщина через жопу. У JS слишком много подводных камней и родовых травм от которых хочется писать говнокод. Go просто сказали что говнокод - это не баг, а фича.
> Возьми старых пердунов, которые не кодят реальные продукт - тебе сделают лучший продукт семедисятых годов - то есть Го. В точку! > Возьми моднявых хиптеров не имеющи багаж знаний - тебе сделают node.js или rust Вот тут не соглашусь. Rust пилят какие-то нерды-олимпиадники, а нода как бы ничего новго не внесла - тот же JS только теперь не в браузере, а в системе.
пойдет доступная робототехника и хуй тебе дадут писать на всяких древних С++ и прочего несовместимого с современностью говна. Ибо шлепнувшийся дрон на голову из-за того что петя объебался с памятью - нахер никому не нужно. Очевидно будут допиливать сборку мусора до времени реалтайма, но никак не давать в доверие человеку. Да я и сам не хочу контролить эту низкоуровневую хуйню, времен байтоебства. Я пишу логику и поведение, мои абстракции уже куда выше чем контролить 4 байта руками (или 2 байта, в зависимости от реализации, лол).
С++ полный отсос в сравнение джавы, именно не синтаксисом, а то как она обросла инфраструктурой- единый стиль, единые сборщики, а какие IDE. Люди реально стали писать модульный код в отличие от тех же скрипто-си, где встречаешь порой жесть. Я ссу стоя на С++ ибо в сравнение с джавой это динозавр. Но джава тоже уже устаревшая какаха, можно и нужно лучше что-то (но не Го).
>>929832 >Очевидно будут допиливать сборку мусора до времени реалтайма, но никак не давать в доверие человеку. Невазможна, ты пездель. Ета как твою мамку в мадели вазьмут, хехе.
>>929832 Ты просто неасилил гоу. Там за прасттатой и анусов, скрыта моща пиздатая. Кароч иди читай пайка, чмо недоразвитае, бббббгеее. а не пизди на пр.
>>929828 Читни спецификацию https://golang.org/ref/spec Язык прост как дверь, кодить можно будет сразу же. Но для трудоустройства нужно ещё знать библиотеки с фреймворками.
>>921347 Пиздец, бббггее. Хуже жава-макаки, каторая мегрирует на другие езыки даже не червь-педор, хехе. Везде свае гавно и кастыли тащат патом, лохи терпильные.
>>929536 >бойлерплейта Взоржал с макаки тупорылой, хехе. скриптопетух ты, каторый открывает фаел без единой проверки. или абвешивает свое жавападелье кучей траев. и патом ета гавно пердит и тармазит и просит сервак с терабайтам и итаниумам, хехе.
>>929824 >Пха не предназначена для нормального запиливания сервисов
Вроде народ стало отпускать с этим наебоном, но все же - тяжелые сервисы писать на всем кроме С или С++ в общем где "узко" да еще со сборкой мусора) - это долбаебизм Кода там как у скрипта, даже на С++ можно не обосраться, а вот мощь С++ зарешает.
Все остально писать кроме как скриптами и питонами - это боль. Даже на го будет дороже обходиться, так как еще сопровождать тону бойлерплейта + кодогенирацией + самописной херни (или непроверенные временем коды васянов с мусорхаба)
В общем спроси у меня - писать логику на том же пхп (в старом стиле) или на Го, я выбиру первый по удобству - хотя пыха то еще говнецо
>>930032 То что определено внутри блока - видно только внутри блока. Это хорошо, правильно и так везде. Но неполноценным дегенератам вроде тебя не понять.
>>930013 Я все проигрываю, на одно действие три строчки бойлерплейта, и блять этот if err != nil даже в одну строчку не запишешь, просто портянка говна.
И где блять тот уебан, кто кричал что на го код более читаем и проще?? Вот будет у тебя вызов 5-7 функций с ошибками и будет у тебя 15-21 строк абсолютного мусора, забивающий всю страницу экрана, лол
>>930710 То что целенаправленно добавили такую конструкцию, меня наводит на такое (мысли дизайнеров языка):
-господа, у нас тут дерьмицо, куча бойлерплейта, давай-те сделаем нормально.
-НЕТ! Вот вам еще говницо, поверх старого, мы теперь будем писать все вызовы функций сразу в "ифах", так мы сэкономим целую строчку, получив еще более нечитаемый код!
Пока этот толстый тролль с вконтакта в одиночку отсасывает сам у себя, не получая никакого внимания от местных, я предлагаю вывести на повестку дня следующий сахар:
моя конструкция более короче и удобнее, а долбаебы гоферы все равно в программирование нехера не понимают, им как леммингам сказали есть говно, они и едят как есть.
>>931819 Тупой гофер не может уловить аналогию, тебе дали говно в сравнение, чтобы показать что то говно, что это и разницы никакой.
Ты, макака, будешь в 30-50% своего кода писать откровенный кал из if != err просто потому, что авторы забили на обработку ошибку (ничего не сделали для этого). Но в моем случае с ---===(VY_SOSETE_TOLSTIY_BOLT)===--- ты хоть своим мозгом догадываешься, что тебя где-то наебывают (хотя, можно написать годную статью и ты как и другие суслики поверят в то, что писать эту хрень обязательно и необходимо!)
>что авторы забили на обработку ошибку (ничего не сделали для этого). Лох. Иди книжки читай, бббгегее. Так и не высрал со своей черепушки ничего кроме стандартного и убогого трай-катча (который по дефолту гавнище, хехе).
Гоферы стали наконец-то писать больше чем скрипты и у них стали появляться сервис-контейнеры. Как же это уебишно выглядит:
app.Get("logger").(*log.Logger)
И тут дело не в том, что дети открывают себе давно известные вещи, а то, что язык настолько уебищный по дизайну, что любые попытки сделать даже что-то традиционное приводит код к убогим костылям.
>>930128 >Вот будет у тебя вызов 5-7 функций с ошибками и будет у тебя 15-21 строк абсолютного мусора Не будет, большинство ошибок я буду игнорировать.
>>932149 Ирония в том, что джава начальных версий до дженериков выглядела тоже как кусок говна, ...да вообще, много там говна было - но оно развивалось согласно опыту и реалиам рынка, отталкиваясь от С++ и только потом стала консервативна и "заморозилась".
Что же го? Нехера не развивающийся кусок кала, который решил какие-то проблемы стариков и их ебанутого чистого Си в далеком 1970 году. Но отдел маркетинга, вероятно, заставил натянуть модные фичи как асинхроность, интерфейсы и прочее, в итоге получился монстр.
И что мы видим - нет перегрузки функций, но блять есть замыкание (лол, где замыкание это блять объектная модель, только для даунов) - невероятно нужна вещь когда есть объект, ппц. Есть интерфейсы - но полиморфизм через жопу, даже на nil интерфейс только через жопу проверишь. Да и к хую летит интерфейс, если юзаешь чистую структуру (придется писать геттеры и сеттеры - лол)
Серьезно, эти уебанны занова открыли геттеры и сеттеры - нахера тогда структуры добавили?? Уже даже школьнику ясно что нужен контроль на записью и чтением данных и можно было накрутить проперти, но нет же, мы сделали джаву времен девяностых.
Передачу по значению, лол 99% кода теперь таскают ебанутую зведочку *.
>>932195 >потом писать нечто типа exit(1) Да, долбоеб. Именно так, если ты блядь не знал что существует такое понятие как код завершения процесс, макака ты хипстерная. Оказывается блядь его можна еще и получить потом в shell'e и обработать. Внезапно! Внезапно блядь в C после fork дохлые children висят как зомби именно с целью чтобы родитель их коды завершения считал. Пиздец, ты такой тупой блядь, что весь этот форум отупеет от твоих высказывания. Зная твою умственную отсталость, смею предоложить твои вскукареки о 1970, пердолинге, байтоебстве и прочую хуйню в твоем исполнении. Свали нахуй в свой PHP тред и не еби мозги профи системщикам. К хуям пошел!
>>932193 >99% кода теперь таскают Нет, только там, где структуру нужно передать для изменения. >>932193 >эти уебанны занова открыли геттеры и сеттеры >нахера тогда структуры добавили ООП головного мозга это и правда болезнь.
>>932276 Прости, но тут ты не прав. Обработка кодов завершения дочернего или не очень процесса очень важна. И к байтоебству это отношение имеет ровно никакого
>>932261 >Нет, только там, где структуру нужно передать для изменения. лол, чтобы на вызов функции тратить впустую время на копирования данных? Да такой код просядет похлеще скриптов, когда у тебя будет среднее приложение с 50-100к вызовов. Даже в макакенском php, что упоминял долбаеб из вконтакта - там массивы юзают схему copy on write (да блять, на дворе уже не 1970). Согласись, проще было придумать нечто типа маркера const (как в с++) для атрибутов, чтобы в момент компиляции проверялось, что ты мудак данные не трёшь, а не выполнять тяжеловесное копирование (лихие семедесятые, лол)
>>932261 >ООП головного мозга это и правда болезнь. ты можешь плакать по вечерам, можешь прятаться в углу, но то что мир выбрал путь - писать модульный код, с "мягкой" привязкой через интерфейсы - это уже факт. А то что любой структуре (будь это риал структура или класс с паблик полями) - со временем может потребоваться промежуточных контроль над доступом данных - говорит лишь о том что ты неопытное говно, а не программист (хотя мы же в го треде).
>>932232 Маленький все пишет скрипты как в лихие 1970? Конечно в те времена на 500 строк кода, в случае ошибки логичнее было завалить программу и выдать циферку. А сегодня, в мир полноценных приложений, завалить все работающие приложение/службу - может только мудак, который пишет дома программки-скрипты.
>>932193 >И что мы видим - нет перегрузки функций, но блять есть замыкание (лол, где замыкание это блять объектная модель, только для даунов) - невероятно нужна вещь когда есть объект, ппц. >Есть интерфейсы - но полиморфизм через жопу, даже на nil интерфейс только через жопу проверишь. Да и к хую летит интерфейс, если юзаешь чистую структуру (придется писать геттеры и сеттеры - лол)
Ты еще наследование попроси, лол.
Язык создавался, как аналог СИ, только упрощенный, дописанный. Отсюда и замыкания, и обработки ошибок таким образом.
Нет же, им подавай очередную джава-подобную хрень.
>>932492 Замыкание это некоторое состояния для функции, которая находится внутри функции (лол).
Невероятно неявная и магическая штука в сравнение с простым объектом, который явно имеет поля (те же состояния) и которые есть в го.
Более того, там есть еще очень тонкая и часто получаемая ошибка, из-за дебильного дизайна Го.
Эта шляпа не только проблема и переусложнена, но и просто не нужна, так как объектная модель данных есть и так (сделать функцию с состоянием можно легко - это метод простой).
То есть, внести в код такой очевидный устаревший кал времен процедурных языков, но при этом крича в лицо - что перегрузка фунции очень сложно и не нужно (хотя де факто признанно всеми) - это просто трешак, согласись анон.
https://golang.org/doc/faq#unused_variables_and_imports >There are two reasons for having no warnings. First, if it's worth complaining about, it's worth fixing in the code. (And if it's not worth fixing, it's not worth mentioning.) Second, having the compiler generate warnings encourages the implementation to warn about weak cases that can make compilation noisy, masking real errors that should be fixed. Язык должен быть умнее программиста.
Почитайте что вы тут развели, это же какой-то пиздец. Вам что, по десять лет тут всем? Вы что, в песочнице, блядь? Тут же абсолютно бесполезные холивары. Почему русское комьюнити такое ущербное? Вы как в загоне, озлобленные как ебучие собаки. Нет ни одной такой площадки, где градус ненависти был хотя бы сравнимый с пиздецом на этой. Пошли вы нахуй, бешеные животные, желаю вам от своей желчи сгореть к хуям.
>>932603 Тебе, ебло, сказали что каким-то хером добавили такую дичь как замыкание, а банальные вещи как перегрузка функций - тупо нет (да ничего там вообще нету). Причем последнее сделать проще. Но ты тупой уебан, который не может удержать контекст переписки больше чем на один пост, хули тебе вообще объяснять?
>>932568 Все просто, во время отладок навтыкиваешь тучу либ и потом го либо отваливается ругая тебя циклическим импортом, или же в го есть какая-то бага линковщика, которую не хотели исправлять каким-то своим способом, усложняя компилятор.
Я по-моему, даже знаю что за проблема, больше выглядит - что лучше для них потратить силы тупых программистов, чем силы на разработку и усложнение компилятора (именно отсюда в го ничего нет, но хомяки хавают это как фичи, лол)
>>932615 Нормальное реакция на то, как если бы тебе совали ложку говна и говорили что это мёд. Ты конечно же бы терпел и ел, улыбаясь, целуя руку хозяина, но у нормальных это вызывает бомбалейлу, если что.
>>932758 Все ржу, как эти чудилы с маня-мирком своего нового языка тягаются с такими титанами с их инфраструктурой и легионом рабочих мест. Единственное что там им бояться стоило это шарп, но шарп насоснул сам у себя из-за жадности некоторых и вообще сейчас выглядит как переусложненое говнище ака с++
Го мог бы только напугать питоно-макак, лично я сейчас вижу как отдел переписывает с го на питон то говнище что ранее накодили, а двоих организаторов сей акции уволили (хотя они типа ушли, но мы то знаем правду)
Го как нелепая попытка убийцы питона - который, питон, все еще убийца пхп, которого пока он убивал потеснил js - да блять в очередь уёбки, там в вашей параше догоняющих всегда место будет.
>>932760 Они ее (обработку ошибок) хотя бы должны были сделать. То есть для начала гофер должен прийти к этой мысли сам, а уже потом мы тебя тут исцелять будем.
>>932827 >>932832 Но мне не в принципе в языки вкатываться. Я хочу свои задачи решать - нужно парсить текст многопоточно, с разных айпи. Го же хороший в этом?
>>932837 >Го же хороший в этом? Со строками в разных кодировках тут будет непривычно работать. А так вполне хорош, не обращай внимания на джава семена, который не может ничего больше осилить.
>>933071 так надо фактами отвечать мол, что агрегация лучше наследования и все такое и полиморфизм завизли в говно-реализации интерфейсов (пусть говно и на поля струткур не распространяет, но есть, будем геттеры и сеттеры писать, что уж). А не на каждый недовольный чих звать главного священника и просить забанить.
>>932780 Cнова пустословие. Что ты вкладываешь, в это обработка ошибок? От трай-катча отказались по тем причинам, до которых ты не осилил. Проще говоря - оно говно и медленное. И не отменяет того, что прогер должен сам заботиться обработкой в любом случае. Или ты как последняя макака оборачиваешь свою простыню в один огромный трай и ловишь все (с принтом в обработчике как изюминка на торте из говна)? Тогда просто иди на хуй. Или ты нодомакака с доменами (что еще большее гавнище, хуже червя-пидора)? Тогда тоже иди, лошок, ибо ты не видишь дальше своего носа. Последовательная обработка ошибок - лучшее, что может быть. Оставляю это утверждение за собой ибо ты серишь, а не отвечаешь на предложенный тебе вопрос о примере лучшей системы обработки ошибок.
>>933381 Что за опшины? Что-то опосля работы моск уже не шуршит. Вообще в голанг должна приветстваться парадигма "let it fall" - эрланг старше всех местных пиздюков с их жавами, но тем не менее на нем успешно пишутся и эрливидео и ежаббер и много других сервисов. Вообще интересный вопрос - есть ли что-то супервизоров и деревьев эрланговских в голанге? Вроде оба построены по модели csp.
>>933384 Иди иронию ищи в другом месте. Если ты не в теме, то иди просвещайся. Сейчас очень много пишется на голанге, очень. Ты просто хомяк со статьей из википедии и не можешь ни в одну предметную область.
>>933386 Я имею в виду опциональные типы. Собственно rust, например, - там обработка ошибок сделала очень удобно, имхо. В Go можно построить супервизор, внутри горутины через defer отлавливать панику, матчится по ней, и если нужно - посылать сообщение горутине-супервизору, чтобы она переподняла задачу или сделала ещё что-то
>>933379 Маленький даже не знает, что трай-кетч ввели чтобы избавиться от сишных обработок ошибок, чтобы если макака-даун и заигнорил ошибку, то это сделал явно, а не скрытно просто не забив болт (как было это и как будет, лол).
Лихие семидесятые
>Проще говоря - оно говно и медленное. Оно никак не влияет на исполнение, а вот из-за стектрейса - да, но только в момент ошибки (в жабе это отключаемо кстати, но только конченный даун отказывается от стектрейса в рантайм ошибках. В большом приложение ты ласоснешь тунца и недельной отладки, только потому что твои ошибки это значения и в логах нет стектрейса - тру стори).
Из-за полиморфизма объектов, я могу сгруппировать ошибку, то есть поймать нечто типо ReflectionException, тебе же дауну в ГО придется писать switch или if и танцевать с каждой ошибкой (ее типом), так как нету наследования. Хотя я видел, что вы, дауны, парсите строку чтобы понять что за ошибка, лол.
>>933399 >чтобы избавиться от сишных обработок ошибок >заигнорил ошибку, то это сделал явно Ну я понял, ты тоже макак, который бахает простыню в один трай. >>933397 Смотрел этот пэкидж, но сильно пока не копал.
>>933405 Все современные облака и контейнеризация так или иначе на голанге. В будущем только больше. Сайтики и бухгалтерию не пишут наверное, да. >>933399 >танцевать с каждой ошибкой (ее типом), так как нету наследования. Хотя я видел, что вы, дауны, парсите строку чтобы понять Там все красиво расширяется за счет стандартного типа ошибок. Если ты водишься с макаками (вне зависимости от языка), то вини себя, что не берут на нормальное место. Ну или родителей вини, что гены пропитые.
>>933413 >сектанты Не, хех. Это ты гавножор походу. У тебя там за спиной погонщик, который хуем тебя полбу стучит и заставляет заходить в тред, посвященный конкретному языку и удивляться почему его здесь обсуждают?
>>933413 две крайности: с трай-кэтчем можно тупо все ошибки ловить, без какой-либо обработки. А в конце, общий трай-кэтч. И вроде ошибку словил, а что толку?
В го же подход другой: ловля ошибок полностью на твоей совести. Хочешь- лови , хочешь - не лови.
>>933416 Крупные, да, все. Говорю как клауд-инженер в международной конторе работающий. Что там у тебя в гробике под кроватью крутиться в виде "облака" я не знаю. Каждый сам себе буратино.
Может кто-нибудь за 300 рублей написать парсер который работает во как: Get запросом передается ключ, в программе параллельно парсится то что мне нужно, когда весь парсинг завершён - идёт обработка текста и выдаётся результат. Я селекторы и прочую хуйню сам нагуглил, а вот скелет такого скрипта очень нужен
>>933415 unwrap - это как раз пример того, как в русте делать не нельзя почти никогда, кроме как в примерах. Не, я про result и матчинг этого самого result'а
>>933427 > в программе параллельно парсится то что мне нужно, когда весь парсинг завершён - идёт обработка текста и выдаётся результат. Умей выражать свои мыслишки, чмо лапотное, хехе. Мне должно быть понятно, что ты там хочешь после первого прочтения. За 300 срублей могу только залупой по твоим губам щелкнуть.
>>933417 Что несет это чудо? Я что-то говорил про то что в го-треде обсуждают го? Ты о чем?
>>933419 Еще раз, вникни - напряги мозги. Трай-кетчем ты осознанно ловишь, даже если ты заглушку ставишь в корне стектрейса на Exception - ты все равно явно это прописываешь (и это можно найти). Но смысл не в этом, а в том что такой Васян с исключениями уже так просто не положит болт.
Ты же не ущербный и понимаешь разницу между: поймает и заглушит ошибку и проигнорит (ничего не сделает)
>>933420 Максимум они смогут добавить сахар для конструкции if err != nil...
Пока не будет -стектрейса в рантайме -типов ошибок и их группировка (или наследование) -компилятор не будет проверять игнорирование или затирание ошибок
Но самая критичная проблема, что ошибки что и раньше пробрасывают вверх (только в го руками, лол) И проблема этом:
А -> B -> C Если С возвращает ошибку, которая может быть обработана на уровне А - то и B должна возвращать ошибку, чтобы через нее можно было пробросить ошибку С. То есть суть теоремы, что любая функция всегда должна возвращать err - иначе ты рано или поздно обосрешься (и случиться это где-то в 10-20 вложение, если конечно ты реальные сетевые приложения пишешь).
Только по этому язык можно считать непригодным для промышленного программирования.
>>933535 >ку, которая может быть обработана на уровне А - то и B должна возвращать ошибку, чтобы через нее можно было пробросить ошибку С. Хуета от жава-макаки. Спасибо, поржал. Мыслите по-индусски дальше.
>>933599 > закрывает глаза на тонны саксесс стори переездов на го > выцепляет один таск на фриланс бирже с обратным переходом > кудахчет на весь тред и просит каких-то оправданий Мне даже отвечать тебе противно, проваливай нахуй в свой жава тред, говна кусок.
>>933609 И да, саксесс стори - мы даже внедрить не смогли, я правда хз что там у скрипто-дебилов именно было, но они даже в прототипе обосрались с языком. Вот и байда - на скриптовых языках пишут полноценные приложения, а на тру-компилируемом языке кроме как скрипты писать ничего не возможно.
>>933656 Ну и? Фанатики будут пиарить свой язык, а вместе с ним и твой лейбл. Наши так же с нодой и руби делали и светились специально. Пишут ли сейчас на ней? Конечно же нет, но какую-то хуйню лепили (я так же дома играюсь)
Я поражаюсь насколько средний программист туп и не понимает азы обычного маркетинга. У того же дропбокса легион пиздящих голов, то они про го пиздили то в нужный момент что-то на раст написали. Не удивлюсь если там будет что-то на свифте
>>933661 В моем милионнике за последний месяц появилось 13 гошных вакансий. Этих компаний нет в списке выше, они не выступают с докладами, не рассказывают какой язык хороший, а просто решают бизнес задачу. Что ты на это скажешь?
Берите раст, пока места еще есть. Докладик еще сделайте (не джава, но думаю платят за доклады тоже норм, не всю жизнь же программированием заниматься) https://www.rust-lang.org/en-US/friends.html
>>933662 >милионнике >появилось 13 гошных вакансий >языку ~7-8 лет Ты же понимаешь какой это обосрамся, язык занял почетное место маргиналов программирования.
Осталось добавить "ну и что?" Я видел руби, перл вакансии, видел даже erlang (но я думаю это просто пошутили). Что ты хочешь сказать? Давай еще за хипстер-стартапами последим, которые как грибы после дождя то появляются то пропадают.
У меня есть яркий пример конторки которые лепили визитки на node.js - хотя тимлид не мог объяснить как там работают зеленные потоки. Могут же ребята)
>>933661 На свифте мб и будет (или уже есть) что-то под ойос/макос. Но большие компании не в счет — у них есть сильные команды программистов, и достаточных поток, чтобы без страха тянуть новые хипстерские прибаутки в прод и не парится что оно свалится или все завтра разбегутся.
>>933686 >главная причина успеха гау Что за чудо язык, берешь скрипто-макаку, или вообще Васяна с улицы, сажаешь на го - и вуаля, у тебя кодер специалист.
Как-будто в программирование вся сложность была из-за исключений, дженериков и ООП (которое кстати было придумано чтобы упростить процедурное программирование, лол). А вот без них тебе сразу откроются все возможности и на розовом единороге ты умчишься в небеса.
>>933686 > Это кстати главная причина успеха java: тебе достаточно пары дебилов, которые знают как копипастить геттеры/сеттеры и сувать листенеры в объекты.
Да, стандартизация (jsr) и модульность (ООП) джавы действительно создала абстракции что даже Васяны оперируя maven или gradle за 5 минут могут реализовать то, что на го тебе придется писать полгода с багами. Но что в этом плохого для опытного кодера? Обмазался котлином или скалой (или джавой с норм редактором) и хуярь в светлое будущее.
Это и есть промышленное программирование, а не кустарное, где нет развития, а каждое чмо программирует от структур, а не от интерфейсов (лепит очередное свое говно).
И именно го не подходит для промышленного программирования (причин там много, не только в выше описанной "теореме об возврате ошибок").
>>933781 >совсем уж беспросветные дебилы не могу осилить ничего кроме джавы Пофиксил во имя справедливости. Но им нечего боятся, с php-адептами тоже самое сейчас.
>>933792 >го не подходит для промышленного программирования Про предметную область слышал что-нибудь? Комманд лайн утилиты, которые что-то мониторят, тоже будешь на джаве хуярить?
>>933796 Что тебя там напугало? Писать в ООП языки - процедурно - можно, ничего сложного (классы будут играть роль дополнительного наймспейса). Писать в процедурном языке - объектно - то же можно, но достаточно болезненно.
Скучаешь по функциям, возьми котлин, не ной только
>>933955 Нет, скрипты, байтоебство в микронтроллерах. Все что реально "большое" превращается в трудноуправляемую трясину (открой ядро операционки - охуешь)
Он был придуман в эпоху кустарного дела, никто тогда не думал о таких масштабах, а глобальные переменные были удобной нормой (и сейчас удобно, если скрипты пишешь).
Для примера, прост: Современный С++, да с натягом. Си-шарп - да, весьма Раст - (насколько видел) да php - нет (с исключением ниже). js - нет ...
PHP и динам языки нехера не подходят для уровня промки, но в пхп слизали столько с джавы, да еще навтыкали подобие типов (в скриптах типы проверяются во время исполнения и зачем тогда, лол) что можно сказать, что он больше промышленный чем тот же го.
Кстати го тоже выглядит как полу-динамический, так как большая часть говна отлавливается только во время исполнения (что вообще пиздец для компилируемого языка).
-Модульный код или еще как-то называют - чистая архитектура. То есть OOP + IoC (то есть даже традиционно ООП без DI это шляпа) Никаких блять глобальных переменных и глобальных структур. Даже если и структуры - то должен быть промежуточный контроль над полями (проперти). Последнее даже уже не обсуждается.
-Организация работ на уровне контрактов - например интерфейсы. То есть вообще возможность объединить две и более группы программистов без драки (как раз интерфейсы решают это взаимодействие). Конечно Васяну со своими домашними скриптами нахер не нужны контракты. И конечно хардкор-код ввиди структур - выглядит куда удобнее, поэтому и зовется кустарным делом.
-Никакой кодогенирации (это невероятный пиздец для 2017 года).
-Нормальная типизация (дженерики не только для мапов и списков). Да блять там даже на nil хуй интерфейс так просто проверишь (а проверять надо, иначе есть вероятность что где-то дальше ты может быть и упадешь, но вьебешь данные)
-Должна быть стандартизация (которая задается через интерфейсы). Чтобы не было 100500 логгеров, менеджеров пакетов и прочих кустарных подделок. Это напоминает как в средние века всякие аршины и другие размеры - приравнивались к размеру логтевого сустава того или иного короля (лол). Понятно - что стандартизация - это рост качества производства.
>>934196 ... и вот, когда ты работаешь с приложением у которого ~400-500мб исходного кода, но за счет промки и полученных абстракций ты еще достаточно легко может работать в этом коде - какой-то Васян прибегает и кричит -"ко-ко-ко if err != nil рулит и вообще классная идея!"
Хочется погладить его по голове и дать конфетку за такие юные открытия.
>>934442 Что за убеанский вопрос, очевидно что дохуя чего делает, я тебе тут и четверти не распишу. А если обобщу, то дети сразу закукарекают - что мол "это пиздеж, я тебе это за 5 минут в 100строк это тут напишу...."
Хотя я не буду отрицать что там имеются некоторые исторические наслоения в коде (это неизбежно). Но именно абстракции джавы позволяют это безболезненно использовать и наслаивать, то есть сама джава даже стимулирует в монолитах писать модульный независимый код. Что же было бы в процедурном? Да ппц, дернул что-то в одном месте, непредсказуемо отвалилось в другом.
Да и вообще писать многолетние проекты куда удобней на джаве, для всего остального есть питон.
>>934544 Код ядра линукса занимает примерно 700мб весь. Не думаю, что твое воображаемое приложение может половину того, что делает ядро. >>934194 >Нет, скрипты, байтоебство в микронтроллерах. >Все что реально "большое" превращается в трудноуправляемую трясину (открой ядро операционки - охуешь)
Что-то я не вижу пока что операционки, написанной на джаве, скале, котлине или тому подобному "промышленном" языке. А линукс вот до сих развивается.
>>934663 >ко ко ко - а может ли твоя джава в операционку, кококо. Что тут у нас за школьное мышление и непонимание инструментов?
Так же как на поезде удобно летать, так же и на джаве рентабельно писать операционку. Или скажу лучше - так же как на джаве писать операционку - так же на сях писать корпоративные приложения/сложные проекты.
Но фишка тут в том, что и твой го так же не пригоден для системного уровня (и не для компаративного, лол)
>>934669 > >Так же как на поезде удобно летать, так же и на джаве рентабельно писать операционку. >Или скажу лучше - так же как на джаве писать операционку - так же на сях писать корпоративные приложения/сложные проекты.
Ядро операционной системы недостаточно "промышленно" и "сложно" ? Какие же такие критерии сложности тогда?
>кококо, я никогда не работал в крупной компании, >кококо все программы маленькие, только ОС большая, во какая! >кококо ты не описал что делает приложение в 400мб кода (лол) >кококо ты все придумал!
>>934673 >Ядро операционной системы недостаточно "промышленно" и "сложно" ? Никто не говорил что на "не промышленном языке" нельзя написать много/сложно. Но это не делает тот язык пригодным для промки. Будут писаться на расте системные приложения или на другом промышленном системном языке - увидишь как все будет проще и удобней. И главное это будет можно сопровождать, и не будет это выглядеть как многолитный кусок дерьма.
>Какие же такие критерии сложности тогда? Выше описал минимум: >>934196
..................
Я хз что там делает код операционки, скорее всего там какая-то небольшая архитектура и разные вариации для разного железа или что-то подобное. Корпоративное приложение работает с разными БД и хуево-тучей таблиц и размеры их не маленькие. Я уже молчу про всякие кэши и прочие радости архитектуры. И все это шуршит и взаимодействует между собой.
>>934676 >А по делу то есть чего сказать? Весь мой текст мокания го в свою лужу мочи - это все по делу, перечитывай тред (никакого контр аргумента по факту промышленности го так и нет)
>>934669 >Что тут у нас за школьное мышление и непонимание инструментов? Действительно, нахуя ты приперся сюда со своим школьным мышлением и непониманием инструментов и считаешь, что джава везде лучше го?
>>935170 Проблема ГЦ в том что, если ты потянешь за одну ниточку, потянется другая. Можно вообще тянут так что ГЦ станет сравни реалтайм (и это не сложно и такая чепуха есть даже у джавы), но цена процессора будет такая в (сравнение с редкими паузами но по 200мс), что ты просто охуеешь.
Первая проблема: Гоферам даже не дали выбора всучив реалтайм ГЦ. Этот лол, прикиньте чтобы вышла версия джавы в которой жрётся просто на 20% больше проца (в промшленном мире это просто докупить пару сотен железок)
Проблема вторая. У вас в памяти 5 миллиардов сущностей на 90гб, 4,5 из них постоянны и были отработаны в первое время, другие же 10% это неизбежная динамика. Как работает джава? Она проверяет и собирает по большей части только эти 10%.
Как будет работать ГЦ в го? Просто будет бегать по одним и тем же миллиардам объектам (всасывая нереально проц и втыкаясь в несколько минут). И при этом - у гофера нет возможности даже сменить ГЦ.
и меня тут школьником считаю, лол. Скрипто-бляди...
>>935214 Это называется критика - я был бы рад видеть критику в любом другом технологическом треде. А то обмажутся фанством и как гомики лобызают друг друга - фу, противно
>>935196 Ну, втыкаться по несколько минут он не будет энивей, просто в отличие от сборщика с поколениями он на этом 100гб хипе сработает пару миллионов раз со своими 100нс, у явошного сработает разок фуллколект по всей куче и несколько раз по молодому поколению, с ебическими паузами (особенно во время фуллсборки), но отработает все равно быстрее, логично же.
Гау делался для систем с низким откликом (веб), а не максимальной скоростью обработки.
Кстате, если писать супер-пупер конкурентный код, где данные выделяются и быстро дохнут по своим горутинам (это конь в вакууме, но таки есть такой вариант) то гау должен ебсти все гц-языки — там вроде как обещали просто валить такие горутины не сканируя, как в эрленке.
Еще гау от жявы отличает отсутствие жита , миллиарда унаследованных классов с виртуальными функциями, жирной вм и прочего щастья, которое грузит процессор за сборщик — вот и пилят такой гц.
Пишу на пхп чуть больше года, надоело по восемь часов каждый день писать на одном и том же языке, захотелось чего-нибудь быстрого (хотя бы в сравнении с пхп) и со строгой типизацией. Верно ли я выбрал ваш язык? Тяжело ли в изучении?
>>935306 Го духовный наследник ПХП 4, когда не было ООП, так что прикидывай. Строгая статическая типизация в Го довольно условная, а писать на нём ещё скучнее чем на твоей пыхе. Настоятельно рекомендую попробовать что-то другое.
>>935274 Это евангелисты дрессировали так в начале, потом спустили планку до скриптов (так как всякие жабисты, шарписты и крестоносцы начили крепко макать в дермо, создавая отрицательную атмосферу вокруг языка), но раннее надрессированных было уже не остановить, они до сих пор это уебище противопоставляют титанам ИТ индустрии.
Перекатывать этот помойный язык я больше не буду. Хуже по дизайну язык я реально не видел (если делать скидку старым языкам). Лол, я даже javascript и php зауважал.
Но обсирать язык продолжать стоит: для фанбоев - чтобы вас так открыто не имели, а реально улучшали язык. для хейтеров - чтобы завтра утром ваш долбоеб начальник не купился на маркетинговый буллшит и не внедрил это говно.
Открыл хабр по тегу го, чтобы посмотреть что там в мире хомяков свежего твориться. И что вы думаете? Первой же позиции на меня смотрит какой-то еблет с выраженными чертами дауна. При том статья вообще не о нем, а о "архитектуре распределённого хранилища в Dropbox".
Охуенно, вставить еблет гопника-дауна вместо того чтобы нарисовать тематическую картинку для статьи.
>>935850 Это расшифровка доклада уважаемого человека, поэтому и сунули его в начало статьи. А к автору ты доебаться решил потому, что на содержимое пиздеть у тебя еще хуй не отрос? По делу есть что сказать, жалкий обмудок?
>>935850 я щас расплачусь глядя на эту рожу. ведь придумали анонимность - бери, пользуйся. нет, надо к каждому высеру свое ебло лепить и пугать читающих
>>935857 >уважаемого человека Какой язык, такие и уважаемые люди. >поэтому и сунули его в начало статьи. Ага, и фото взяли не с конференции, а блять с какого-то отпуска, с чайками, ппц Хорошо еще не в плавках на пляже (хотя гофер может). > уважаемого человека Лизнул так, что будь здоров. Но только ты не на хабре, тут лизать не надо. >А к автору ты доебаться решил потому Потому что это вин, еблет на фоне моря и чаек, еблет гопника дауна, который прям подчеркивает весь уровень го. Нет бро, это вин
PS он топовый хуй в го? я просто хочу зафорсить этот еблет))
Предыдущий тонет:
https://2ch.hk/pr/res/882625.html
Я хотел было перенести шапку, но выбрал go-way стиль и ничего не написал, в общем ненужно (могу на эту тему статью написать и обосновать почему не нужно, так что хейтеры лесом идут, а фанбои продолжают любить).