Это копия, сохраненная 26 апреля 2017 года.
Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее
Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.
Предыдущий тонет:
https://2ch.hk/pr/res/882625.html (М)
Я хотел было перенести шапку, но выбрал go-way стиль и ничего не написал, в общем ненужно (могу на эту тему статью написать и обосновать почему не нужно, так что хейтеры лесом идут, а фанбои продолжают любить).
Что это за язык?
Компилируемый многопоточный язык программирования, разработанный компанией Google
Какие у него сильные стороны?
Быстрая компиляция, простота, богатая стандартная библиотека, псевдоуниверсальность, кросскомпиляция.
Какие у него слабые стороны?
Еще развивается (хотя внушительными темпами, смотрите ниже раздел "Перспективы"). Малое количество вакансий, отсутствие такого количества готовых решений, который имеют языки с более долгой историей.
В основном сейчас знания языка приветствуется (особенно для коллег с питона).
На какие языки он похож?
C, PHP, JS
Какая у него основная сфера применения?
Бюджетный веб (так как не жрет ресурсы как скрипты или джава), девопс-утилитки и прочие мидлевел сетевые утилитки.
Производительность
https://benchmarksgame.alioth.debian.org/u64q/go.html
https://www.techempower.com/benchmarks/#section=data-r12&hw=peak&test=db
https://www.techempower.com/benchmarks/#section=data-r12&hw=peak&test=plaintext
Перспективы
http://www.tiobe.com/tiobe-index/
https://www.google.ru/trends/explore?q=golang
Число репозиториев с не менее 1000 звезд (колонка "Languages")
https://github.com/search?utf8=✓&q=stars:>1000&type=Repositories&ref=searchresults
Полезное
Для начинающих (годный и развернутый список)
https://goo.gl/NfNfZg
Мануал веба на го с погружением в язык
https://github.com/astaxie/build-web-application-with-golang/blob/master/ru/preface.md
Го в примерах
https://gobyexample.ru/
Ищем пакеты:
https://godoc.org/
Сторонние го либы
https://github.com/golang/go/wiki/Projects
Кто уже юзает го
https://github.com/golang/go/wiki/GoUsers
Видосы (есть на русском, если полистать)
http://4gophers.ru/video
Что это за язык?
Компилируемый многопоточный язык программирования, разработанный компанией Google
Какие у него сильные стороны?
Быстрая компиляция, простота, богатая стандартная библиотека, псевдоуниверсальность, кросскомпиляция.
Какие у него слабые стороны?
Еще развивается (хотя внушительными темпами, смотрите ниже раздел "Перспективы"). Малое количество вакансий, отсутствие такого количества готовых решений, который имеют языки с более долгой историей.
В основном сейчас знания языка приветствуется (особенно для коллег с питона).
На какие языки он похож?
C, PHP, JS
Какая у него основная сфера применения?
Бюджетный веб (так как не жрет ресурсы как скрипты или джава), девопс-утилитки и прочие мидлевел сетевые утилитки.
Производительность
https://benchmarksgame.alioth.debian.org/u64q/go.html
https://www.techempower.com/benchmarks/#section=data-r12&hw=peak&test=db
https://www.techempower.com/benchmarks/#section=data-r12&hw=peak&test=plaintext
Перспективы
http://www.tiobe.com/tiobe-index/
https://www.google.ru/trends/explore?q=golang
Число репозиториев с не менее 1000 звезд (колонка "Languages")
https://github.com/search?utf8=✓&q=stars:>1000&type=Repositories&ref=searchresults
Полезное
Для начинающих (годный и развернутый список)
https://goo.gl/NfNfZg
Мануал веба на го с погружением в язык
https://github.com/astaxie/build-web-application-with-golang/blob/master/ru/preface.md
Го в примерах
https://gobyexample.ru/
Ищем пакеты:
https://godoc.org/
Сторонние го либы
https://github.com/golang/go/wiki/Projects
Кто уже юзает го
https://github.com/golang/go/wiki/GoUsers
Видосы (есть на русском, если полистать)
http://4gophers.ru/video
да, только в заголовке обосрался
GoLang #5 GO-WAY DESIGN EDITION
ну у пайка тоже не все идеально получилось, так что простят думаю
Не та шапка.
это я тебе как ОП первого треда говорю, я проникся Го и понял, что никакие шапки не нужны
дабл не врет, мы принимаем тебя ОП
тут их как минимум троя, я тоже на жабе пишу, для хоум проектов котлин лабызаю (реже питюню)
Сначала пожри говна и заботай матчасть. Чтобы пользоваться механизмом cgroups достаточно уметь хуячить mkdir, echo, cat, cp в консоле, блять.
Ось пишут, но медленно, у чувака тупо времени на это нет. Но хеловорд в кернелмоде на гитхабе лежит, а лисп вот https://github.com/janne/go-lisp
два
не, там такая хипстота что жуть, за год переломают все в миноре в том числе и в либах
Для веба раст? Мне не настолько скучно
Вкратце:
Потому что это гибкий и современный инструмент. В го тебе предлагают писать всё руками (как в 80-х, причём ещё и с конкретными архитектурными обосрамсами вроде и портов напрямую с мастербранча гитхаба или текстовой кодогенерации) и считают что им лучше видно что же тебе нужно.
А то, что в официальной ирке и гуглгруппе банят за упоминание генеририков как бы намекает.
как там илюша?
оки, спасибо
стар рок звездой
а что для веба взять в котлине, если вкурсе (ну чтобы эмбэдед и не EE)?
хоть луркоебы те еще обсосы, но хороший тред
https://www.linux.org.ru/forum/web-development/12891791#comment-12891900
По индексу TIOBE Го занимает 16 место по популярности, Kotlin не попал в 50 первых. Сам можешь прикинуть популярность
По этому индексу ассемблер с визуалбейсиком растут быстрее, чем свифт, го до сих пор даже близко не подошёл к перлу, да что там, к дэльфи. Шарп с вб просто на несколько позиций выше жс-а, а фортран с коболом с утра на скалу и эрланг. Все что нужно знать об этом высере.
Для этого индекса это и значит растут быстрее (там стрелочки есть для тупых).
Visual Basic .NET +0.91%
Лол, они там случайно цифры крутят))
Уноси эту хуйню в свой парашник к своим сусликам
это да, точный запрос, чтобы учесть только го язык не создашь
>>901538
лол, а ведь 6 июля вышли покемоны го, может это они на статистику повлияли.
но в реале там нет тематических слов (поиск не подставляет контекст программирования)
я сначала подумал "скачать go" (300к запросов) - но судя по контексту речь про какое-то приложение на андройде и прочие приложения (покемоны, контра...)
>лол, а ведь 6 июля вышли покемоны го, может это они на статистику повлияли.
судя по тому как там скачет рандомно статистика, возможно, но нет отскока
ну конечно же)
Ну это такое уже. Лучше было бы в моменте где пахом срёт вместо кусков говна несколько маленьких сусликов изобразить.
ну я это к тому что епианцев был бы простым гофером то не реагировал бы так резко, а так больше похоже что манагер принёс гоуна(хз мб мои проекции, лол)
В чем соль зеленого слоника? Не смотрел ни разу, но видел много пикч из этой хуиты.
Лучше не вскрывать эту тему.
я бы рассказал, но это не спойлерабильное кино. его только смотреть надо. потом мб тоже всем советовать будешь
но суть гоу он передаёт точно
for rows.Next() {
err = rows.Scan(&1, &2, &3, &4, &5, &6)
if err != nil {
panic(err)
}
c.HTML(200, "index.html", gin.H{
"1": 1,
"2": 2,
"3": 3,
"4": 4,
"5": 5,
"6": 6,
})
http://pastebin.com/sVn6CEkv
кажись, функции надо писать с большой буквы
Хочу сделать эту задачу на Golang, предварительно изучив его.
Стоит свеч?
мимо C++ джун с двухлетним опытом %%ну не школьник, серьезно. Я не виноват, что ебанутое руководство не разрешает нихуя кроме веба проталкивать на дипломные, я бы не страдал хуйней
>Стоит свеч?
Смотря нахуя оно тебе надо. Судя по тому что ты написал — бери спокойно скриптопарашу и делай хуякхуяк за день.
>Я не виноват, что ебанутое руководство не разрешает нихуя кроме веба проталкивать на дипломные
Что значит не разрешает? Берёшь и пишешь на любую интересную тему, в рот ебя руководство. Они кто вообще чтобы запрещать темы на дипломные работы, ьлять?
Не там спрашиваешь ответы. Здесь никто не пишет на го, только хейтить приходят.
Стоит тебя сразу поправить: он не поливает говно говном (простите за тавтологию), он пишет про ебучих сектантов и единого народного вождя.
Смотря что ты хочешь сделать. Но небольшой сервер написать на Го вполне легко, примеров много, язык несложный для изучения
Тут в реале все просто:
Берем ужасный по дизайну язык, с отсутствием элементарных вещей, которые уже как лет 20 упрощают людям жизнь с бойлерплейтом.
Берем агрессивный маркетинг ("либо согласен, либо иди нахуй") приправленный авторитетами.
И получаем маргинальное комьюнити.
Почему так выходит?
Все просто, посев происходит так:
Нормальный программист сразу видя что есть - обходит стороной это чудо.
Другая группа, кто повелся (но все еще программистов) - пытается проникнуться в "это" и либо отваливается, понимая что его откровенно наебали, либо примеряется с проблемами и переходит в касту терпил вида "ну да, есть проблемы, но писать можно" (спрашивается зачем есть кактус), или же пытается выйти на комьюнити, натыкаясь на догматическое непробиваемое мышление уходит и тоже.
И кто же остается в таком случае? Правильно, самые ебануты и маргинальные, которые кооперируются и множат свой успех.
В узких кругах, уже устоялось нарицательное имя "гофер - значит долбаеб", хотя я тут не согласен, как говорил есть пизданутые сектанты, а есть еще более менее люди с критическим мышлением, которые зачем-то едят этот кактус (из серии, что есть проблемы, но писать можно)
это из серии - что будет, если применить агрессивный маркетинг на плохом продукте. Лучше они так дарт бы раскручивали в свое время.
Различия уровня нацистской диктатуры от фашистской диктатуры. Съеби в свой загон, максималист мамкин.
ты о каком сорте коммунизма говоришь? времён НЭПа или сталинский военный коммунизм? или вообще про шугейз квартет хипстеров кварла/маркса/фридриха/энгельза?
>не разбирается в сортах говна гребя под одну гребёнку любой вождизм
>называет кого-то максималистами
лол, да ты походу и на гоу кодить умеешь?
При чём тут любой вождизм поехавшее животное?
>>903390
Я говорю про один, черты которого были во всех (или мб не во всех, я про остальных хипстокоммунистов нихуя не знаю) — это как когда ты говоришь ООП, что ты имеешь в виду? Что имел в виду Кей? Страуструп (или откуда слизал там из симул/алголов)? Что сейчас делают в языках типа раста с говном?
хуль ты такой агрессивный, в организме переизбыток гоувна?
ООП - это прежде всего принципы которые следует соблюдать при композиции/декомпозиции, а не то что завезли классы в язык или нет. то что их не знают или не понимают 95% макак - это уже другой разговор
Верно подмечено. Лично мне кажется что это в google такая политика, все эти их ангуляры с дартами и говнами, выглядят как тест на интеллект с рикролом вместо ответов. Ты видишь XY - AB - BY - ??
А правильный ответ оказывается потом ХYЙ.
У людей с критическим мышлением это вызывает когнитивный диссонанс и они выкатываются, остаются только гаплоидные трутни.
>все эти их ангуляры с дартами и говнами, выглядят как тест на интеллект с рикролом вместо ответов
Я бы еще Полимер сюда включил
> Берем ужасный по дизайну язык, с отсутствием элементарных вещей, которые уже как лет 20 упрощают людям жизнь с бойлерплейтом.
> Берем агрессивный маркетинг ("либо согласен, либо иди нахуй") приправленный авторитетами.
> И получаем маргинальное комьюнити.
И называем джавой.
Да я не сомневаюсь, что то пишут, тоже самое я читал во всех других соц местах и бложиках. Просто это как если бы я приходил в каждый, например, пхп тред и хуесосил их скриптопарашу без устали. Поэтому создаётся впечатление, что го лично каждому жизнь подпортил итт, как будто бы вас заставляют на галере смузи хлебать и на го писать.
Вкатывальщики просто не могут осилить простой язык. Это как столлман например от ооп бугуртит, так и джавамакаки от гоу.
На оба твоих вопроса один ответ: да.
>>903471
Дык она-то вышла еще до первого стандарта плюсов, на момент выхода не плохо (хотя весьма многословно по сравнению со всякими APL), а сейчас имеет десятки языков совместимых с собой.
>>903399
Вот именно, что как коммунизм это всего лишь абстрактная идея. Но из-за того, что один грузин перестрелял половину СНГ он не перестает быть коммунистическим деятелем, как и Пайк может говорить сколько угодно что его творение более чем ОО несмотря на то, что композицию тут составить средств как в си.
>Какие у него сильные стороны?
Легкие потоки, каналы, как средство синхронизации.
>Какие у него слабые стороны?
Нет шаблонов, нет средств ФП, планировщик не вытесняющий, embedding и возможность неявно "перегрузить" методы, которая все запутывает, навязывание стиля написания кода.
Это который не может прервать выполнение задачи, пока она не закончится или сама не отдаст управление - в го для этих целей используется ожидание ответа от канала и что-то еще. На деле получается, что один ресурсоемкий процесс целиком заблокирует очередь задач одного планировщика.
наверное тот анон имел ввиду что там из коробки не как в экланге, где овер 9000 числодробилок будут работать одновременно, но медленно, а в гоу только по одной горутине на ядро процессора. правда есть костыль, когда изнутри горутины её можно остановит и вернуть управление планировщику, а потом она продолжит выполняться с того же места
> навязывание стиля написания кода
Это скорее положительный момент, когда каждый затупок форматит как хочет, получается месс как кресты.
К минусам го же можно добавить ебанутую систему обработки ошибок: взяли сишную систему прямиком из 70х и прикрутили к ней автоматический возврат errno, оставив проверку 1) необязательной 2) повсеместной, так что весь код либо забит if err != null {}, либо игнорит ошибки.
>Это скорее положительный момент
мб, но всё нужно в меру, нехуй менять пробелы на табы, это уже пиздец
Табы вместо пробелов это пиздец, да.
Насколько я понимаю горутина это просто функция, разве можно запущенную функцию прервать вне самой функции?
>>903511
>9000 числодробилок будут работать одновременно
Как они будут работать одновременно? Процессор же выполняет одну задачу в одну единицу времени, с горутинами так же получается, не?
Спасибо за ответы, ребята.
ну конкурентно, не параллельно, да. но я и не про отдельный момент времени говорил
> Насколько я понимаю горутина это просто функция, разве можно запущенную функцию прервать вне самой функции?
в смысле? в гоу или вообще? горутина больше похожа на генератор, чем на простую функцию, т.к. при локах останавливается
> разве можно запущенную функцию прервать вне самой функции?
Процесс в ОС это тоже просто функция, что не мешает ядру его прерывать регулярно. Но в го шедуллер не вытесняющий, значит прервать горутину можно только в заранее предусмотренных точках, в основном на асинхронных вызовах.
Я ведь правильно понимаю, что ушедшая в бесконечный цикл горутина никогда не отдаст ядро остальным?
У людей бомбит писать тону бойлерплейта, потому что сусликам откровенно скормили говно и запретили критиковать и обсуждать язык.
Так как в ИТ мире программиста развести проще чем блондинку на айфон, то у людей появляется естественная защитная реакция на хайп.
Это равносильно как взять кусор реального говна и пытаться его на рынке продать как чудо-мазь (ту же реакцию увидишь).
>"перегрузить" методы
просто добавь пуковку f в конце, или S в начале (а лучше сразу и ту и ту букву, чтобы читаемость улучшилась), просто ставь буковки на каждый тип, почувствуй себя программистом семидесятых.
>Это скорее положительный момент, когда каждый затупок форматит как хочет, получается месс как кресты.
Хуйня, должно быть не навязанное мнение, а стиль полученный опытным путем.
Меня крайне раздражает бойлейпрейт с обработкой ошибок, я бы хотел так
res, err = someFunc()
if err != nil { return nil}
или даже в одной строке, чтобы код не выглядел мусором
res, err = someFunc(); if err != nil { return nil}
но анальное стиль, не позволяет мне уменьшить говно-кода, и на 5 строк вызова у меня 15 строк одного и того же
if err != nil {
return nil
}
Самое противное в том, что ошибки случаются не только в бизнес логике (в которой ты может и обработал все), а на любом уровне вложенности из-за того что автор какой-то библиотеки забыл/провафлил такое.
С эксепшенами суть в том, что хочешь или нет так или иначе поймаешь и обработаешь.
Откуда мне знать что для тебя-то интересно?
Можешь там нейросеть на пхп написать, интернет магазин на асме, сравнить гау с рустом (илюша пару курсачей такого вида уже написал за тебя, лол), исследовать работу гошного гц с красивыми графиками (и про стек не забыть), написать какой нибудь йоба-анализатор го-внокода с какой нибудь супер необычной грамматикой (придумав какие нибудь плюсы и что он делает), запилить гау на ллвм или жвм (или вообще свой язык) или сделать свою йобу с генериками компилирующуюся в го, еще есть варианты научить какую нибудь йобу вроде докера заставить работать на какой нибудь ардуине (автобус_из_хлеба.жпг) или написать как гау помогает распаралеливать какие нибудь криптоалгоритмы (на самом деле вообще нет, но высосать из пальца можно), или про какой нибудь хайповый IoT (близко к буханкежпг, но ирл вполне практично).
Так что, выковырять из жопы подобную тему так сложно?
тонка типа у гаферов нет моска как они могут думать
О, я понял. Это короче тоже самое, как ходить и всем кричать "Макбуки - говно, не покупайте макбуки"
интересно, это джавист или пхпшник такой поехавший?
>>903461
Привыкай.
>>903472
Вон айфоны тоже хейтят иногда те, кто ими не пользовался.
Макбуки - к сожалению единственные качественные ноутбуки на рынке которые не будут на ровном месте гудеть, грется, у которых ничего не люфтит и батарейка живет больщше получаса не превращая его в тыкву - гау же это хуитка уровня асера, который вроде и дешевый, и даже быстрее по характеристикам - но люфтит как тварь, имеет говно вместо корпуса, экрана и тачпада, издает треск при нагрузке и просто всегда держит кулера на 100% попутно убивая батарею (которая у асеров, к слов, любит отваливаться на 3-й день использования, лол).
Ну опять же - айфон любят за то что это качественное и законченное изделие. О го этого Сказать вот вообще нельзя - это такой юниксвей кусок говна, в котором ты все обязан делать сам. Сам знаешь с чем сравнивать.
Но да, макбук про - винрарный лептоп и жаба кровью обливается когда компилишь на нём генту, ибо другого такого нет. ([хотя вроде asus с их zenbook попытались, но я хз)
>то создаётся впечатление что каждый винтик в Apple закручен с расчётом поиметь бабки
Хуя ты секрет раскрыл.
А вообще - этим занимаются все производители аналогичных ноутбуков, так что аксиому придется расширить с 2-х до n и назвать аксиомой Эскобара-Гауна
.
Не совсем так. У яблакаф оверпрайс вызывает стокгольмский синдром у потребителя, а те на фоне этого гребут лопатой бабло по поводу и без. Google не сильно на такое заморачивается и вообще по другому работает.
Может потому что гугл изначально не про то?
>огда компилишь на нём генту
еб твою мать
поехавший
ГНАЧАЛЬНИК ИДИ МАОЕЙ ЕГО ПОД СТРУЮ СУКА БЫСТРО Я ТЕБЯ СЙЕЧАС УБЬЮ НАХУЙ
>мучился с компиляцией генты на мобильном низковольтажном проце
>скейлинг на экране не работает
>сидишь в соснольке 640x320 на 2560 x 1600 мониторе
>драйверов настолько много, что не работают ни тачпад, ни тачбар, ни хуита для отпечатка, ни регулировка яркости экрана/клавиатуры, что говорить о жестах
>каштомная макбуковская клавиатура НИППОДЕРЖИАЕИТСЯ
лол, гугл втайне спас пыху
брейнфак is bicicle в своём минимализме! пруф ми нот, генерализатор
Ебать гений русского языка. Гаферы уже писать разучились походу.
Так же смотрим в комменты. На вычислительных задачах го сосёт у жабки и луажита, приближаясь по производительности к жабаскрипту. Такой вот фаст энд иффишыент натив коде канпеляшион.
Гаферы на каждом шагу прогандонируют что у них самый ко-ко-ко быстрый говнокод — а потом раз — и он отсасывает у интерпритируемой параши, лел.
"С Go чуда не будет -- язык откровенно делался плохим (как и С++), поэтому его любят гидроцефалы с лоботомией пишущих лапшу вида if err != nil. Если видете чувака, который рекламиурет Go -- знайте, ебанат, инфа 100%. До существования Go эти люди называли себя системными администраторами (POSIX, KISS, UNIX, Керниган и Ритчи головного мозга), теперь гугл их пересадила из беша в гошечку."
>>906613
По этим тестам всегда можно понять, за какой язык топит автор тестов.
Потому что у него результаты всегда такие:
1)си (ну он всегда первый)
2) язык нэйм, на который дрочит автор
3) все остальные
там оригинал не лучше, парни откровенно стебутся над сусликами
А вообще какое название или лейбл или маскот такой и язык
раст - заржавел или заплесневел еще до момента релиза.
го - маскот дебил, как теперь де-факто его активные пользователи.
пхп - слон - такой же неуклюжий и громоздкий (когда на него джаву насильно натягивают).
пайтон - язык в честь комика, но потом шустро переделанный под змею - и язык такой же наебон, пущенная пыль в глаза с некрасивым замалчиванием реальных проблем.
линукс - пингвин - птица которая не может летать, если для серверной части еще более менее приемлема из-за простоты (проще - меньше глючности), то в качестве десктопа такое же унылое говно как полет пингвина (летает только если пнуть).
руби - рубин, драгоценности - такое же пустозвонное понто-наебательство как украшения.
джава - кофе - великогосподский напиток, пере-напышенных долбаебов, которые решают простые задачи через тонну пафоса. Вроде бы они еще задирают голову, но в то же время понимаю, что кофе, как напиток, уже доступен всем.
обязательно найдется старшеклассник, который подметит что линукс не язык, поэтому сразу напишу этот пост, чтобы заранее опорожниться на него.
там не ласточка вроде, а стриж. Но он пикирует вниз, что показывает на стремление ко дну.
свифт - взлетел шустро вверх, но обжегся об светило (реальность) и тут же стремительно летит ко дну, ибо никому ненужное тоталитарное говно (как и го, но суслики еще не поняли).
Так как это все же тоталитарное говно, его конечно натянут в нужном месте, поэтому язык будет вроде и существовать, но лететь вечно вниз, как сказал анон - вечно-стремящийся-ко-дну.
Си-шарп - решетка, как бы намекает на запертость у одного вендора (хотя школьник завопит тут нам про опенсорс, но видит он эту свободу по прежнему через "решетчатые окна").
С++ - он же кресты, он же кладбище для софта и талантов.
js - настолько бестолочный и безвкусный, что его очень ярко характеризует логотип, где у авторов хватило креатива только на две буквы (тот случай, когда хочется быть полноценным языком и выглядеть как все настоящие программисты, но мозгов не хватает).
С - просто буква, простой, пустой, экономит на всем, даже на своем название
Тебе еще раз скинуть ту ссылку, где гафер сравнивал сборщики, и такой суперахуенный гц в го в который гугл вкладывается уже семь лет и приглашает профи работать над ним (вроде Хадсона) отсосал сочной хуятины у окамловского, который стагнирует уже хуй знает сколько времени и написан французскими студентиками?
Какой-то неряшливый заросший верблюд, символизирующий перещрных людей эпохи начала интернетов. Находится там же где и они.
еще про го, в далеком золотом 2007 был ярко выражен такой термин:
юзеры - юзвери - пушистые - хомяки - лемминги
то есть глупая составляющая ИТ области, что как бы маскот го еще и закрепляет, ибо лемминги тупы, бегают стадом, причем иногда себе во вред (известно как).
врети пидари
...с которым сможет поладить только такой же особенный верблюжонок. С горбом и из школы для особых детей.
Перл - мутированная лошадь, код которого так же ужасен и горбат. Когда-то был мощным инструментом своего времи, но сейчас так же канул в лету и забыт (подобно тем странам азии где верблюд активно использовался)
>С++ - он же кресты, он же кладбище для софта и талантов.
Проиграл.
план9
Окамловский верблюд такой же, как и перловский, только вместо кода у него кривой тулинг. А ещё окамловский верблюд часто изображается полностью запряжённым, но не несущим на себе груз, что символизирует отсутствие стандартной библиотеки.
Для жса. Только вместо морковки нужно хуй сделоть.
>>907669
Ей больше подойдет суровый зековский пердак, крепкий как скала.
лол, глиномес не палится. js давно не то чем принято считать было лет 10-15 назад (принято среди пхп-шников). такие дела
Всё верно, раньше просто перделки делали для сайтиков, даже за язык не считался особо, был где-то на уровне программирования html и excel. Сейчас возведён в культ, а ярое поклонение-главный признак уебана вот уже пару лет как. В целом Го и ЖС достойны друг-друга.
А я что-то проникся. Сел тут, сделал на нём пары, потом списки, потом паттерн-матчинг, потом добавил wildcard паттерны, потом биндинг значений, потом сделал алгебраические типы и паттерн-матчинг по битовым полям как в эрланге (на самом деле, я не знаю, как там в эрланге). И даже синтаксис относительно няшный получился. Кажется, что язык не такой уж и плохой. Исполнение, конечно, не очень, но в целом не так уж и плохо.
Мне анальной клоунады с типами и NaN/undefined/null достаточно, чтобы это поделиё за нормальный язык не считать.
Про самое вкусное вроде [] != [], [] == 0, 0 == '\t' и 0 == '0' совсем забыл.
языку всего то нужен вебассемблер, чтобы к хуям этого говно выкинуть и забыть
>>908033
это детские болезни, которые не встречаются в продакшене в наши дни. для NaN есть глобальный isNaN, а нестрого равен null (undefined == null) - всё остальное, вот эти вот ваши [] != [], [] == 0, 0 == '\t' и 0 == '0 - это эзотерика и за такое нахуй палец отрезают. короч не аргумент. к тому же есть кошерный typescript. но да, согласен что webassembler придёт - порядок наведёт
>а нестрого равен null (undefined == null)
> а undefined нестрого равен null (undefined == null) -
> 2017 год
> дебики так и не научились пользоваться эквивалентностью в жс
> things nevar changes
>[] != []
Создал два разных массива и удивляется, что они не являются одним и тем же объктом.
>[] == 0
Привел пустой массив к числу и удивляется, что она равен нулю.
>0 == '\t'
Привел пустую строку к числу и удивляется, что она равна нулю.
>0 == '0'
Привел строку 0 к числу, и удивляется, что она равна нулю
Найс, дебил.
у гоферов и взаправду интеллект уровня табуретки?
Иди нахуй.
В жабе есть похожая структура, arraylist.
Корчит из себя динамический массив, на деле являясь статическим.
При заполнении на 2/3 от текущей емкости, создает новый массив вдвое больше старого, переписывает данные, и подменяет ссылку.
Снаружи все выглядит чики-пики, а под капотом тормоза с копированием памяти.
Зделоли так для того, чтобы можно было создать массив неизвестной длины.
Длина не всегда известна заранее, да почти никогда она не известна.
Ну а старую память не переиспользуют, я так подозреваю, чтобы не ебстись с фрагментацией.
Все просто: хер знает какие там после массива данные лежат, если просто указатель на конец двигать, можно залезть за пределы пустого сегмента памяти, и запороть и массив, и чью-то память.
Отследить эту ситуацию очень тяжело, добиться ожидаемого поведения в 100% случаях гарантированно нельзя, да и куча лишней логики чтоб все учесть и проверить.
По скорости все это явно медленнее простого копирования, а по надежности гораздо хуже.
А выделение памяти фиксированного размера всегда, гарантированно, отдает пустой сегмент, где нельзя никого запороть.
А уж где этот сегмент лежит - никого не волнует. Даже длинный доступ в память, в обход всех кэшей, намного дешевле той доп.логики.
Дай ссылку на либу штоле. Пользоваться я этим, конечно же не буду (проще скомпилироваться в жс из языка с нативным паттернматчингом), но ознакомиться интересно
я это к чему спрашиваю.
выходит лучше не создавать долгоживущие ссылки на срезы, так как в какой-то момент две такие ссылки начинают ссылаться на разную память?
Не хочется просто так вылаживать, потому что, например, там есть одна функция, которая выглядит немного странно, и надо бы объяснить, почему она так выглядит. Я думал статью об этом написать, но у меня нет блога (и лень).
Так-то оно довольно просто устроено - всё есть функция. Сначала делаешь пары:
var pair = function ( a, b ) { return function ( f ) { return f( a, b ); }; };
Потом функции для получения первого и второго элементов, потом думаешь, как можно пары сравнить (тут, по-моему, есть только один способ), и из этого всё остальное уже вытекает.
>проще скомпилироваться в жс из языка с нативным паттернматчингом
Я сначала хотел сахарок поверх этого написать, но потом тоже подумал, что - тут вся писечка именно в том, что это чистый жс. Хотя у меня получилось чуть гибче, потому что можно, например, сделать match( smth, [ [ JSON.parse( v ), () => ... ] ] ) - язык-то динамический и без контроля типов.
да не гони, трипл, скинь мне на 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 и можно делать так:
result.match({
Ok: payload => doSmth(payload),
Err: err => doSmthWithErr(err),
_: () => doNothing()
})
http://pastebin.com/UsW8UM9S
> пожри говна и заботай матчасть
Какой агрессивный хейтерок. Не нравится - пиздуй в свой уютный тред и дрочи на свой любимый язык там.
Докер это давно не обертка над cgroups, так что сам матчасть ботай, перед тем как высерать тут свое дохуя ценное мнение.
Почему в консольке криво отображаются столбцы? Почему в пятом столбце только одна строка?
ути-пути какой ты беспомощный. сам в своём коде разобраться не можешь. наверно даже не пытался на бумажке пару итераций проверить. сразу за советом бежишь. остаток от деления нуля на пять чему равен?
>>911827
Это что, получается гоферы и правда дебилы?
То есть в медицинском смысле умственно отсталые. Я-то думал это преувеличение, но нет.
Напрасно.
https://moikrug.ru/vacancies/1000031083?utm_source=tm_habrahabr&utm_medium=tm_block&utm_campaign=tm_promo_B
>Требуется GO разработчик для разработки модулей к интернет магазину.
>В состав команды, разрабатывающей магазин.
>Магазин самописный, написан нами.
Добро пожаловать в мир пхп 10 лет назад.
лол, а ведь всё верно. пхп-макак пишущих с открытой вкладкой stdlib пыхи и макаки которые могут в ларавель/йии2, это ширпотреб макаки и элитные макаки стоящие раз 5-10 дороже.
тоесть я хотел сказать что средствами пыхи, реализовывать то что нужно в наши дни - могут только дорогие макакусы. дешовые макакусы уже прострелят все четыре лапы на асинхронных вызовах. гоферы ценны тем что они эталонные дешовые макакусы, но при этом они не мнят себя бывалыми мудрецами, как это бывает у пыхарей со стажем >2 лет, а сам язык не даёт им шанса стрелять по ногам/лапам
https://www.fl.ru/projects/2908966/trebuetsya-programmist-php--symfony.html А ведь ты прав, его же вакансия на пхп макаку.
Анон, вкатываюсь в язык 2-й день, что в этом коде http://pastebin.com/Si9vnyMN может быть не так? функция msg ничего не делает (похоже, просто виснет и всё)
gplang playgroung гугли
Старый тред здох, дятел.
Да не, это ты контуженный, пидораха стекломойная, бббггеее. Много в детстве хуем по голове в школе стукали тебя, чмошника тупорылого, лол. Писать не умеешь, а в гавнакодинг лезешь. В дворники пиздуй. Или книжки читай, начти с литры за пятый класс и сочинения, дегрод ты боярышниковый.
Есть несколько типов структур. Хочу сортировать массивы этих структур по разным ключам. Есть ли какой-нибудь адекватный способ это сделать, кроме как для каждого типа структуры запиливать свой By (как в примере https://golang.org/pkg/sort/ SortKeys)?
>Есть несколько типов структур.
сложна штоле дженерик по трейту написать?
>Есть ли какой-нибудь адекватный способ это сделать,
написать итератор? шо ты хочешь, можешь на пальцах пояснить?
>дженерик по трейту
Кто все эти люди? В го же нет этого всего.
>шо ты хочешь
Есть несколько типов структур, пусть это какие-нибудь Struct1, Struct2, ... StructN. Есть массивы этих структур, пусть
type Array1 []Struct1 и т.д.
Допустим, я хочу уметь сортировать эти массивы по разным полям соответствующих структур и вообще различным критериям.
В примере по ссылке https://golang.org/pkg/sort/ в разделе Example (SortKeys) приведён пример кастомной сортировки массива структур по ключу. Проблема в том, что в том примере функция By принимает на вход не две каких-то абстрактных структуры, а вполне конкретных типов. Соответственно, если следовать этому примеру, нужно для каждого типа писать свой кастомный By, а это выливайется в тонны болйерплейта, т.е. говнокода.
Вопрос: как реализовать сортировку массива кастомных структур по кастомным критериям, не прибегая к копипасту и засиранию кода?
Если очень кратко то:
хочу делать сортировку как в питоне
sorted_array = sorted(my_array, key=lambda x: ....)
Как запилить такое в го?
пишешь макрос, а в нём в дженерике паттерн матчинг ебашишь, хули не ясно погодь, а ты в курсе про флаги --no-gopher флаг компиляции?
С каких пор попытка воспользоваться инструментом по назначению считается зашкваром?
Какую-то странную задачу перед собой ты поставил.
То есть ты хочешь сортировать непонятно что (неизвестную структуру) по непонятным критериям ?
какой такой зашквар? гоу хорошая замена нодеjs, например. никакого зашквара. но понимание как включить глубокую компиляцию - это порог вхождения. или ты реально хочешь на каждом ядре гоу машину?
>>Тайпклассы
>Это как? Можно пример?
Пфф. См. пикрекл
>Соответственно, если следовать этому примеру, нужно для каждого типа писать свой кастомный By, а это выливайется в тонны болйерплейта, т.е. говнокода.
>Вопрос: как реализовать сортировку массива кастомных структур по кастомным критериям, не прибегая к копипасту и засиранию кода?
Никак. Пайк терпел, и вам велел. В любом случае (и в любом языке) нужно определить компаратор, вопрос только в количестве бойлерплейта.
Картинка отвалилась
>неизвестную структуру
Известную
>по непонятным критериям
По понятным, но по разным в разные моменты времени.
Это как куча листов в экселе с разными таблицами, которые ты сортируешь то по одному столбцу, то по другому.
>>920607
>нужно определить компаратор
Само собой, только вот хотелось бы, чтобы только его (Less) и нужно было определять.
>Само собой, только вот хотелось бы, чтобы только его (Less) и нужно было определять.
Надо реализовывать еще Len и Swap
Или использовать стороннюю библиотеку https://godoc.org/github.com/bradfitz/slice
хотел сделать нечто типа:
app.MyService
app.DB
...
Но если обратиться в сервисе к "app." софтина ругается на цикличный импорт. Как гоферы хранят сервисы (вероятно есть свой Spring)?
> где хранить сервисы?
Шта
Разделяй весь функционал по пакетам, если ты о переиспользовании кода. Какой-нибудь утиль в базовую поставку, модели для базы, если есть, в еще один и так далее.
Все должно быть независимо.
Делать разные проекты и трахаться налаживая связь меж ними простынями кода.
Гау — это язык от быдлокодеров и для. Буквально — он сделан чтобы писать не думая и сделан так же, привыкай.
>Most used words in go files
>err - 17,5+ лямов
>if - ~16 лямов
>nil - 13+ лямов
и при этом func - 6 лямов, type - 3 ляма. Т.е., на 1 функцию и 1 структуру приходится 3 и 6 "if err != nil" и соответственно. Кто-то что-то там говорил "обработка ошибок нинужна"?
Где receive из канала?
А не похуй на мнение местных лузеров? Ешь, может понравится. Я и сам с радостью поливаю гошечку, но в последнее время встречаю столько полезных приложений и библиотек, что встаёт выбор об использовании.
Вчера вот за 5 минут нагуглил как кросскомпилировать одну демку. Деплой тоже приятный.
Вместо деб-пакетов предлагают качать васянские бинари и самостоятельно обмазывать их супервизорами для работы в качестве сервисов. Деплой, ага.
В пизду такой деплой, я лучше скриптоты наверну.
Ну у нас то даже приложения на жабке обмазываются дебами. Ничто не мешает то же для го делать.
Я за деплой с восторгом писал лишь потому, что рантайм не пришлось тащить, во время тестирования - собрал на маке, запулил на сервер с линуксом - всё работает. Счастье.
Вот я это имею в виду, злоупотребления - "а, нах пакетировать, все равно и так все переносится"
>фреймворк
>гау
Ты не туда попал. А вообще — в гугле/гитхабе ищещь, смотришь где больше звездочек и контрибутеров, есть ли нужный апи и пр и тащищь библиотеку.
> где хранить сервисы?
> Шта
как все же легко отделить программистов от скрипт киди, которые играются с языком
писаки хттп сервисов, а потом nginx натягивают поверх джавы или го.
там же есть дефолтный ублюдочный, нахера свой хттп писать то
>а потом nginx натягивают поверх джавы или го
а если у тебя сервант не из одной джавы или гоу? если есть ещё куча всего и это надо как-то разруливать? вот здесь и нужен нжнкс
а тот анон либо тонко троллил, либо действительно не знал что путь говн - это велосипеды поверх stdlib только хардкор!
Недавно видел где-то на хабре упоминание каких-то тайп-алиасов. Таки дженерики добавили, или только до typedef'ов дошли?
Недавно на Хабре была статья от одного из разработчиков Го о дальнейших планах. Там сказано, что дженерики может и добавят, но есть дела и поважнее.
Самый охуенный, как по мне. Минимальный и простой. Все апи для своих жс апчиков на нём кручу.
В голос надеюсь?
да, фикс
>>929344
а где на "name" проверка? Или уже стало модно иногда, рандомно, забивать на "err != nil"?
блять
Я думаю уже в курсе, но пока все делают вид, что всё хорошо и правильно и так и должно быть. Через год начнутся разгромные статьи, как они попробовали, обосрались и всё переписали.
Объясните, почему, реально ПОЧЕМУ, имея такой потенциал в маркетинге, такой потенциал глупых айтишников, которые утраивают сарафанное радио о продуктах гугла - они не сделали реально качественный продукт, на основе проблем и успехов существующих топовых языков?
Такое ощущение, что внутри компании все бояться сказать открыто, мол этот продукт дерьмо и что насильственный маркетинг смог собрать только оголтелых фанатиков.
Но нет же, бедную сову всё натягивают на глобус.
Имея рынок андроида, они могли легко и свежо запилить смесь джавы с сишарпом (как однажды сделали МС, но просрали все, забив на кроссплатформенность), обмазать всяким синтаксисом из котлинов, скал, груви, свифтов и прочего сахара - и весь мир с радостью сел бы на это чудо.
Но нет же, мы будем тратить усилия, чтобы убедить вас, что это говно съедобно.
Го - самый печальный проект
Знакомый говорит, что go это ребенок даун, уродец от которого не отказались в свое время при рождении. И вот сейчас, на фоне гуманности и любви, невзирая на реальность пытаются найти ему место под солнцем.
ИТТ фулстэк веб-гамадрил. Короче в современных реалиях никому нахуй не нужны выёбистые кодеры говна. Получилось как, в период роста ИТ - самые шустрые сразу начали колбасить и педалить. Теперь крупные корпорации вынуждены хантить их друг у друга. Но вот только гугл не пальцем деланные, посмотрели в завтрашний день, когда потолок близко уже. И вот тогда родилась идея сделать ход конём - демпингнуть рынок макаками. А для этого нужен был лишь инструмент способный решать основные задачи, но при этом такой инструмент что бы от него у дорогих макак рвало жопу и они укатывались обратно в свои ЯО. Гоферы - это массовое явление, ибо задумывались такими, взаимозаменяемыми и дешевыми. Посмотри на Angular - там та же песня, только решили пугать не примитивизмом как в Go, а наоборот навернуть лишнего говна по велению левой пятки. И теперь ангулярщики самые массовые и востребованные.
Есть такая же телега про Rust, мол крестоёбы слишком уж дороги и их всё меньше, а код писать нужно, код сам не напишется, вот и решили сделать BDSM компилятор, что бы можно было больше макак нанимать
>слишком уж дороги и их всё меньше
На каждом заводе и из каждого университетика за 30к.
Собственно, этот язык в отличие от говна делали нарочито сложным на основе всякой академической хуиты вроде ATS, Clean и OCaml — индустрия тупеет, и ей нужны языки вроде го. Собственно все проекты на нем начатые сейчас потом будут переписываться на си/новый байтойобский языкнейм как гау который будет простой и тупой как палка.
>это массовое явление, ибо задумывались такими, взаимозаменяемыми и дешевыми
Это естественное явление, больше работы —> нужно больше лоуквалификейтед шита (не всем же аспиранутру проходить), и такая тенденция началась еще с появления жявы в конце прошлого века. Собственно, это абсолютно логичное завершение экономического мыльного пузыря сформированного вокруг программирования.
> завершение экономического мыльного пузыря сформированного вокруг программирования
Ну собственно про это я и имел в виду когда говорил о "потолке".
> Собственно, этот язык в отличие от говна делали нарочито сложным
Не очень. Не сравнится с теми же крестами. У Rust аудитория в основном из выходцев из скриптопараши. Надрочи их писать код который скомпилится и всё. Даже IDE не надо, лол.
Хуйня-теория, есть тут всякие php-сms-ники, до сих пор на пыхе можно без каких либо костылей (библиотек и фреймворков) навернуть на одной странице скрипт, который жанглируя одним лишь массивом сделает то, что джава макаки (или другом языке) будут ебаться днями.
Я серьезно, даже ORM нахер не нужен, получил массив работай
$hui['moi_hui']['razmerchik'];
А что еще нужно для CRUD веба?? Мы потом так же все в кашу кидаем для вьюхи (view).
Так что не катит, некатит еще по тому как ебутся макаки с JSON преобразованиями. Для статически-типизированного языка JSON гвоздь в жопе.
Для того же пхп или js - там все уже готова.
Так же теория рассыпается об опыт, пример, когда нанимали программистов и переучивали на php, так как галеры не могли найти годных программистов на этом языке.
Количество не значит качество.
Язык пихнули и явно хотели пропихнуть как замену промышленных языков таких как джава, шарпей. А в реалиях получилась успешная замена для Си для 1978 года.
Возьми старых пердунов, которые не кодят реальные продукт - тебе сделают лучший продукт семедисятых годов - то есть Го.
Возьми моднявых хиптеров не имеющи багаж знаний - тебе сделают node.js или rust
Кресты никогда и не делались сложными и там никогда не было ничего академического. Там проблема в том, что они развивались по типу "бля, страуструпа, а запили ка ты модный ХХХ".
Если бы макаки дрессировались подобным образом — все бы писали на идрисах и агдах верифицируемый код, а не шлепали полудинамический код на жаве, которые каким-то образом умудряются течь. Поэтому текущий стейтмент раста — модная хуита которая сдохнет.
Тем более, рано или поздно наращивать мощность процессоров станет дальше некуда (а это обещают в ближайшие 5 лет) и начнут шлепать процессоры с фичами для риалтаймового сборщика и прочего (как у азула) — байтойобские языки умрут уже совсем.
> Кресты никогда и не делались сложными и там никогда не было ничего академического. Там проблема в том, что они развивались по типу "бля, страуструпа, а запили ка ты модный ХХХ".
Я не об этом, я о том что в итоге получилось. Синтаксис от которого кровь из глаз. Уровень вхождения неебический, а потом ещё нужны годы опыта что бы в ногу себе не стрелять.
>>929792
Пха не предназначена для нормального запиливания сервисов. Там даже асинхронщина через жопу. У JS слишком много подводных камней и родовых травм от которых хочется писать говнокод. Go просто сказали что говнокод - это не баг, а фича.
> Возьми старых пердунов, которые не кодят реальные продукт - тебе сделают лучший продукт семедисятых годов - то есть Го.
В точку!
> Возьми моднявых хиптеров не имеющи багаж знаний - тебе сделают node.js или rust
Вот тут не соглашусь. Rust пилят какие-то нерды-олимпиадники, а нода как бы ничего новго не внесла - тот же JS только теперь не в браузере, а в системе.
Хачу говнлаг езучить, хехе. С чиво начать, накидойте литры. На каникулях читну, ббггее. Миня патом ссаньонам-посримдором вазьмут?
пойдет доступная робототехника и хуй тебе дадут писать на всяких древних С++ и прочего несовместимого с современностью говна. Ибо шлепнувшийся дрон на голову из-за того что петя объебался с памятью - нахер никому не нужно.
Очевидно будут допиливать сборку мусора до времени реалтайма, но никак не давать в доверие человеку.
Да я и сам не хочу контролить эту низкоуровневую хуйню, времен байтоебства. Я пишу логику и поведение, мои абстракции уже куда выше чем контролить 4 байта руками (или 2 байта, в зависимости от реализации, лол).
С++ полный отсос в сравнение джавы, именно не синтаксисом, а то как она обросла инфраструктурой- единый стиль, единые сборщики, а какие IDE. Люди реально стали писать модульный код в отличие от тех же скрипто-си, где встречаешь порой жесть.
Я ссу стоя на С++ ибо в сравнение с джавой это динозавр.
Но джава тоже уже устаревшая какаха, можно и нужно лучше что-то (но не Го).
>байтойобский языкнейм
>как гау
Эй, пездюк спидорашный, хехе, иди книжки читай мудель тупорылый, бббггеее. Пиздеть ума не надо.
>Очевидно будут допиливать сборку мусора до времени реалтайма, но никак не давать в доверие человеку.
Невазможна, ты пездель. Ета как твою мамку в мадели вазьмут, хехе.
Ты просто неасилил гоу. Там за прасттатой и анусов, скрыта моща пиздатая. Кароч иди читай пайка, чмо недоразвитае, бббббгеее. а не пизди на пр.
Читни спецификацию https://golang.org/ref/spec
Язык прост как дверь, кодить можно будет сразу же. Но для трудоустройства нужно ещё знать библиотеки с фреймворками.
Хуйло, ббггее. Ета спека лиш вершина айсберга. напиши ужо хуловорд, а потом пезди. хуй совал в тваю мамашку, хехе.
Пиздец, бббггее. Хуже жава-макаки, каторая мегрирует на другие езыки даже не червь-педор, хехе. Везде свае гавно и кастыли тащат патом, лохи терпильные.
>бойлерплейта
Взоржал с макаки тупорылой, хехе. скриптопетух ты, каторый открывает фаел без единой проверки. или абвешивает свое жавападелье кучей траев. и патом ета гавно пердит и тармазит и просит сервак с терабайтам и итаниумам, хехе.
>Пха не предназначена для нормального запиливания сервисов
Вроде народ стало отпускать с этим наебоном, но все же - тяжелые сервисы писать на всем кроме С или С++ в общем где "узко" да еще со сборкой мусора) - это долбаебизм
Кода там как у скрипта, даже на С++ можно не обосраться, а вот мощь С++ зарешает.
Все остально писать кроме как скриптами и питонами - это боль. Даже на го будет дороже обходиться, так как еще сопровождать тону бойлерплейта + кодогенирацией + самописной херни (или непроверенные временем коды васянов с мусорхаба)
В общем спроси у меня - писать логику на том же пхп (в старом стиле) или на Го, я выбиру первый по удобству - хотя пыха то еще говнецо
что за понос 2013 года, даже открывать не хочу
>>929846
что за толстый тролль у нас тут, неужели опять реклама вконтакте?
>что за понос 2013 года
Ты тогда еще читать не умел? Или в английский не можешь. От спидорных макак другого не ждал, хех.
В ++ и # точно так же, дегенерат.
Блок - это не ifelse, блок - это {}
Так что оставайся на /го/вне, для таких дебилов как ты как раз.
Я вообще-то так и написал, это два блока, да. Только область видимости у них одна - функция main.
То что определено внутри блока - видно только внутри блока.
Это хорошо, правильно и так везде.
Но неполноценным дегенератам вроде тебя не понять.
какой же ты тупой! гггг
даже в yavascript это придусматрелелеи!!
там можна и let и var переменую обьявлить
Я все проигрываю, на одно действие три строчки бойлерплейта, и блять этот if err != nil даже в одну строчку не запишешь, просто портянка говна.
И где блять тот уебан, кто кричал что на го код более читаем и проще?? Вот будет у тебя вызов 5-7 функций с ошибками и будет у тебя 15-21 строк абсолютного мусора, забивающий всю страницу экрана, лол
и тут же типичное оправдание в стиле го
То что целенаправленно добавили такую конструкцию, меня наводит на такое (мысли дизайнеров языка):
-господа, у нас тут дерьмицо, куча бойлерплейта, давай-те сделаем нормально.
-НЕТ! Вот вам еще говницо, поверх старого, мы теперь будем писать все вызовы функций сразу в "ифах", так мы сэкономим целую строчку, получив еще более нечитаемый код!
ебанные сектанты (с)
Мы сделали свой язык, правда там надо после каждого вызова функции писать это:
---===(VY_SOSETE_TOLSTIY_BOLT)===---
за то как удобно
yoba(); ---===(VY_SOSETE_TOLSTIY_BOLT)===---;
Мы уважаем ваш труд, поэтому разрешили писать эту конструкцию в той же строчке (мы же не такие садисты как в го).
Cамое смешное, что это ебанашка, не привела ничего лучше. Да и доки не курила, где все рассказано. Короче, иди дальше курсач делай, лох.
Это базовая и древняя конструкция, что там тебе "нечитаемо"? Дальше хелловордов ничо пока не осилил прочитать?
>>931446
Пока этот толстый тролль с вконтакта в одиночку отсасывает сам у себя, не получая никакого внимания от местных, я предлагаю вывести на повестку дня следующий сахар:
ввести конструкцию:
yoba(); ---===(VY_SOSETE_TOLSTIY_BOLT)===---
вместо:
hui, err := yoba()
if (err != nil) {
return err
}
моя конструкция более короче и удобнее, а долбаебы гоферы все равно в программирование нехера не понимают, им как леммингам сказали есть говно, они и едят как есть.
Господи, ребенок, кто тебя так обидел? Хватит дуть тут свои щечки, я разрешаю тебе выпить теплого молока и лечь спатки.
удваиваю этого единственного адеквата. От этого сообщество только выиграет.
Тупой гофер не может уловить аналогию, тебе дали говно в сравнение, чтобы показать что то говно, что это и разницы никакой.
Ты, макака, будешь в 30-50% своего кода писать откровенный кал из if != err просто потому, что авторы забили на обработку ошибку (ничего не сделали для этого).
Но в моем случае с ---===(VY_SOSETE_TOLSTIY_BOLT)===--- ты хоть своим мозгом догадываешься, что тебя где-то наебывают (хотя, можно написать годную статью и ты как и другие суслики поверят в то, что писать эту хрень обязательно и необходимо!)
>что авторы забили на обработку ошибку (ничего не сделали для этого).
Лох. Иди книжки читай, бббгегее. Так и не высрал со своей черепушки ничего кроме стандартного и убогого трай-катча (который по дефолту гавнище, хехе).
слив засчитан
Как же это уебишно выглядит:
app.Get("logger").(*log.Logger)
И тут дело не в том, что дети открывают себе давно известные вещи, а то, что язык настолько уебищный по дизайну, что любые попытки сделать даже что-то традиционное приводит код к убогим костылям.
Пойду обмажусь своим котлином и забуду эту боль
>Вот будет у тебя вызов 5-7 функций с ошибками и будет у тебя 15-21 строк абсолютного мусора
Не будет, большинство ошибок я буду игнорировать.
Ирония в том, что джава начальных версий до дженериков выглядела тоже как кусок говна,
...да вообще, много там говна было - но оно развивалось согласно опыту и реалиам рынка, отталкиваясь от С++ и только потом стала консервативна и "заморозилась".
Что же го? Нехера не развивающийся кусок кала, который решил какие-то проблемы стариков и их ебанутого чистого Си в далеком 1970 году.
Но отдел маркетинга, вероятно, заставил натянуть модные фичи как асинхроность, интерфейсы и прочее, в итоге получился монстр.
И что мы видим - нет перегрузки функций, но блять есть замыкание (лол, где замыкание это блять объектная модель, только для даунов) - невероятно нужна вещь когда есть объект, ппц.
Есть интерфейсы - но полиморфизм через жопу, даже на nil интерфейс только через жопу проверишь. Да и к хую летит интерфейс, если юзаешь чистую структуру (придется писать геттеры и сеттеры - лол)
Серьезно, эти уебанны занова открыли геттеры и сеттеры - нахера тогда структуры добавили??
Уже даже школьнику ясно что нужен контроль на записью и чтением данных и можно было накрутить проперти, но нет же, мы сделали джаву времен девяностых.
Передачу по значению, лол 99% кода теперь таскают ебанутую зведочку *.
ебанные сектанты
>потом писать нечто типа exit(1)
Да, долбоеб. Именно так, если ты блядь не знал что существует такое понятие как код завершения процесс, макака ты хипстерная. Оказывается блядь его можна еще и получить потом в shell'e и обработать. Внезапно! Внезапно блядь в C после fork дохлые children висят как зомби именно с целью чтобы родитель их коды завершения считал. Пиздец, ты такой тупой блядь, что весь этот форум отупеет от твоих высказывания. Зная твою умственную отсталость, смею предоложить твои вскукареки о 1970, пердолинге, байтоебстве и прочую хуйню в твоем исполнении. Свали нахуй в свой PHP тред и не еби мозги профи системщикам. К хуям пошел!
>99% кода теперь таскают
Нет, только там, где структуру нужно передать для изменения.
>>932193
>эти уебанны занова открыли геттеры и сеттеры
>нахера тогда структуры добавили
ООП головного мозга это и правда болезнь.
Прости, но тут ты не прав. Обработка кодов завершения дочернего или не очень процесса очень важна. И к байтоебству это отношение имеет ровно никакого
>Нет, только там, где структуру нужно передать для изменения.
лол, чтобы на вызов функции тратить впустую время на копирования данных? Да такой код просядет похлеще скриптов, когда у тебя будет среднее приложение с 50-100к вызовов.
Даже в макакенском php, что упоминял долбаеб из вконтакта - там массивы юзают схему copy on write (да блять, на дворе уже не 1970).
Согласись, проще было придумать нечто типа маркера const (как в с++) для атрибутов, чтобы в момент компиляции проверялось, что ты мудак данные не трёшь, а не выполнять тяжеловесное копирование (лихие семедесятые, лол)
>>932261
>ООП головного мозга это и правда болезнь.
ты можешь плакать по вечерам, можешь прятаться в углу, но то что мир выбрал путь - писать модульный код, с "мягкой" привязкой через интерфейсы - это уже факт.
А то что любой структуре (будь это риал структура или класс с паблик полями) - со временем может потребоваться промежуточных контроль над доступом данных - говорит лишь о том что ты неопытное говно, а не программист (хотя мы же в го треде).
Маленький все пишет скрипты как в лихие 1970? Конечно в те времена на 500 строк кода, в случае ошибки логичнее было завалить программу и выдать циферку. А сегодня, в мир полноценных приложений, завалить все работающие приложение/службу - может только мудак, который пишет дома программки-скрипты.
>И что мы видим - нет перегрузки функций, но блять есть замыкание (лол, где замыкание это блять объектная модель, только для даунов) - невероятно нужна вещь когда есть объект, ппц.
>Есть интерфейсы - но полиморфизм через жопу, даже на nil интерфейс только через жопу проверишь. Да и к хую летит интерфейс, если юзаешь чистую структуру (придется писать геттеры и сеттеры - лол)
Ты еще наследование попроси, лол.
Язык создавался, как аналог СИ, только упрощенный, дописанный. Отсюда и замыкания, и обработки ошибок таким образом.
Нет же, им подавай очередную джава-подобную хрень.
Замыкание это некоторое состояния для функции, которая находится внутри функции (лол).
Невероятно неявная и магическая штука в сравнение с простым объектом, который явно имеет поля (те же состояния) и которые есть в го.
Более того, там есть еще очень тонкая и часто получаемая ошибка, из-за дебильного дизайна Го.
Эта шляпа не только проблема и переусложнена, но и просто не нужна, так как объектная модель данных есть и так (сделать функцию с состоянием можно легко - это метод простой).
То есть, внести в код такой очевидный устаревший кал времен процедурных языков, но при этом крича в лицо - что перегрузка фунции очень сложно и не нужно (хотя де факто признанно всеми) - это просто трешак, согласись анон.
>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.
Язык должен быть умнее программиста.
Это терапия, чтобы никто не совался в разработку на говнине, потом спасибо будут говорить.
Потому что спидерашки тупорылые. Я покакал каждой спидорахе в ротан, хехе.
Двачую. Джава-макаки боятся, что гоферы их вышвырнут с рынка нахуй. Но так и будет.
Приведи мне пример, как авторы должны "были зделать" обработку ошибок. Или иди нахуй.
Тебе, ебло, сказали что каким-то хером добавили такую дичь как замыкание, а банальные вещи как перегрузка функций - тупо нет (да ничего там вообще нету).
Причем последнее сделать проще.
Но ты тупой уебан, который не может удержать контекст переписки больше чем на один пост, хули тебе вообще объяснять?
мимо, бомбящий от долбаебов
Все просто, во время отладок навтыкиваешь тучу либ и потом го либо отваливается ругая тебя циклическим импортом, или же в го есть какая-то бага линковщика, которую не хотели исправлять каким-то своим способом, усложняя компилятор.
Я по-моему, даже знаю что за проблема, больше выглядит - что лучше для них потратить силы тупых программистов, чем силы на разработку и усложнение компилятора (именно отсюда в го ничего нет, но хомяки хавают это как фичи, лол)
Нормальное реакция на то, как если бы тебе совали ложку говна и говорили что это мёд.
Ты конечно же бы терпел и ел, улыбаясь, целуя руку хозяина, но у нормальных это вызывает бомбалейлу, если что.
Все ржу, как эти чудилы с маня-мирком своего нового языка тягаются с такими титанами с их инфраструктурой и легионом рабочих мест.
Единственное что там им бояться стоило это шарп, но шарп насоснул сам у себя из-за жадности некоторых и вообще сейчас выглядит как переусложненое говнище ака с++
Го мог бы только напугать питоно-макак, лично я сейчас вижу как отдел переписывает с го на питон то говнище что ранее накодили, а двоих организаторов сей акции уволили (хотя они типа ушли, но мы то знаем правду)
Го как нелепая попытка убийцы питона - который, питон, все еще убийца пхп, которого пока он убивал потеснил js - да блять в очередь уёбки, там в вашей параше догоняющих всегда место будет.
Они ее (обработку ошибок) хотя бы должны были сделать.
То есть для начала гофер должен прийти к этой мысли сам, а уже потом мы тебя тут исцелять будем.
>перегрузка функций
да нахуй мне не нужен твой полиморфизм ебаный. Сдристни уже в свой джава тред.
> сейчас выглядит как переусложненое говнище
>шарп
бля, лол, джаваиндус не осилил async/await?
>Го как нелепая попытка убийцы питона - который, питон, все еще убийца пхп
Ну тут ты уже совсем вытекаешь.
Нет, язык простой, но крайне специфичный и хорошо ложится не на все предметные области. Так что в качестве первого таки лучше пайтон.
Говно хорош только в одном - в утилизации беспросветных дебилов.
Ты беспросветный дебил или не очень?
Не знаю.
>Го же хороший в этом?
Со строками в разных кодировках тут будет непривычно работать. А так вполне хорош, не обращай внимания на джава семена, который не может ничего больше осилить.
>не обращай внимания на джава семена, который не может ничего больше осилить
>сказал ГОлигофрен, осиливший только процедурное программирование
петушок, это же не твой го-чат/форум, нахуй съебись, обиженный
Я что-то пропустил? В секте теперь топят что го не ООП и мультипарадигменный?
Сменился главные евангелист у вас?
Просто нас тут процедурными обозвали. Отвечаем, бьем жаба-дауну в его пятку.
так надо фактами отвечать мол, что агрегация лучше наследования и все такое и полиморфизм завизли в говно-реализации интерфейсов (пусть говно и на поля струткур не распространяет, но есть, будем геттеры и сеттеры писать, что уж).
А не на каждый недовольный чих звать главного священника и просить забанить.
ебанные пуритани
Евангелисты плохо старались, в итоге даже преданные фанаты прозрели и поняли, что ООП не "другое", а его просто нет.
Что ощущает в этот момент твое самоуважение?
Нет, что ты чувствуешь, когда так вот унижаешься, но модератор никак не реагирует?
Правда говорят, что на го одни маргиналы.
ого, пахнет бунтом, осторожнее, стуканут куда надо и все, еретик ты этакий
Джава-макакам бомбит, никто не хочет писать современный и высокопроизводительный облачный софт на джавагавне прошлого века, бббббгеее.
>>92824
echo неплох, chi ещё довольно приятный, но это всё микрофреймворки,
В скором времени должен взлететь buffalo
Cнова пустословие. Что ты вкладываешь, в это обработка ошибок? От трай-катча отказались по тем причинам, до которых ты не осилил. Проще говоря - оно говно и медленное. И не отменяет того, что прогер должен сам заботиться обработкой в любом случае. Или ты как последняя макака оборачиваешь свою простыню в один огромный трай и ловишь все (с принтом в обработчике как изюминка на торте из говна)? Тогда просто иди на хуй. Или ты нодомакака с доменами (что еще большее гавнище, хуже червя-пидора)? Тогда тоже иди, лошок, ибо ты не видишь дальше своего носа. Последовательная обработка ошибок - лучшее, что может быть. Оставляю это утверждение за собой ибо ты серишь, а не отвечаешь на предложенный тебе вопрос о примере лучшей системы обработки ошибок.
Вообще эксепшоны - это зло, но без опшионов в Go обработка ошибок - это ну такое, имхо
Ты даже не представляешь какая это злая ирония.
Только не надо о дропбоксе который пиарится на новых языках, собирая религиозных хомяков (как го, как раста и потом на конференциях рекламясь)
Что за опшины? Что-то опосля работы моск уже не шуршит. Вообще в голанг должна приветстваться парадигма "let it fall" - эрланг старше всех местных пиздюков с их жавами, но тем не менее на нем успешно пишутся и эрливидео и ежаббер и много других сервисов. Вообще интересный вопрос - есть ли что-то супервизоров и деревьев эрланговских в голанге? Вроде оба построены по модели csp.
Иди иронию ищи в другом месте. Если ты не в теме, то иди просвещайся. Сейчас очень много пишется на голанге, очень. Ты просто хомяк со статьей из википедии и не можешь ни в одну предметную область.
Я имею в виду опциональные типы. Собственно rust, например, - там обработка ошибок сделала очень удобно, имхо.
В Go можно построить супервизор, внутри горутины через defer отлавливать панику, матчится по ней, и если нужно - посылать сообщение горутине-супервизору, чтобы она переподняла задачу или сделала ещё что-то
Да, уже нагуглил, есть такое https://github.com/thejerf/suture . До раста руки пока так и дошли поковырять.
Ещё советую посмотреть в сторону context, это такая штука для построения деревьев задач с таймаутами и прочей фигней
Маленький даже не знает, что трай-кетч ввели чтобы избавиться от сишных обработок ошибок, чтобы если макака-даун и заигнорил ошибку, то это сделал явно, а не скрытно просто не забив болт (как было это и как будет, лол).
Лихие семидесятые
>Проще говоря - оно говно и медленное.
Оно никак не влияет на исполнение, а вот из-за стектрейса - да, но только в момент ошибки (в жабе это отключаемо кстати, но только конченный даун отказывается от стектрейса в рантайм ошибках. В большом приложение ты ласоснешь тунца и недельной отладки, только потому что твои ошибки это значения и в логах нет стектрейса - тру стори).
Из-за полиморфизма объектов, я могу сгруппировать ошибку, то есть поймать нечто типо ReflectionException, тебе же дауну в ГО придется писать switch или if и танцевать с каждой ошибкой (ее типом), так как нету наследования.
Хотя я видел, что вы, дауны, парсите строку чтобы понять что за ошибка, лол.
>Сейчас очень много пишется на голанге, очень
Все хорошо, успокойся, ...много пишут, да, только успокойся, дыши глубже
триплённый дабл не врёт
>чтобы избавиться от сишных обработок ошибок
>заигнорил ошибку, то это сделал явно
Ну я понял, ты тоже макак, который бахает простыню в один трай.
>>933397
Смотрел этот пэкидж, но сильно пока не копал.
То есть, лучше отсутствие обработки ошибок (простыня из голых if) - чем трай-кетч?
ультра-лол
ебанные сектанты
Все современные облака и контейнеризация так или иначе на голанге. В будущем только больше. Сайтики и бухгалтерию не пишут наверное, да.
>>933399
>танцевать с каждой ошибкой (ее типом), так как нету наследования.
Хотя я видел, что вы, дауны, парсите строку чтобы понять
Там все красиво расширяется за счет стандартного типа ошибок. Если ты водишься с макаками (вне зависимости от языка), то вини себя, что не берут на нормальное место. Ну или родителей вини, что гены пропитые.
>Все современные облака и контейнеризация так или иначе на голанге
Прям таки все? И что же за юный максимализм у нас тут, а?
>сектанты
Не, хех. Это ты гавножор походу. У тебя там за спиной погонщик, который хуем тебя полбу стучит и заставляет заходить в тред, посвященный конкретному языку и удивляться почему его здесь обсуждают?
две крайности: с трай-кэтчем можно тупо все ошибки ловить, без какой-либо обработки. А в конце, общий трай-кэтч. И вроде ошибку словил, а что толку?
В го же подход другой: ловля ошибок полностью на твоей совести. Хочешь- лови , хочешь - не лови.
Крупные, да, все. Говорю как клауд-инженер в международной конторе работающий. Что там у тебя в гробике под кроватью крутиться в виде "облака" я не знаю. Каждый сам себе буратино.
*крутится
Ты какой-то ебанутый, серьезно. Уходи давай
Она там не нужна, ломает саму парадигму. Все идет из лимбы, как более лучшая замена си.
Get запросом передается ключ, в программе параллельно парсится то что мне нужно, когда весь парсинг завершён - идёт обработка текста и выдаётся результат.
Я селекторы и прочую хуйню сам нагуглил, а вот скелет такого скрипта очень нужен
А, и ещё чтобы можно было одновременно несколько потоков запускать.
типичный гофер
unwrap - это как раз пример того, как в русте делать не нельзя почти никогда, кроме как в примерах. Не, я про result и матчинг этого самого result'а
Так не сри, деб, хех.
> в программе параллельно парсится то что мне нужно, когда весь парсинг завершён - идёт обработка текста и выдаётся результат.
Умей выражать свои мыслишки, чмо лапотное, хехе. Мне должно быть понятно, что ты там хочешь после первого прочтения. За 300 срублей могу только залупой по твоим губам щелкнуть.
Хуи сосешь?
Здесь нужен Haskell.
Что несет это чудо? Я что-то говорил про то что в го-треде обсуждают го? Ты о чем?
>>933419
Еще раз, вникни - напряги мозги. Трай-кетчем ты осознанно ловишь, даже если ты заглушку ставишь в корне стектрейса на Exception - ты все равно явно это прописываешь (и это можно найти).
Но смысл не в этом, а в том что такой Васян с исключениями уже так просто не положит болт.
Ты же не ущербный и понимаешь разницу между:
поймает и заглушит ошибку
и
проигнорит (ничего не сделает)
Максимум они смогут добавить сахар для конструкции if err != nil...
Пока не будет
-стектрейса в рантайме
-типов ошибок и их группировка (или наследование)
-компилятор не будет проверять игнорирование или затирание ошибок
Но самая критичная проблема, что ошибки что и раньше пробрасывают вверх (только в го руками, лол) И проблема этом:
А -> B -> C
Если С возвращает ошибку, которая может быть обработана на уровне А - то и B должна возвращать ошибку, чтобы через нее можно было пробросить ошибку С.
То есть суть теоремы, что любая функция всегда должна возвращать err - иначе ты рано или поздно обосрешься (и случиться это где-то в 10-20 вложение, если конечно ты реальные сетевые приложения пишешь).
Только по этому язык можно считать непригодным для промышленного программирования.
забыл /thread
>ку, которая может быть обработана на уровне А - то и B должна возвращать ошибку, чтобы через нее можно было пробросить ошибку С.
Хуета от жава-макаки. Спасибо, поржал. Мыслите по-индусски дальше.
>Перенести графическую библиотеку с Golang на Java
Найс, ещё одни покаявшиеся. Жду оправданий Го-имбецилов.
> закрывает глаза на тонны саксесс стори переездов на го
> выцепляет один таск на фриланс бирже с обратным переходом
> кудахчет на весь тред и просит каких-то оправданий
Мне даже отвечать тебе противно, проваливай нахуй в свой жава тред, говна кусок.
>Только по этому язык можно считать непригодным для промышленного программирования.
Ну и считай дальше, лол.
А ну быстро съебал в свой загон, животное
твои саксесс стори это пиар на имбицилах, тебе анон написал про дропбокс и как на конфах двигают свое имя
И да, саксесс стори - мы даже внедрить не смогли, я правда хз что там у скрипто-дебилов именно было, но они даже в прототипе обосрались с языком. Вот и байда - на скриптовых языках пишут полноценные приложения, а на тру-компилируемом языке кроме как скрипты писать ничего не возможно.
Ну и? Фанатики будут пиарить свой язык, а вместе с ним и твой лейбл.
Наши так же с нодой и руби делали и светились специально. Пишут ли сейчас на ней? Конечно же нет, но какую-то хуйню лепили (я так же дома играюсь)
Я поражаюсь насколько средний программист туп и не понимает азы обычного маркетинга.
У того же дропбокса легион пиздящих голов, то они про го пиздили то в нужный момент что-то на раст написали. Не удивлюсь если там будет что-то на свифте
В моем милионнике за последний месяц появилось 13 гошных вакансий. Этих компаний нет в списке выше, они не выступают с докладами, не рассказывают какой язык хороший, а просто решают бизнес задачу. Что ты на это скажешь?
>>933661
Берите раст, пока места еще есть. Докладик еще сделайте (не джава, но думаю платят за доклады тоже норм, не всю жизнь же программированием заниматься)
https://www.rust-lang.org/en-US/friends.html
Укатился тебе за щеку, проверяй.
>милионнике
>появилось 13 гошных вакансий
>языку ~7-8 лет
Ты же понимаешь какой это обосрамся, язык занял почетное место маргиналов программирования.
Осталось добавить "ну и что?" Я видел руби, перл вакансии, видел даже erlang (но я думаю это просто пошутили). Что ты хочешь сказать? Давай еще за хипстер-стартапами последим, которые как грибы после дождя то появляются то пропадают.
У меня есть яркий пример конторки которые лепили визитки на node.js - хотя тимлид не мог объяснить как там работают зеленные потоки.
Могут же ребята)
На свифте мб и будет (или уже есть) что-то под ойос/макос. Но большие компании не в счет — у них есть сильные команды программистов, и достаточных поток, чтобы без страха тянуть новые хипстерские прибаутки в прод и не парится что оно свалится или все завтра разбегутся.
Это кстати главная причина успеха гау: тебе достаточно пары дебилов, которые знают как спавнить горутины и сувать хуи в каналы.
>главная причина успеха гау
Что за чудо язык, берешь скрипто-макаку, или вообще Васяна с улицы, сажаешь на го - и вуаля, у тебя кодер специалист.
Как-будто в программирование вся сложность была из-за исключений, дженериков и ООП (которое кстати было придумано чтобы упростить процедурное программирование, лол). А вот без них тебе сразу откроются все возможности и на розовом единороге ты умчишься в небеса.
Откуда вообще родилась эта тупость?
>Откуда вообще родилась эта тупость?
Из "мозга" говнодебилов - вроде того же илюши, например.
> Это кстати главная причина успеха java: тебе достаточно пары дебилов, которые знают как копипастить геттеры/сеттеры и сувать листенеры в объекты.
>когда-то так и было.
А теперь совсем уж беспросветные дебилы перекатились на говно.
Гугл такой гугл.
>>933771
Да, стандартизация (jsr) и модульность (ООП) джавы действительно создала абстракции что даже Васяны оперируя maven или gradle за 5 минут могут реализовать то, что на го тебе придется писать полгода с багами. Но что в этом плохого для опытного кодера? Обмазался котлином или скалой (или джавой с норм редактором) и хуярь в светлое будущее.
Это и есть промышленное программирование, а не кустарное, где нет развития, а каждое чмо программирует от структур, а не от интерфейсов (лепит очередное свое говно).
И именно го не подходит для промышленного программирования (причин там много, не только в выше описанной "теореме об возврате ошибок").
>совсем уж беспросветные дебилы не могу осилить ничего кроме джавы
Пофиксил во имя справедливости. Но им нечего боятся, с php-адептами тоже самое сейчас.
>го не подходит для промышленного программирования
Про предметную область слышал что-нибудь? Комманд лайн утилиты, которые что-то мониторят, тоже будешь на джаве хуярить?
Что тебя там напугало?
Писать в ООП языки - процедурно - можно, ничего сложного (классы будут играть роль дополнительного наймспейса).
Писать в процедурном языке - объектно - то же можно, но достаточно болезненно.
Скучаешь по функциям, возьми котлин, не ной только
Нет, скрипты, байтоебство в микронтроллерах.
Все что реально "большое" превращается в трудноуправляемую трясину (открой ядро операционки - охуешь)
Он был придуман в эпоху кустарного дела, никто тогда не думал о таких масштабах, а глобальные переменные были удобной нормой (и сейчас удобно, если скрипты пишешь).
Для примера, прост:
Современный С++, да с натягом.
Си-шарп - да, весьма
Раст - (насколько видел) да
php - нет (с исключением ниже).
js - нет
...
PHP и динам языки нехера не подходят для уровня промки, но в пхп слизали столько с джавы, да еще навтыкали подобие типов (в скриптах типы проверяются во время исполнения и зачем тогда, лол) что можно сказать, что он больше промышленный чем тот же го.
Кстати го тоже выглядит как полу-динамический, так как большая часть говна отлавливается только во время исполнения (что вообще пиздец для компилируемого языка).
-Модульный код или еще как-то называют - чистая архитектура.
То есть OOP + IoC (то есть даже традиционно ООП без DI это шляпа)
Никаких блять глобальных переменных и глобальных структур.
Даже если и структуры - то должен быть промежуточный контроль над полями (проперти).
Последнее даже уже не обсуждается.
-Организация работ на уровне контрактов - например интерфейсы. То есть вообще возможность объединить две и более группы программистов без драки (как раз интерфейсы решают это взаимодействие).
Конечно Васяну со своими домашними скриптами нахер не нужны контракты. И конечно хардкор-код ввиди структур - выглядит куда удобнее, поэтому и зовется кустарным делом.
-Никакой кодогенирации (это невероятный пиздец для 2017 года).
-Нормальная типизация (дженерики не только для мапов и списков).
Да блять там даже на nil хуй интерфейс так просто проверишь (а проверять надо, иначе есть вероятность что где-то дальше ты может быть и упадешь, но вьебешь данные)
-Должна быть стандартизация (которая задается через интерфейсы).
Чтобы не было 100500 логгеров, менеджеров пакетов и прочих кустарных подделок.
Это напоминает как в средние века всякие аршины и другие размеры - приравнивались к размеру логтевого сустава того или иного короля (лол).
Понятно - что стандартизация - это рост качества производства.
и так далее...
... и вот, когда ты работаешь с приложением у которого ~400-500мб исходного кода, но за счет промки и полученных абстракций ты еще достаточно легко может работать в этом коде - какой-то Васян прибегает и кричит -"ко-ко-ко if err != nil рулит и вообще классная идея!"
Хочется погладить его по голове и дать конфетку за такие юные открытия.
всем
> ... и вот, когда ты работаешь с приложением у которого ~400-500мб исходного кода
Что делает приложение, в котором столько кода?
Ну так-то с мусором жидеи у меня вообще гигабайты кода.
Что за убеанский вопрос, очевидно что дохуя чего делает, я тебе тут и четверти не распишу. А если обобщу, то дети сразу закукарекают - что мол "это пиздеж, я тебе это за 5 минут в 100строк это тут напишу...."
Хотя я не буду отрицать что там имеются некоторые исторические наслоения в коде (это неизбежно). Но именно абстракции джавы позволяют это безболезненно использовать и наслаивать, то есть сама джава даже стимулирует в монолитах писать модульный независимый код.
Что же было бы в процедурном? Да ппц, дернул что-то в одном месте, непредсказуемо отвалилось в другом.
Да и вообще писать многолетние проекты куда удобней на джаве, для всего остального есть питон.
Код ядра линукса занимает примерно 700мб весь. Не думаю, что твое воображаемое приложение может половину того, что делает ядро.
>>934194
>Нет, скрипты, байтоебство в микронтроллерах.
>Все что реально "большое" превращается в трудноуправляемую трясину (открой ядро операционки - охуешь)
Что-то я не вижу пока что операционки, написанной на джаве, скале, котлине или тому подобному "промышленном" языке. А линукс вот до сих развивается.
>ко ко ко - а может ли твоя джава в операционку, кококо.
Что тут у нас за школьное мышление и непонимание инструментов?
Так же как на поезде удобно летать, так же и на джаве рентабельно писать операционку.
Или скажу лучше - так же как на джаве писать операционку - так же на сях писать корпоративные приложения/сложные проекты.
Но фишка тут в том, что и твой го так же не пригоден для системного уровня (и не для компаративного, лол)
>
>Так же как на поезде удобно летать, так же и на джаве рентабельно писать операционку.
>Или скажу лучше - так же как на джаве писать операционку - так же на сях писать корпоративные приложения/сложные проекты.
Ядро операционной системы недостаточно "промышленно" и "сложно" ?
Какие же такие критерии сложности тогда?
>Ядро операционной системы недостаточно "промышленно" и "сложно" ?
Никто не говорил что на "не промышленном языке" нельзя написать много/сложно. Но это не делает тот язык пригодным для промки.
Будут писаться на расте системные приложения или на другом промышленном системном языке - увидишь как все будет проще и удобней. И главное это будет можно сопровождать, и не будет это выглядеть как многолитный кусок дерьма.
>Какие же такие критерии сложности тогда?
Выше описал минимум:
>>934196
..................
Я хз что там делает код операционки, скорее всего там какая-то небольшая архитектура и разные вариации для разного железа или что-то подобное.
Корпоративное приложение работает с разными БД и хуево-тучей таблиц и размеры их не маленькие.
Я уже молчу про всякие кэши и прочие радости архитектуры.
И все это шуршит и взаимодействует между собой.
>А по делу то есть чего сказать?
Весь мой текст мокания го в свою лужу мочи - это все по делу, перечитывай тред (никакого контр аргумента по факту промышленности го так и нет)
Действительно, по джаве хомяки еще в момент пререлиза по 15 статей в бложиках строчат
>Что тут у нас за школьное мышление и непонимание инструментов?
Действительно, нахуя ты приперся сюда со своим школьным мышлением и непониманием инструментов и считаешь, что джава везде лучше го?
Проблема ГЦ в том что, если ты потянешь за одну ниточку, потянется другая. Можно вообще тянут так что ГЦ станет сравни реалтайм (и это не сложно и такая чепуха есть даже у джавы), но цена процессора будет такая в (сравнение с редкими паузами но по 200мс), что ты просто охуеешь.
Первая проблема:
Гоферам даже не дали выбора всучив реалтайм ГЦ.
Этот лол, прикиньте чтобы вышла версия джавы в которой жрётся просто на 20% больше проца (в промшленном мире это просто докупить пару сотен железок)
Проблема вторая.
У вас в памяти 5 миллиардов сущностей на 90гб, 4,5 из них постоянны и были отработаны в первое время, другие же 10% это неизбежная динамика.
Как работает джава? Она проверяет и собирает по большей части только эти 10%.
Как будет работать ГЦ в го? Просто будет бегать по одним и тем же миллиардам объектам (всасывая нереально проц и втыкаясь в несколько минут).
И при этом - у гофера нет возможности даже сменить ГЦ.
и меня тут школьником считаю, лол. Скрипто-бляди...
Школьник - это состояние души. Это когда ты приходишь в чужой тред и срешь своей джава парашей, которая тут в хуй никому не упала.
Это называется критика - я был бы рад видеть критику в любом другом технологическом треде. А то обмажутся фанством и как гомики лобызают друг друга - фу, противно
Ну, втыкаться по несколько минут он не будет энивей, просто в отличие от сборщика с поколениями он на этом 100гб хипе сработает пару миллионов раз со своими 100нс, у явошного сработает разок фуллколект по всей куче и несколько раз по молодому поколению, с ебическими паузами (особенно во время фуллсборки), но отработает все равно быстрее, логично же.
Гау делался для систем с низким откликом (веб), а не максимальной скоростью обработки.
Кстате, если писать супер-пупер конкурентный код, где данные выделяются и быстро дохнут по своим горутинам (это конь в вакууме, но таки есть такой вариант) то гау должен ебсти все гц-языки — там вроде как обещали просто валить такие горутины не сканируя, как в эрленке.
Еще гау от жявы отличает отсутствие жита , миллиарда унаследованных классов с виртуальными функциями, жирной вм и прочего щастья, которое грузит процессор за сборщик — вот и пилят такой гц.
Джава, кстати, не такой плохой теперь кажется на фоне го, лол.
Го духовный наследник ПХП 4, когда не было ООП, так что прикидывай. Строгая статическая типизация в Го довольно условная, а писать на нём ещё скучнее чем на твоей пыхе. Настоятельно рекомендую попробовать что-то другое.
Java/C# если хочешь просто строгой статической типизации.
С/С++, потому что всем полезно знать, как работать с памятью.
Это евангелисты дрессировали так в начале, потом спустили планку до скриптов (так как всякие жабисты, шарписты и крестоносцы начили крепко макать в дермо, создавая отрицательную атмосферу вокруг языка), но раннее надрессированных было уже не остановить, они до сих пор это уебище противопоставляют титанам ИТ индустрии.
Хуже по дизайну язык я реально не видел (если делать скидку старым языкам).
Лол, я даже javascript и php зауважал.
Но обсирать язык продолжать стоит:
для фанбоев - чтобы вас так открыто не имели, а реально улучшали язык.
для хейтеров - чтобы завтра утром ваш долбоеб начальник не купился на маркетинговый буллшит и не внедрил это говно.
Хуй соси, ты не ОП. Буду перекатывать до тех пор, пока хейтерам не надоест высирать их никому не интересное мнение.
Хуй соси, ты ОП. Не буду перекатывать с тех пор, как фанбоям надоест высирать их всем интересное мнение.
держу в курсе.
И что вы думаете? Первой же позиции на меня смотрит какой-то еблет с выраженными чертами дауна. При том статья вообще не о нем, а о "архитектуре распределённого хранилища в Dropbox".
Охуенно, вставить еблет гопника-дауна вместо того чтобы нарисовать тематическую картинку для статьи.
Хуй не соси, ты не ОП. Буду перекатывать до тех пор, как фанбоям надоест высирать их всем интересное мнение.
Это расшифровка доклада уважаемого человека, поэтому и сунули его в начало статьи. А к автору ты доебаться решил потому, что на содержимое пиздеть у тебя еще хуй не отрос? По делу есть что сказать, жалкий обмудок?
я щас расплачусь глядя на эту рожу. ведь придумали анонимность - бери, пользуйся. нет, надо к каждому высеру свое ебло лепить и пугать читающих
>уважаемого человека
Какой язык, такие и уважаемые люди.
>поэтому и сунули его в начало статьи.
Ага, и фото взяли не с конференции, а блять с какого-то отпуска, с чайками, ппц
Хорошо еще не в плавках на пляже (хотя гофер может).
> уважаемого человека
Лизнул так, что будь здоров. Но только ты не на хабре, тут лизать не надо.
>А к автору ты доебаться решил потому
Потому что это вин, еблет на фоне моря и чаек, еблет гопника дауна, который прям подчеркивает весь уровень го.
Нет бро, это вин
PS он топовый хуй в го? я просто хочу зафорсить этот еблет))
хотя это не чайки и там толи порт какой, толи клетки, блять, мы тут ухахатываемся
Что за гоферские извращенные фантазии?? Шути нормально или проваливай отсюда.
ПЕРЕКАТ
>>936216 (OP)
>>936216 (OP)
>>936216 (OP)
>>936216 (OP)
>>936216 (OP)
ПЕРЕКАТ
Это копия, сохраненная 26 апреля 2017 года.
Скачать тред: только с превью, с превью и прикрепленными файлами.
Второй вариант может долго скачиваться. Файлы будут только в живых или недавно утонувших тредах. Подробнее
Если вам полезен архив М.Двача, пожертвуйте на оплату сервера.