Продолжаем сраться и попутна кастуем призыв илюши.Что это за язык?Компилируемый язык со статической pascal-like shit вместо типизации, с встроенный в язык CSP, разработанный компанией Google.Какие у него сильные стороны?Быстрая компиляция, простота, богатая стандартная библиотека, псевдоуниверсальность, кросскомпиляция.Какие у него слабые стороны?Еще развивается (хотя внушительными темпами, смотрите ниже раздел "Перспективы"). Малое количество вакансий, отсутствие такого количества готовых решений, который имеют языки с более долгой историей.В основном сейчас знания языка приветствуется (особенно для коллег с питона).На какие языки он похож?C, PHP, JS, 1C.Какая у него основная сфера применения?Бюджетный веб (так как не жрет ресурсы как скрипты или джава), девопс-утилитки и прочие мидлевел сетевые утилитки.Какая у него основная сфера применения в будущем (вполне вероятном будущем)Разработка на новых квантовых процессорах тупо будет недоступна - язык чисто императивный, что как бы намекает нормально векторизовать и распаралелить код на архитектуре без синхронизации да даже на текущих x86 не может возможным не представляется.ХоливарЯзык настолько убог и топорен, но при этом захайпован что подрывает жопы всех - от закоренелых бородачей до молодых студентов, но очень любим хипстерами и манагерами - первыми за то, что хайп, вторыми за то, что можно сделать из программиста безликую макаку, которую заменить как в два пальца пососать.Так же его фанаты работают "на конференции" - любят понасрать и переписать какой нибудь микросервис на го, потом еще пол года катаясь по конфочкам и рассказывая басни крылова.Собственно, пытается маняврировать между высокоуровенными и низкоуровенными языками - но делает сасай у обоих, не дотягивая по удобству и средствам до высокоуровенных и сасая по перформансу у низкоуровенных.Производительностьhttps://benchmarksgame.alioth.debian.org/u64q/go.htmlhttps://www.techempower.com/benchmarks/#section=data-r12&hw=peak&test=dbhttps://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%3A>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
В этом ИТТ треде >>882510-маня пояснит, как в 2016 рвут Keep-Alive-сессии, не просто закрывая сокеты, а как-то сложно и по-современному. Ждем всем тредом.
>>882591Как и в 2004, таймаутом на последнюю активность
>>882629>>882639а не таймаутом, на все соединение, как в нубо-го
не забываем вины-уязвимость дефолтного сервера и отсутствие норм решения (тупо рвать весь коннект и похер если ты файл отдаешь)-Глючность возникающая в Prepare (в sql) при хайлоад нагрузкахкакие еще вины были?
>>882639Или как в моей netty (в божественной java/kotlin) - таймаутом на последнюю активность, на медленность запроса, исключая по mime-type крупные файлы, но ограничивая такие соединения числом по IP
>>882641>>882639>>882665Я в прошлом треде приложил этот скриншот из документации. Как видите, эти таймауты не на всё соединение, а на каждый запрос-ответ в контексте соединения.С моей стороны были пруфы, код и объяснение причин неверного поведения кода анона. С твоей — беспруфные кукареки. Ты вот сейчас при всех обосрался, но признавать этого не будешь. Молодец, так держать.
Кто-нибудь Iris пробовал или на чём атм у вас пишут в основном? И что на фронте?
>>882729> IrisМне не очень понравился, не вспомню уже чем. Взял gin.На фронте обычный js.
It'd be nice if bradfitz could just remove himself from here. That guy quite often insights the desire for me to split his lip. What a whiner.So the CEO modified the posts of some Trumpians. Who gives a fuck. /r/golang has nothing to do with any of that. Our corner of reddit is so far removed from any of that as to be it's own completely separate thing.This subreddit is perfectly fine. I have no idea where the contempt is coming from. All I see is on-topic discussion and project releases. Nice people answering questions, helping, and giving feedback; a little snarky but harmless conversation here and there; and the usability of reddit far exceeds that of anything Google has to offer. Google is just simply awful at anything social: G+ is a joke, YouTube (talk about being anti free spech!) comments are completely undiscoverable and mostly toxic; their own forums are something out of 2007, and similarly unusable.I just think the mods that have an issue should just leave and let some people who aren't reactionary whiners trying to personally involve themselves in drama needlessly step up and take the reins.I don't see any reason to change anything about this subreddit. There hasn't been widespread concern here in /r/golang, and if there has... I'd be hard pressed to find it.
Все эти системы со сборщиком мусора - говно. Как только памяти начинает отжираться больше чем половина имеющейся, начинаются тормоза. Если хотите навернуть говнеца, то уж лучше растом обмазыватсья, там хотя бы есть ради чего.
>>883117>Все эти системы со сборщиком мусора - говно.inb4 95% софта в мире так или иначе крутится на системах со сборщиком мусора и ничего, живы-здоровы. иди кукарекай в другой притон
>>883117Побитовые сдвиги посдвигал уже?
>>883117>растом лол, это говно тормозит как языки с GC и жрет память как джава из-за нубаского аллокатора (даже тут тесты кидали, что раст жрал больше го).При этом ты еще будешь думать о времени жизни переменных и бороться со стираным правилами компилятора.И за все это, ты получишь тормоза на уровне скриптовых языков (тесты http серверов и фреймворков)https://www.techempower.com/benchmarks/#section=data-r13&hw=ph&test=plaintext
Трамп самому годному трету хк.А тем временем на горе-патриота, который хотел свернуть сабреддит го наехали, и он пошёл на попятную.Отпразднуем победу охлократии!
>>883966> хотел свернуть сабреддит го наехали, и он пошёл на попятнуюЗеленые просто боялись, что их чатик сломают и негде будет больше свой говнокод показывать. Я солидарен с этим патриотом.
>>882699хуй соси мать твою ебал
>>883966>горе-патриота, который хотел свернуть сабреддит го наехали, и он пошёл на попятнуюЧто за кулстори вкратце?
>>884121Послушай последний радио-т, там всё по хронологии рассказали.В двух словах: в каком-то зог-сабреддите обсуждали хуйню, его закрыли, и выходцы оттуда начали массово поливать говном сео реддита. Тот обиделся и сказал видимо поправить оскорбления ему на оскорбления самим себе.От этого началась истерия и один из мочераторов этого сабреддита хотел закрыть его из-за этого нахуй.
>>882625 (OP)Чому ещё не запилили форк без всякий идеологически-правильной хуеты?
>>882625 (OP)>Язык настолько убог и топорен, но при этом захайпован что подрывает жопы всех - от закоренелых бородачей до молодых студентов, но очень любим хипстерами и манагерами - первыми за то, что хайп, вторыми за то, что можно сделать из программиста безликую макаку, которую заменить как в два пальца пососать.>Так же его фанаты работают "на конференции" - любят понасрать и переписать какой нибудь микросервис на го, потом еще пол года катаясь по конфочкам и рассказывая басни крылова.>>Собственно, пытается маняврировать между высокоуровенными и низкоуровенными языками - но делает сасай у обоих, не дотягивая по удобству и средствам до высокоуровенных и сасая по перформансу у низкоуровенных.Ну и нахуй он нужен?
>>884282Потому что в 2к16 модно делать новые языки, и гугл со своим продуктом тут как тут.>>884276Это к Илюше, он ещё дизайн не допилил.
>>884286>2к16 модно делать новые языкиПомнится, в универе один одногрупник такой хуйней страдал в 2007-ом, тоже вместо предложенных тем курсача напишет свой язык, взялся писать и в итоге соснул хуйца. Не то чтобы я против, просто это напоминает тех ребят которые пилят свою борду, когда макак очередную хуйню вытворяет, а в итоге получают мертворожденный продукт, о котором в курсе полтора анона и те съебывают с нее.
>>884286>дизайн не допилилДа что там пилить то? Вынести хероту типа ошибок компиляции при неиспользуемых модуляъ/переменных в опциональщину, подключаемую флагами компилера, и заебись. А дженериков и подождать можно.
>>884288Да их-то всегда было овердохуя, просто раньше не было прям моды на это у больших и средних компаний, сейчас гугл пилит го, мозила пилит раст, фб пилит ризон (вроде как закончили с хаком), эпл пилит свифт, крэй пилит чапель, у майкрософта с интелом их буквально с десяток, у жетбраинса котлин.
>>884294Ну, он хочет сразу комплексно продумать все от языка до интеропа чтобы выпустить и все сразу было заебись. Знаем мы таких, лул
>>884296Только это не го получится, а очередной никому не нужный велосипед.
>>882625 (OP)> Язык настолько убог и топорен...Оу, го-тред дошел таки до самоиронии. Прогресс.
>>882625 (OP)Решил тут вспомнить Go, мне тут как раз давали тестовое задание, которое я сделал за 3 часа вместе с тестами на божественном руби. Ну алгоритм действий я знаю, но язык не особо, наверно уйдет чуть больше времени.Антош, это пиздец, сделать get и распарсить xml на этом языке какой то ад. На божественном руби я сделал это 2 строками за 15 секунд. Тут же нужно блять создать 2 ебанных структуры чтобы распарсить xml, две структуры, КАРЛ! В самом коде еще нужно делать преобразования типов и желательно обработку ошибок, а не просто _. Просто пиздец, к основной части задания даже не смог приступить от нахлынувшей безысходности.
>>885988Кстати, почему у Го такая ебанутая обработка ошибок? Спиздили бы try и catch из C++ и дело с концом. Да еще и в принудительном порядке обработка ошибок зачастую.
>>886494Нахуя ты динамический язык со статически типизированным сравниваешь, даун, да еще и с процедурным?
>>886521я все понимаю, Антош, но ничего не могу с собой поделать
>>886494> сделал 2 строками за 15 секундСоздав при этом промежуточный объект с результатом парсинга XML в памяти, потратив на это лишнее вычислительное время и, собственно, лишнюю память. Анмаршалеры в Go пишут всё напрямую в структуры. Эта мелочь не всегда критична, но мне приходилось переписывать на Go сервера, которые инициализировали на каждого клиента огромные JSON-объекты, и с Go это всё удалось ускорить в ~100 раз, по памяти выигрыш был 4-5 раз.Вообще, то, что ты хочешь структурированный XML парсить без определения структуры, уже многое о тебе говорит. Это ОК, если ты хочешь один раз что-то на коленке быстро написать, но если пишешь что-то серьёзное, то размазывать по всему проекту не работу с нативными объектами, а эти doc.xpath(...).first.attr(...) — не ОК. Кстати, для Go есть готовые либы с таким подходом (например, https://github.com/beevik/etree), но нормальный человек, почувствовав нужду в таком подходе, возьмет Python/Ruby и накидает скрипт на коленке.> В самом коде еще нужно делать преобразования типов и желательно обработку ошибокЕсли твой XML составлял не ПТУшник, то таких проблем не возникает. Из-за криворуких документов иногда приходится использовать промежуточные структуры с кастомными анмаршалерами, да.
>>886514Почему это ебанутая? Не надо вводить новую концепцию обработки ошибок, достаточно стандартного if-else
>>886552>нормальный человек, почувствовав нужду в таком подходе, возьмет Python/Ruby и накидает скрипт на коленке.Я вот всю жизнь так делаю (я не бэкэнд разраб, а жалкий админ), но все больше ops тулов пишут на этом языке. Недавно столкнулся с компанией, где все новые тулы golang only.
>>886621Если их инструменты достаточно сложные, то почему бы и нет?>>886617Стандартного if-else достаточно тогда, когда ошибки не возникают. Когда же они возникают, начинается отладка. Стоит упомянуть лишь то, что стектрейс говорит, где был panic, но где был иницализирован error — нет, это уже твоя задача. Я тоже считаю, что подход к обработке ошибок в Go не так уж плох до определённого момента.
>>886617Программист - ленивая скотина, которую нужно быть по рукам. Программист никогда не будет делать то, что он может не делать. Чтобы игнорировать ошибки в какой-нибудь жабе нужно делать так: "try { func(); } catch e {}", если ты этого не сделаешь, то при первой же возможности рантайм выскажет всё, что он о тебе думает. Чтобы добиться подобного поведения в го нужно делать ничего. Буквально, ничего. Ты просто не пишешь код, и все ошибки игнорируются так же, как это делается с вышеприведённым кодом в жабе. После первой же ошибки состояние программы становиться некорректным, и её поведение в крестостандарте описывалось бы как "undefined behaviour". И вот же что забавно - ты знать не можешь, когда, где и какой мудак поленился написать этот "if else"; то есть потенциально после любого вызова любой не твоей функции состояние программы может быть некорректно, и ты об этом даже никак не узнаешь.Такой вот охуенный язык, такой вот замечательный подход к обработке ошибок. Зато на концепциях сэкономили.
>>886659Твои аргументы — говно. Даже в самых хуевых либах не видел игнорирования ошибок. Если какие-то дауны теоретически могут что-то там игнорировать, то они сделают это независимо от того, сложно им это игнорировать или легко. Это никак не оправдывает странного подхода Пайка к вопросу, но я не первый раз вижу людей, которые несут хуйню вроде той, что ты несешь.>>886624-кун
>>886668ты дебил-фанбой, читающий жопоймимошел
>>886673Мимо шёл, но за мой елдак ртом зацепился.
хоспади, я уже и забыл, почему этот раковник перманентно скрыт
>>886676Скрыт, но как бы открыт, поэтому ты зашел, да?
>>886680вот решил глянуть, чё там черви-пидоры нонче обсуждают и лол, - ничего не изменилось за пол годачао лахи-девопсики
>>886668Ошибки не всегда специально игнорируются. В ноде была такая же проблема до недавнего времени. Я охуел от количества варнингов о неотловленных экзепшонов на своем проекте, когда нода начала о них писать. Хотя я считаю себя довольно внимательным погромистом, который не делает хуяк-хуяк
>>886624Его-то везде достаточно, и проблема не столько в игнорировании ошибок, сколько в том, что обрабатываются они абсолютно одинаково. Вот возникла у тебя ошибка в функции которую не ты писал, но что-то да возвращает причём не факт что этот кусок кода вообще задокументирован - ты же просто в лучшем случае залоггируешь/кинешь панику/сам вернёшь вернёшь ошибку раскрутив руками стек. Вообще всё это можно было сделать просто блоком try...catch в точке входа, но вместо этого у тебя код будет состоять в лучшем случае на половину из if err != nil { panic("sukablyad") } - к этому основная притензия.
не тонем
https://blog.pusher.com/golangs-real-time-gc-in-theory-and-practice/Тем временем, хвалёный РИАЛТАЙМ ГЦ го всасывает у... барабанная дробь... ОКАМЛА БЛЯДЬ! У самого медленно развивающегося куска верблюда, причём не самой новой версии. Оправдывайтесь, говноеды.
>>888582мамку ебал
>>888595Сокрушительная победа илюши и языка го.
>>888582Кричу чота.Как раз хорошо зашло бы в тред про стек который не грузит гц.
>>888582>>888836>The ~3ms pause times for OCaml are due to the incremental GC algorithm that OCaml uses for the old generation. (Our main reason for not choosing OCaml was its poor support for multicore parallelism.)Лол, ну так все понятно. Конкретно этот (тривиальный) бенчмарк лучше получился у окамля, потому что он юзает оптимизацию гц. Если бы тест получился сложнее (с чуть более долгоживущим мусором), Go его обошел бы. Это во-первых. А во-вторых, во-вторых, чувак гонял на Go 1.7.3, когда на дворе Go 1.8-beta1, в который завезли новый сборщик, который работает за sub-millisecond время.Ты бы лучше посмеялся с того, как любимый публикой Haskell полощется в районе 60 мс :DИли джава с ее жалкими >100 мс задержками.
https://beta.golang.org/pkg/sort/#Slice все уже видели? В Go теперь нормально сортировать можно)
>>888848>мамку ебалСократил без потери смысла, не благодари.
ребята кто знает в чем дело?создал раздел на 8300мб на и отформатировал его в fat32Хочу задать файл подкачки. Задаю 8192мбПерезагружаю комп а там стоит файл подкачки 4.15гбПробывал уже по разному.В настройках стоит 8300 но показывает что на диске занято всего 4.15
>>888859Илюша, тебе непременно нужно сосать хуй.
>>888862спасибо. нет
>>888848>OCaml uses for the old generation.>Если бы тест получился сложнее (с чуть более долгоживущим мусором)Вся суть итт треда.Хоть кричать я начал ещё на "оптимизации гц".Что хаскель — язык для развлечения не секрет, тот же окамл юзается в продакшене куда шире (хотя с хаскелляхайпа легко решить наоборот).О джяве там в комментах отписали, она в тесте без прогрева (он со 160 до 50 роняет) и не тюненый (вообще, как и все остальные – их в отличие от гошного внезапно можно тюнить).>когда на дворе Go 1.8-beta1Люди в продакшене на 1.5.x только переезжают, ты о чём.
>>888864У нас в клаудфлейр обкатывают 1.8 на 10% продакшн серверов.
стенатекста>>884295У эппла и МС всегда был языки, заточенные под их инфрастуктуру, так исторически сложилось и от этого никуда не деться.Котлин тащемта годнота, джетбрейнс решает проблемы, которые их в яве изрядно заебали.У фейсбука вообще тонны бабла и огромнейшая инфрастуктура. Они деньги вкладывают вообще в весь опенсурс и разработки, которые им упростят поддержку. Уверен там во внутренней кухне разработок еще больше, которые никому не показывают.Но я так, с дивана.>>886659В либах из стандартной библиотеки ошибки не игнорируются. Если у вас кто-то пишет не по гайдлайнам его проблемы.Я работал как-то над проектом, где нельзя было запушить код в репозиторий, если были варнинги от pep8 и pylint, только допустимая длина строк была 120, ибо мониторы кошерные.Но один хуй, если высирать код, придерживаясь каких-то правил, это сократит и тебе время и другим людям.Я вот зуб даю, что через год ты взглянешь на свой же говнокод и охуеешь от осознания того факто, что его писал ты.>>888582Когда у меня жрет 10гб сервак мускула на одной ноде, 40 редис, а приложение всего 1, то как-то похуй на гц. С задачами быстро справляется и похуй.Энивей окамл не менее нишевый, чем го, со своими недостатками и преимуществами.
>>888994>сервак мускула на одной нодеТогда у тебя всё очень плохо.>Энивей окамл не менее нишевый, чем гоИ в чём же это заключается? Ну кроме яскозал.>ошибки не игнорируются>>886847>У эппла и МС всегда был языки, заточенные под их инфрастуктурДа насрать на них, сейчас языки клепать начали вообще все — от производителей железа (крей, интел) до совсем среднячковых компаний (жидбраинс).
Обновился до 1.8, отвалился gocode. Нормально вообще? Пока не будет нормальных инструментов писать на этом говне не нужно.
>>889021Релиз 1.8 запланирован только на январь, пиши им в багтреккер лучше чтобы пофиксили.
>>889021>Нормально вообще?Да.
>>888848>Если бы тест получился сложнее (с чуть более долгоживущим мусором), Go его обошел быЕсли бы Иван Грозный сына не убил, мы бы сейчас на марсе жили. Ты сделай, а потом посмотрим и сравним. Еслибовать можно долго и безрезультатно.>чувак гонял на Go 1.7.3, когда на дворе Go 1.8-beta1Илюш, он в статье же и говорит, что в 1.8 марк фазу оптимизировали, а она боттленеком не была. Хочешь доказать превосходство - перепиши бенчмарк под 1.8 и покажи им всем, а пока будь добр сосать молча.>любимый публикой Haskell полощется в районе 60 мс>А вот у вас там в европах в жопы ебуцца! Плевать, что мы в говне по уши, зато у нас пидоров нету!>>888859Хороший вопрос, как раз для го-треда. В жыр32 размер файла хранится в DWORD'е.
>>888848>потому что он юзает оптимизацию гц.Ахуеть блять, что ещё за оптимизация GC? Он использует какие-то хаки? Настраивает сборщик для конкретной конфигурации железа?Нет блять. У него просто лучше алгоритм GC. Какой из этого вывод?
>>889084>Какой из этого вывод? мамку ебал
>>889051Откатился на 1.7.4, репортить не стал.
>>889084> Какой из этого вывод? Ты хуй
>>889117ReКупи слона илюше
>>889120Лучше я ему скобочек куплю.
>>889103Так же делаю, находя баги. Го-маня-мир должен нормально так наткнуться на "айсберг-реальности" и научиться трижды думать, чтобы вестись на маркетинговый хайп (а последние должны научиться делать качественный продукт)
>>889021У тебя gocomplete отвалился, а не gocode. И вообще это бета, тебе никто не гарантировал, что 3rd party tooling будет с ней идеально играть.>нормальных инструментов Сам пользуется атомом ахахахх
>>889187> Го-маня-мир должен нормально так наткнуться на "айсберг-реальности" и научиться трижды думатьШта
>>889335Ничо, это пятикопеечные бушуют)
>>889335шта хде куда
>>890003сам себе лизнул?
Анон, есть какое-то решение, которое позволяет обходиться без импортов вида "github.com/vasyan1488/yoba-microservice", т.е. без полных путей относительно GOPATH? Очень раздражающая хуйня почему-то.
>>890435Нету. Потому что НИНУЖНА.Единственный вариант — вендорить все депенденси руками к себе в проект.
>>890450>Нету. Потому что НИНУЖНА.Go-way, как есть, лол!
>>890435Это фича, лох)
>>890478ЗАБИЛ НА ПРОЕКТ НА ПАРУ НЕДЕЛЬ@ПОНАДОБИЛОСЬ ИСПРАВИТЬ 1 СТРОЧКУ И ПЕРЕСОБРАТЬ@ВСЁ РАСПИДОРАСИЛО НАХУЙ И НЕ СОБЕРАЕТСЯ@ПЕРЕПИСЫВАЕШЬ ВСЁ С НОВЫМИ БИБЛИОТЕКАМИ
>>888994 > Они деньги вкладывают вообще в весь опенсурс и разработкикому нужна ето жс говно, а даун)
>>890606ОТКРЫЛ ДЖАВА ПРОЕКТ 4 ЛЕТНЕЙ ДАВНОСТИ@ЗАМЕНИЛ СЕРВИС ПО ИНТЕРФЕЙСУ@СОБРАЛ, ЗАПУСТИЛ, ПРОГНАЛ ТЕСТЫ, ЗАРЕЛИЗИЛ@ВСЕ РАБОТАЕТ КАК ЧАСЫ, ХОТЯ УЖЕ НЕ ПОМНИШЬ КАК ТАМ ЧТО РАБОТАЕТ ВООБЩЕ
>>890693Вот поэтому я и выбрал жабу.Приключения интересны юнцам.
>>890699Мнение крудошлепа нам очень важно, для вас есть отдельный загон.
>>890714то чувство, когда завидуешь, что чьи-то круды не сыпяться как в говно-js спустя неделю
>>890746>Go-тред>джява-даун топит за хуиту для перделок в браузереДобро пожаловать. Снова.
>>890824>2016 год>маня верит, что кроме веба и мобильников его код где-то еще нужен
что дает эта асинхроность в го для микросервисов?Ну да http i/o, в бд еще блокировка есть. И все?Да и сам дефолтный http сервер тормазнутый какой-то (есть тесты).При этом же планеровщик дергается же при каждых вызовах функции?
Вы, блять, видили какие шрифты завезли гоферы для демонстрации кода??https://blog.golang.org/laws-of-reflectionБлять, хорошо ход не курсивом написали.
>>891450Так эти хипстеры же недавно вообще свой шрифт запилили, лол.
Хочу написать на go обфускатор go-кода. В какую сторону смотреть? Что посоветуете почитать? Я не очень опытный
>>891519Собственный обфускатор кода для чайников. 2012 года, автор Пайк Роб
>>891519Нахуя?
>>891574Да ебет тебя, сука, нахуя? Хочется мне, блядь, так!
>>891574Он боиться что его говнокод кто-то украдет.Каждый быдлан у нас же невьебаться непризнаный гений
>>891600Ну а по сути есть че казать?
>>891615Соси хуй, быдло.Вот тебе по сути.
>>891671Специалист уровня этой параши. Ясно.
>>891694>это всерьез требующее годноты быдлоКакое смешное, надо же.
>>891695А вот и тонкие реквесты ничего не знающего дауа подъехали...
>>891450>видили какие шрифты завезли гоферы для демонстрации кодаГугли что такое font license.
Теперь вы добавлены в Перекотер, так что вам нет нужды перекатывать треды вручную >>891794
Подумываю, куда перекатиться со сраного Пузона. Гляжу в сторону Го.Но вот смотрите, пацаны. Одна из главных заявленных фич Го - эффективные зелёные треды. С одной стороны, это звучит так заманчиво, что ради этого можно потерпеть даже дебильную систему типов. Но с другой стороны... так ли эти зелёные треды фундаментальны? Ведь по большому счёту это фича рантайма. Вон, в Rust'е отказались от зелёных тредов, чтобы избавиться от рантайма (теперь они едят кактус futures). Но даже на Rust'е, даже на Си, у большинства приложений уже есть рантайм - ядро ОС. И оно уже реализует вытесняющую конкурентность - обычные треды. Да, они дороже, чем горутины, потому что переключают больше контекста. Но, во-первых, настолько ли дороже, чтобы было критично на масштабах обычных смертных (не Гугла)? А во-вторых, так ли эта дороговизна фундаментальна?Иными словами, если сейчас я куплюсь на хайп вокруг горутин, не случится ли так, что завтра в Линуксе сделают какие-то супер-легковесные треды вроде Виндовых fiber'ов, с ними подружится компилятор того же Rust'а, и ржавобоги получат сильно конкурентный в/в на нормальном языке, а мне в числе гофербыдла останется подбирать за ними объедки?
>>892663>Виндовых fiber'овЯ тебе больше скажу: в той же os x и bsd-ях есть GCD, который и есть этот самый рантайм, но с куда большей гибкостью.В Го вся суть именно в том, что можно делать хуяк-хуяк, от которых компилятор раста или утечки в сях тебе этот хуй оторвут. Работать будет не так быстро, но очень кошерно по сравнению с другими хуяк-хуяк языками.
Есть такая функция http://pastebin.com/S0hA3ahT>panic: near "WHERE": syntax error
>>892675> Я тебе больше скажу: в той же os x и bsd-ях есть GCD, который и есть этот самый рантайм, но с куда большей гибкостью.Во, кстати, да. Я что-то слышал про GCD, но забыл. Спасибо.> В Го вся суть именно в том, что можно делать хуяк-хуяк, от которых компилятор раста или утечки в сях тебе этот хуй оторвут. Работать будет не так быстро, но очень кошерно по сравнению с другими хуяк-хуяк языками.Прости, не осилил разобрать. Это довод за Го или против? Можешь ещё разок, без слов на ху-?
>>892680Нид хелп, посоны
>>892693Хуй. Это не довод (хуитка) за или против, это просто такая хуйня которая кому-то нужна. Вот такая вот хуйня.
ансейдж
>>892663именно так, да и сейчас они нахер не нужны, завезли уже асинхронный веб и i/o вообще с DirectMemory, завезли асинхронную работу БД, и собственно - больше асинхронить то нечего, только избыточная нагрузка на планировщик по каждому чиху (хотя это задача ОСи, которая кстати лучше справляется).А всякие 100500 миллионов в секунду это развод, так как холостые запросы нахер никому не нужны, натяни бизнес логику и все просядет и нужно будет распределять так и так.
>>892695Еба, я гоню. UPDATE же.
>>892663Какую кашу нужно иметь, чтобы разменять питоны, руби, даже js, и даже php на го? На эти костыли времен семидесятых годов?Имхо лучше докупить планочку ОЗУ, чем блять страдать в такой параше, с хорошо натаскаными лемингами-евангелистами и их подрожателями
>>892701> асинхронный веб и i/o вообще с DirectMemoryЭто кто? Нагуглил https://directmemory.apache.org/ но не понимаю, каким боком оно к асинхронному в/в.>>892707> Какую кашу нужно иметь, чтобы разменять питоны, руби, даже js, и даже php на го? На эти костыли времен семидесятых годов?Вот я и хочу понять: горутины - это костыль или неебись достижение прогресса. На костыли менять не хочется. Всё же Питон хоть и говно в известной степени, но работа на нём есть и не самая плохая.
>>892725>но работа на нём есть и не самая плохая.Очевидно что фрилансерам нет смысла перекатываться. Для тех, кто мутит модный стартапчик, кого заставляют писать на Go, кто делает какие-то свои прожекты (как я). А такому как ты, ремесленнику, оно не надо, не забивай себе голову.
>>892725> асинхронный веб и i/o вообще с DirectMemoryОбщая память-буфер между сетевой/файловой хуйней ввода/вывода, минуя 100500 промежуточных буферов, для мгновенного обмена данными, при этом не аллоцируя лишний раз в хип (java)Асинхронщина в контексте веба нужна только для http запрос-ответа и бд - и все, поэтому завезли всякие тулзовины для других языков (фьючеры, async/await), и будут всегда для них пилить подобные фичи в API операционки (потому что все языки важнее, а го там и сам справится, наверно).И 100500 миллионов горутин нахуй не нужны так как ты всегда ограничен своими ядрами на проце (если конечно у тебя там не ЦОД соразмерный с деревню).Мое ИМХО - на Го нереально писать большой и сложный проект, он по-моему создавался для скрипто-тулзовин
>>892730Чё-то ты не то прочитал в моём посте. Я как раз о том, что перекатываться хочу не за едой (еда пока есть), а за ПРОФЕССИОНАЛЬНЫМ РАЗВИТИЕМ. Поэтому я присматриваюсь, а не клюю сразу на удочку гугла. И наличие успеха прямо сейчас (а Го, несомненно, уже успешный язык) - веский, но не доминирующий фактор. да, Хаскель уже освоил
>>892741И да, бойтесь этого языка, писать на нем большой код боль, а евангелисты там хорошо раскручивают его, дойдет и до ваших начальников и будут вас, под якобы-экономию железа, переводить на го-проекты (хотя потом заплатят за это другую цену, но это будет потом)
>>892742Профессиональное развитие - там где серьезное бабло и серьезные масштабы. Тут без вариантов - джава.На Го он развиваться решил, ппц.
>>892741> Асинхронщина в контексте веба нужна только для http запрос-ответа и бд - и всеАсинхронищина нужна для запрос-ответа клиента, БД, кэшей, очереди задач и ещё дохуиллиона сторонних сервисов, в которые ты ходишь по сети. То есть, для всего сетевого ввода/вывода (а при большой нагрузке - и для дискового тоже).А нужна она потому, что блокирующий в/в на тред-пуле - это минное поле, которое взрывается, как только любой из этих сторонних сервисов начинает тормозить по любой причине (например, порвался канал). Таймауты не помогут, их невозможно так подобрать.Альтернатива - отводить тред на каждый запрос (или хотя бы уметь это делать при исчерпании пула). Но говорят, что это гроб гроб тормоза контекст-свитчинг. Я вот и пытаюсь понять, где тут правда.
>>892744> Профессиональное развитие - там где серьезное баблоВовсе нет.> и серьезные масштабы.Теплее.> Тут без вариантов - джава.Лол. Похоже, ты не видел ни серьёзного бабла, ни серьёзных масштабов.
>>892754Это как раз от тебя несёт каким-то маней-мечтателем, который от хипстерских технологий возбуждается так, что стены ебать готов.
>>892751>Но говорят, что это гроб гроб тормоза контекст-свитчингДля того и делают гринтреды с шедулерами. Го, собственно, отличается тем что позволяет делать хуяк-хуяк-канкаренси, что ты ищещь-то?
>>892754А какие варианты яве-то? Го, у которого кучи багов в каждом новом релизе? У которого не то что даже гц нельзя настроить, а проект нельзя создать где хочешь — потому что НИНУЖНА?Это игрушка для утилиток вроде докера (ну, докер — это их сборник). Не больше.
>>892758Я ищу понимания, насколько это уникальная фича Го. Если это невротъебенная космическая технология, то возможно ради неё стоит запрыгнуть на hype train. А если завтра то же самое может появиться в $another_server_language или прямо в Линуксе, то я подожду.
>>892761> А какие варианты яве-то?Множество масштабных и серьёзных систем пишется на C++. На Python, к сожалению, тоже дофига. Бывают на Эрланге и даже на C. Это даже если вместе с Явой исключить всю её экосистему (Scala) и .NET заодно (C#).
>>892768Ну так оно уже много где есть уже есть в системах изкаробки >>892663 >>892675 Тут тебе 200 раз написали — аналогов для хуякхуяк нет, даже в питоне сложнее. Если для тебя это прям киллерфича — стоит. >>892771Не прыгай из области в область, мы сейчас говорили про сурьёзный бизнес в целом и конкретно нишу явы, а не про гугл и фейсбук.
>>892774> Тут тебе 200 раз написали — аналогов для хуякхуяк нетБлять, ты можешь по-русски написать? У тебя табу какое-то или что? Слово рвётся из груди, но не как не может вырваться! Выпусти же его, скажи, какая идея сокрыта за словом "хуякхуяк"!> Не прыгай из области в область, мы сейчас говорили про сурьёзный бизнес в целом и конкретно нишу явы, а не про гугл и фейсбук.Лол что. Мы говорили о профессиональном развитии. Про бизнес и яву >>892744 стал заливать.На всякий случай уточню: профессиональное развитие - это "клепать менее говно", а не "получать больше денег за больше говна".
>>892768Я ищу понимания, насколько это уникальная фича ГоНастолько уникальная, что от зеленых тредов в джаве отказались еще в версии 1.2
>>892781То было в 1998. Тогда не было высоко конкурентного веба и даже C10k. Нещитово.
Сюрьезный бизнес на CRUD-питоне, динозавра Си, загнивающем шарпе и ерланге никому не нужном, блять...Сейчас вроде такие долбаебы на node.js тусят? Пиздуй туда и уноси свой Го.
>>892782Вот сделаешь мне 10К на одном ядре с бизнес логикой, вот тогда поговорим, а пока иди нахуй с холостыми i/o (и да, уже тренд 100к и даже 1М).
>>892781Настолько уникальная, что супербыстрый го в бенчмрках веб фреймворков от techempower всасывает сочной хуятины у явы и прочих?>>892778Ахуеть порвало маню-фанатика. Стандартные оправдания хипстеров, придумай что нибудь новое.
Вот так, ёпты. Пришёл в тред с анти-Го посылками и чуть не троллингом, а спустя десяток постов меня записали в хипстеры-фанатики Го.Ладно, ребята, нормальных ответов от вас хуй получишь, да я и сам хорош, придираюсь ко всему подряд, пойду читать про GCD лучше.
>>892788я как бы и сказал что зеленные треды хуйня, только для узких мест, в остальном только просадку даст (из-за того что планировщик на каждый вызов функции дергается).
>>892707> с хорошо натаскаными лемингами-евангелистами и их подрожателями Это ты сейчас про джавадебилов? Только они тут зачем-то пытаются доказать что го сосет и ненужен.
>>892890>джавадебиловИстина.>го сосет и ненуженИстина.
>>892774>аналогов для хуякхуяк нетВ винде есть фиберы, в ЛИНАКСЕ тоже что-то такое есть, как выше сказали,- напиши свой планировщик, и будет тебе хуякхуяк в любом языке.
>>892910>напиши свой планировщикВот именно это и делает го языком пригодным для хуякхуяк. В других языках пердолить системный апи/писать свою библиотеку и тд — в то время как в го накатил компилятор и пилишь говнокод.
>>892928Чем goвнорутины лучше, чем Эрланговская многопоточность?
>>892930Тем что позволяют пердолить более—менее эффективный код на одной машине. У эрланга всё наоборот.
>>892928Пишется один раз, а потом используется из других языков. Там, где макросы есть, можно даже сахарок поверх напердолить, чтобы почти как в го было. И без всяких привкусов. А так получается, что го - для неосиляторов.
>>892898джава-господам срать, даже шарп отсосал у джавы по рынку, а вы этоу помойку противопоставляете, вы вероятно путаете с андройд-уебками, но это же бывшие скрипт-киди.
есть уже стори как мы разочаровались и вернулись/перешли на %язык%
>>893581Так куда переходить-то? На нём только хипстеры и пишут. Тут вон уже отпиысывали - дырявые беты в проде накатывают, что как бы намекает на аудиторию. Пока ничего нового и хайпового не запилят - будут кушать что есть.
>>893581https://habrahabr.ru/company/badoo/blog/317442/#c
>>893675Но это не точно.
>>893581В моём наполовину продуктовом бодишопе запилили продукт на go бывшие пхпшники. Говорят что из-за того что менторы рекомендуют не юзать фреймворки, а обходиться только стандартной либой - приходиться писать свои велосипеды на каждый чих. Не понимаю то им мешает забить на менторов и заюзать какой нибудь revel/iris/etc, но из-за велосипедострония решили в будущем отказаться на новых проектах.
>>893774> из-за того что менторы рекомендуют не юзать фреймворки, а обходиться только стандартной либой - приходиться писать свои велосипеды на каждый чихВся суть.Недавно разговаривал с командой, которая делает на Го очень нехилый продуктовый комплекс. Они мне тоже: только стдлиб, только хардкор. Почему? Ну тип чтоб не было как в JS с left-pad)))
>>893901Поражает их неспособность отличить востребованный опенсорс, у которого есть комьюнити и оно поддерживает код, от васянских поделок, которые были написаны из-за необходимости костыля и выложены в общий доступ что бы потешить ЧСВ. Вдвойне поражает что это их решение, а не навязанное кем-то сверху, начальством или заказчиком. Тут прямо напрашиваются шутки про пхп и go, лол.
>>893908Да это не их решение, это называется "пайк скозал что нинужна значет нинужна". Так же как и со всем остальным.
>>893913Дополнительный лулз что на фронтенде там angular2, т.к. модно стильно молодёжно. А это в отличие от топорного go, напротив - переусложнённый фреймворк с неебическим оверхедом (~3МБ для hello world это вам не шутки) и отсутствием вообще какого то "тру" пути. От чего приходиться вместо написания кода - постоянно бороться с наркоманскими идеями разрабов сего чуда.
>>893901лол, любая либа или фрейм это экономия 100-1000 человеко часов, видимо заказчики очень жирные и готовы оплачивать велосипедные костыли
https://habrahabr.ru/company/badoo/blog/317442/#comment_9961156>Расскажите про юнит тестирование Go демонов>Мне немного стыдно, но у нас для Go практически нет юнит тестовПиздец.Я параноик, или реально в компаниях для игр накатывают го, чтобы потом пропиарить/разрекламить себя?
>>893987У меня еще паранойя, судя по тому, что на хабре давно стухла вся аудитория и яркое общение редкость, не кажется ли тебе, дотошный анон, что большая часть вопросов там от сотрудников и они сами же себя наплюсовывают?
>>893990А ты быстр и сообразителен, счастливый владелец сорок седьмой хромосомы.Не прошло и года как ты НАЧАЛ ПОДОЗРЕВАТЬ
>>893987Нет, просто тесты в большинстве случаев нахуй не нужны.
>>894033Not_Sure_if_Trolling_or_Just_Stupid.jpg
>>893918Начать надо с того, что в целом использовать Го для бэка сайтиков - так себе решение, из пушки по воробьям, что называется.
>>894042Они же написали, что тестов почти нет и что переписывали на go сишники, где юнит-тестирование и какое-нибудь tdd не самое веселое занятие.И да, тесты в большинстве случаев нахуй не нужны.>>893918> модно стильно молодёжноНет, просто ангулар решает задачи. Только и всего, а ты и дальше продолжай думать, что это тяжело и вообще не нужно. Вторая версия заоптимизирвоана с накинутой поверх типизацией в виде тайпскрипта.Практически единственный хороший подход в вебе, если не учитывать слегка сырой elm.
>>894076>ангулар решает задачиДа, но делает это через ненужный оверхед. React, например, решает те же задачи и намного элегантнее. Да это не фреймворк, но у реакта есть своя экосистема в которой есть всё что необходимо.
>>894076>>894094Воу-воу, давайте просто сойдёмся на том, что ЖС в принципе необходимое зло, писать на котором неприятно, и закончим на этом.
>>894094> решает те же задачи и намного элегантнееКекус.
Я знаю почему не пишут фреймворки, го настолько бестолковый и неуклюжий, что если писать какую-то архитектуру, придется писать на псевдо-ООП ( еще и с геттерами и сеттерами) и суслики бояться что получиться очередная недо-джава (как и в случае с пхп)мимо котлин господин
>Idiomatic way to remove duplicates in a slicehttps://www.reddit.com/r/golang/comments/5ia523/idiomatic_way_to_remove_duplicates_in_a_slice/
>>894222От создателей slice[len(slice)-1]
>>894262Скорее от создателей append(a[:i], append([]int{x}, a[i:]...)...)
https://www.jetbrains.com/go/
Объясните за if err!=nil {}Это че, мне после каждого вызова надо будет описывать блок обработки ошибки вместо самой логики. То есть логику придется размазывать по коду между блоками обработки ошибки?
>>894832В общем, да. Обычно делают обёртку для этого дела.func handleErr(error err) {// обработка}res, err := shit(a, b)handleErr(err)
>>894821Вот и приехали. Однозначный вин.
>>894867В чём вин-то? Это просто плагин для идеи вынесенный отдельно.
>>894862ну то есть проверку на err!=nil вынес в handleErr. Но handleErr получается тоже должна возвращать типо ошибка/не ошибка, и ее результат также получается нужно проверять и либо продолжать выполнение логики либо возврать из функции делать? Ну дак в обертке-то еще и контекст потерян, и если мне там кучу ресов надо освобождать например, это мне придется в handleErr все хендлы (или что там в Go) передавать?
>>894889Да, так всё хуёво. Такая обработка ошибок-одна из основных претензий к языку.
>>894902Наоборот - охуенно же вон как у вас, пидорасов, горит
>>894915лично у меня фрустрация не от обработки ошибок, а от отсутствия нормального паттерн-матчинга и алгебраических типов. всю хуйню простил бы за эти две вещи, а так да, goриткстати, раз такая уже публика, то почему никто ещё не запилил язык компилируемый в go?
>>894920Запилили уже. Odin, have, чё то там ещё.
>>894920Ну ты уж загнул. Создатели даже map/filter/reduce отказались делать. Обоснование этому в классическом go-way: НИНУЖНО.
>>894923Да нет, пайк сам их написал и выложил на гитхаб. Правда подписал именно так: НИНУЖНА.
>>894923их можно просто реализовать как методы, эта вся хуйня уже проходилась в прошлом с js. в сравнении с nodejs го выглядит няшнее в перфомансе, но деревянный синтаксис так и просится навернуть сверху какой нибудь сахар
>>894922не могу нагуглить, Один гугл воспринимает либо как транслитерацию русского "один"(одна штука) либо как либо для документации. с have всё ещё более плачевно. ясен пень что golang have something
>>894948*либу
>>894889>Но handleErr получается тоже должна возвращать типо ошибка/не ошибка, и ее результат также получается нужно проверять и либо продолжать выполнение логики либо возврать из функции делатьНет, зачем так? Есть три варианта:1) игноришь ошибку2)обрабатываешь её здесь и сейчас и забиваешь на нее3) делаешь в данном месте возврат в вышестоящую функцию
>>894948https://git.handmade.network/gingerbill/Odin
>>894948http://havelang.org/
>>894969>>894970благодарочка!
>>894915лол, какие же они сектанты ебанутые, мы то не пишем, страдаете как раз вы.
>>894966выбираю>1) игноришь ошибку
>>894821лол, увидели популярный плагин, форкнули и теперь будут бабло гребсти с сусликов.У опенсорсных макак от этого не бомбит?
>>895032Нет, я готов платить за гарантированную поддержку и фичи.
>>895032Самое смешное, что оригинальный плагин собираются ограничить ультимейт версией идеи и др. её платными ответвлениями. Опенсорс, он такой.Хотя у кого там бомбить-то будет — поищи вон на реддите обсуждения iris-а. Это такой веб-фреймворк, автор которого отклонял все коммиты и коммитил от своего лица. И этим до сих пор кто-то пользуется.
>>895055А как еще можно организовать?Как оформить платформу, напрямую не приносящую доход, но позволяющую на себе разместить то, что доход приносит?Если сделать публично - своруют, если приватно - заебет все контролировать.Пока дошел до стратегии: отдать публичную часть корки попенсорцу, под утехи и забавы, а приватную анально контролировать, чтоб не утекло.И аффтору хорошо: пилит только свое.И попенсорцу: на платформе можно много чего козырного запилить, да и если аффтор-мудаг забьет хуй и полностью удалит приватный сервис с платформы, попенсорц сможет запилить более бледный, но вполне функциональный аналог, тем самым продолжив свое трудное, полное боли, попенсорц-существование.Такой вот праздник швабодки.Годно?
Go-анон, ответь честно: тебе нравится писать на этом языке или тебя заставили?
>>895156Сколько можно повторять, конченные блять. Язык это нечто большее чем система типов и набор грамматик. Язык это еще рантайм, язык это еще тулинг, язык это еще деплой и т.д. и т.д. Мне Go дает быстрые программы, широкую экосистему (пакетов много, легко прикрутить), простой деплой с кросс-компиляцией и хардверную конкуррентность. Это очень охуенный инструмент если ты знаешь что с ним делать.
>>895162То есть заставили.
>>895162Пишу я на %ЯП-нейм% и мне всё в нем нравится, мне не нужно себя через силу заставлять использовать его, при этом он мощный и на нём можно писать как всякие мелочи так и серьёзные приложения. Порой даже думаю, как хорошо, что я выбрал именно его в своё время.Довольно часто можно слышать фразу, особенно здесь, что язык-лишь средство, а не объект поклонения. Я согласен, но приятно же, когда язык одновременно прагматичен и написание кода на нём доставляет удовольствие?
А потом еще регуляркой парсишь err - то ли сервер с базой недоступен, то ли ошибка в коммите.>>894889
>>895156заставили, начальство как лохи купились на выигрыш производительности, а теперь логти грызут и на нас орут, что скорость разработке просела к хуям (у уже молчу про качество, так как наши велосипеды глючные, что сторонние, да блять сам язык глючный)мими питон макака
>>895171Лол, вспомнил сразу детство и пхп, там тоже вечно строки парсили, чтобы тот или иной тип узнать
>>894920> паттерн-матчинга и алгебраических типовПроиграл, нахуй это в полностью императивном языке?
>>895021Горят в основном javaдауны, типо тебя, которые приходят срать в тред. Потому что ничего кроме Huita<DrugayaHuitaInterface> huita = new Huita<DrugayaHuitaInterface>>(); не можете распарсить.
>>895156Нравится. Джава оверхед для моих задач, нода говно, на пайтоне, временами рубях, пишу на работе. Функциональные идеи не нравятся, а лисп, точнее slime emacs'a, не осилил.
Замечательный кандидат, сказавший, что Java он не знает и можно ли сделать задание на Go? Я сказал в том смысле что «хрен с ним, давайте на Go», на что получил ответ — «отлично, Go я тоже не знаю, вот выучу и сделаю»! Скажу честно — я горжусь знакомством (пусть и шапочным) с таким упорным человеком. https://habrahabr.ru/company/ecwid/blog/315228/Гоферы, почему вы такие глупые сектанты? Это же жесть))
>>895289Почему ты называешь гофером человека, который не знает Go? Человек из твоей цитаты не гофер и не джавер, а просто обычный еблан. Гоферы и Go тут не при чём.
>>895292Это толстый троллинг, зря ведешься.
>>895275Таким даунятам как ты котлин завизли (и скалу), а ты все порашу семедесятых готов жрешь, без обработок ошибок, без нормальных регулярок, без пропертей (лол голые структуры) и глючнее чем пхп и js (хотя те были стандартом де-факто)
>>895295> порашу семедесятых Идеи Оберона, и они хороши. Не нравится парадигма языка - не используй его, все просто.> без обработок ошибокЯ года 4 писал на сишке и не знаю, что это такое. А тут даже defer и recovery есть.> без нормальных регулярокТам, где мне нужны серьёзные регулярки, лучше perl скрипт накидаю. Простые регулярки в го хороши.
>>895292Потому что ты глупый суслик и не видишь тут очередной вкидон месседжа о том, "вот я возьму Го за пару дней и стану про-программистом на нем". Просто он сказал это в таком блядь идиотском контексте, что вызывает только тупое умиление от маркетинговых стереотипов.
>>895300>Я года 4 писал на сишке и не знаю, что это такоеПосмотри в окно, мир за 44 года изменился.>лучше perl скрипт накидаюТам где нужно стандартное де-фактор решение - "я запилю свои костыли", ага. Да ты просто мастер проектного дела.
>>895300>Я года 4 писал на сишке И что же ты в го забыл-то? Из системщиков-лабодаунов в бэкэндеры?
>>895314скорее всего он писал круды на сишке, такие долбаебы тоже есть и для них го действительно очень крутой язык (как это было бы в 1970 годах)
>>895314Просто понравился язык. Такой же простой, но с куда большим набором фич.
>>895171Для эрроров можно типы задавать.Так что ничего парсить не надо, стандартные caseНо это если эррор написан нормально
Обратите внимание, как го-сектанты выравнивали или пытались выравнивать "ненужные" комменты (вероятно кооперируясь в их закрытом сектанском чатике на слаке)
>>895529забылhttps://sohabr.net/habr/post/274057/#comment_8716923
>>895523Конечно, в нормальных языках исключения имеют дерево наследования, скажем ты можешь прописать IOException вместо всех ошибок данного типа.В говне тебе придется ручками все ловить, лолА так же не забываем, что в будущем придется еще ручками стектрейс прописывать, так как рантайм ошибка "йоба-фукнции" не о чем не говорит, если вызывается тысяча раз из тысячи разных мест.И да, будут тысячи либ улучшающие работу с ошибками, как и с логгерами сейчас и будет сотня тысяч несовместимостей.Запомни уже Анош, Го не подходит для реального приложения, только хуяк-хуяк-скрипты.
>>895273а нахуй тогда в императивном языке возможность передавать функции аргументом в другие функции?
>>895538Не вижу противоречия с императивностью
>>895541окей, а какие противоречия у паттерн матчинга, который по-сути switch? тут даже мб и switch хватило бы, если бы завезли хотя бы union типыа вообще то что ты говоришь нихуя не аргумент, а больше похоже на троллинг или просто тупость
>>895536> в нормальных языках> дерево наследованиялол
>>895544паттерн матчинга нет в си и обероне, потому нет и в го
>>895686>лоллол
>>895688Нету, как и всего остального, потому что клали болт на синтаксис вообще. Но радует не это, радует то, что маркетологи + евангелисты настолько качественно выполнили свою работу, что суслики даже отстаивают многие решения (точнее отсутствие вообще каких-то решений).
>>895688> отсылка к "авторитетам"ретроград? ретроград же!в си не было http сервера из коробки, откуда в гоу, нахуй СЕРВЕР? что за хуйня!?
>>895692То что некую (я бы сказал большую, но не всю) аудиторию программистов постоянно разводят - это давно не секрет, но больше лулзов приносит сочетание этой тупости с их высокомерием.Не является ли маскот-дебил - этакой скрытой шуткой над ними?Есть тут ZOG эксперты, которые забыли принять таблетку?
>>895536омг. ещё один адепт Exception Driven Development. хочу прочитать файл на диске, а его нет - нужно что бы случилось выпадение ошибки которое непременно нужно ловить, иначе вся приложуха упадёт. вот где-то здесь ахуеть можно. а если нужно записать в файл но не хватает прав? конечно нужно снова что бы случилось выпадение ошибки. однажды ошибка выпадет когда ты будешь ехать в карете и её будет наматывать на колесо, пока у тебя глаза не втянуться в череп, как у улитки.
>>895694если смотреть по тестам, то это самый медленный асинхронный сервер, так что считай его там нет
>>895701> маняврирование в сторону снижения значимости фактасноб? сноб же!в си не было корутин и каналов из коробки, откуда в гоу, нахуй КОРУТИНЫ И КАНАЛЫ? что за хуйня!?
>>895703Я не то анон, я просто хотел обосрать сервер.Но соглашусь, только крайне поверхностно можно сравнить го с си, но не забывай что сусклики совсем не интеллектуалы.
>>895705зачем вообще сравнивать гоу с си и оправдывать отсутствие фичи Х в гоу тем что её не было в си? я такую хуйню если кому расскажу - мне же не поверят!
>>895710у тебя нет друзей и тебе никто не верит. Ты же на двачах и в го-треде, кого ты пытаешься обмануть здесь
>>895839лол. друзей нет, но есть сотрудники на работе, с которыми мы иногда ржем с найденных нами странностей в той или иной сфере айти. вот гоу достаточно богатый источник лулзов
>>895850ну так завези нам что-нить лулзовое, все равно всех фанбоев распугали
>>895912Я фанбой и еще здесь. Мне пичот только от ошибок и немного от отсутствия женериков, но женерики таки ненужны их слишком сложно понимать потом, а у меня айкью и так около 80, а ошибки я просто ИГНОРИРУЮ.
>>895703> в си не было корутин и каналов из коробки> в си не было http сервера из коробкиИ тут Остапа понесло.1. Когда пилили С, то идеи асинхронного программирования были только в теории. А go лепили чтобы избавиться от костылей в специфичных нуждах компании.2. В С из библиотек вообще нихуя нет из коробки кроме libc.
>>895990> А go лепили чтобы избавиться от костылей в специфичных нуждах компании.По сути go повторил путь эрланга.
>>895991Эрланг не взлетел.
>>895973это нормальная практика еще с пхп
Вспомнил что у меня есть аккаунт в сектантский чате (теперь уже почему-то закрытом чате, лол), буду по мере лени кидать лулзы сусликов.И так, сегодняшний пациент утверждает почему дебаггер не нужен.Го не только лучший язык тысячелетия (того тысячелетия), так взяв его, вы перестанете писать баги! Именно поэтому дебаггер это атавизм старых глупых языков.
>>896001Он слишком узкоспециализированный и начал набирать актуальность только в последние 5 лет про то, что его допилили до вменяемого состояния (когда можно просто взять и заюзать а не фиксить баги в нём самом и допиливать под свои нужды) как раз в последние несколько лет промолчим, лол.>>895991Да нет. Эрланг - из тех инструментов, что медленно но верно набирают обороты по большому счёту потому, что немного обогнал своё время, и имеет потенциал только расти (потому что аналоги тупо не поспевают за упущенным временем и все говно).Го же - дельфи1 в 1. Простой язык, киллерфича которого в текущий промежуток времени является мейнстримовой. Но суют и сувать будут везде. Собственно, на этом всё, дальше сами знаете.
>>896021Так то же самое несут хачкель-сектанты, мол, отладчик нинужин. Что как бы намекает что они ничего и не пишут, лол.А вообще, сервер отдающий статику конечно так трудно написать. Суслики даже не пытаются скрывать своё умственное развитие. Про типизацию и обработку ошибок порадовало (а под злым компилятором он что имеет в виду - запрещение компилировать если есть лишний импорт?)
>>896023лол, горутины киллер фича?ну серьезно для чего ты стал их использовать?? Про асинхронный пиздеж не надо, он нужен только в блокирующий i/o,а это редкое явление по процессорному времени, а вот дергать планировщик каждый вызов функции это нормально (причем ОС тоже делает это)?
>>896010Не поверишь, но я не писал никогда на пхп, вообще никогда, даже гостевух. И мимо веб-параши на го тоже прошел. Веб - для педиков.
>>896027Да, это киллер фича позволяющая утилизировать все лишние ядра безо всякого пердолинга. Как и в дэльфи в своё время с гуем - может и будет притормаживать, зато легко и просто.
Автокомплит названий функций/методов в IDE??? - НЕНУЖНО!!!
>>896033Еще раз, выигрыш будет только во время блокирующий операций (которые уже юзают реже), а в остальном твой поток и так в максимум отработает (но не в ГО, так как там будет шедулер на каждый вызов функции дергаться, представь какая просадка)
>>896032>>Веб - для педиковТы в нем сидишь и пишешь это, хм, ну окей
>>896038Вероятно это про функцию которая переводить строку в int - Atoi() - охуенная функция, а то блять ParseInt() пиздец какое длинное и запутанное имя.
>>896057ASCII to INT, что не так?>>896041Да похуй на шедулер и тормоза, можно сделать быстро и модно загрузить ядра.
>>896044Имеется ввиду что его готовят педики. Ты еще скажи что макак не играется на заднем дворе у себя.
>>896038Вообще чат там нормальный был раньше, пока ебанутая Леночка не забанила 255-го. Я и сам съебал оттуда после его бана, пусть варятся в своих стартапах сами, дауны.
>>896062>Сокращение по первой букве в 2016 году>Что не так?Все отлично, продолжайте.>Да похуй на шедулер и тормоза>и модно загрузить ядра.чтобы этот монстр тормозил уже на всех ядрах, лул
>>896067стори?
>>896074У мясной дырки https://twitter.com/webdeva пригорело. Вот и вся стори. Да похуй на этих чертей.
>>896078её по-моему завезли, когда упрекнули что голанд-шоу как сосисочная вечеринка, а все норм подкасты пищалку имеют.Но все равно от нее толку ноль, она там почти молчит всегда.Правда помню подкаст, она проговорилась про отчет (она ляпнула типа "как было бы удобно если бы ты сделал так, было бы удобно отчет составлять").У меня сразу же включился ZOG - отчет кому??? Некой доброй компании?
>>896081что касается чатика, так там иногда такую херню несут, и так слащаво себя ведут, что по ощущениям как минимум 95% участников там даже не программисты, а как бы просто играются в Го и либы (есть такие полудурки)
>>896081>Некой доброй компании? Ну так у них же есть спонсоры. И вангую не только диджитал оушен. Платят так или иначе за популяризацию.
>>896067Да не был он нормальным ещё задолго до неё. Вспомните как там забанили илюшу за "говно" и устраивали охоту на ведьм (если кто найдёт на архиваче/в гугле стори будет) или как там дивана0 заставили расплакаться и убежать.Это изначально сборник пхпдебилов традающих регулярными истериями.
>>896086Там именно сказала в контексте отчета о темах подкаста. Это было сентябре или октябре (в край в августе).Но вообще явление платных евангелистов это не секрет даже, поэтому думаю срать.
>>896090Они закрыли чат и теперь никто не мешает им чувствовать себя важными разработчиками, утопая в оргиях само-лизания.
>>896090Ну хз, я там туда пришел за помощью по го, встретил 255-го, остался ради общения. Человек, который не только в го шарит, но и вообще, и в общем. А я как раз пилил одну вундервафлю, а у него как раз был интерес в такой вундервафле. Должно было срастись, но эта тупая пиздень взяла и дропнула его. Я не долго думая самодропнулся. Так что я не очень в курсе как там было пару лет назад. Но что меня взбесило с самого начала, тоже мод, щас не вспомню ник, с самого начала доебался мол хуль я не самосдеанонился на входе? Я охуел от такого и показал ему фейкоакк в вконтаче. И это, кстати, потом не только ко мне такие предъявы были. Я пытался возмущаться, это же интернет, ебана! Но там набегали из близких к моче и затыкали рот, мол здесь такой положняк. При том что там сидит Акулович, разраб вконтача, то есть сдеанонить например меня, не составит проблем. Короче, я оттуда съебал и на то были причины. Сидеть ли там вам - решайте сами.
>>896099Лол, это походу же Илья их так надрессировал?
>>896101Нет, его уже к тому времени тоже дропнули. Как и Ивана-дивана.
>>896026>отладчик нинужинНо во всяких хаскилях/окамлах он и правда не нужен. Система типов поймает кучу ошибок, а те, которые не поймает, можно вручную найти через ручную редукцию функций. Вот автоматический редуцилятор бы не помешал, а отладчик нинужен.
>>896102Приходишь такой в сообщество, в обычное техническое сообщество, а тебя к стенке ставят и разъясняют что ты хуй и ты нам должен... (может еще ксерокопию паспорта?)Я бы прихуел от такого гостеприимства. Пиздец они больные уебаны.
>>896109А еще желательно не называться никнеймами и на аватарку фоточку свою ставить. Реально там не так все просто, вот выше параноик-кун тоже заметил. Но я не выкупаю в чем суть, а в ZOG не верю.
Суть треда прямо отражается в пикче
>>896144Го от этого лучше не стал, просто фанатики съебнули, это же не чатик, тут наплакаться и забанить нельзя
а этот хуй с радио-т, как он поносом поливал го и стебался, а потом вдруг резко прозрел, даже какую-то статью написал и по-моему начал активно го в новости включать.И вот в статье рассказывает какой го-шикарный и понятный язык, типа открыл код и сразу все прочел и вспомнил.Я через полгода открыл го-код я охуел от процедурного мусора.
>>896221а ведь его слушают дети, продажный он хуй)
>>896221Гуглозог ему на клык лапу дал, не иначе.Я прямо предвижу, как через несколько лет все вдруг прозреют и будут переписывать свою веб-парашу на новый модный язык, а Го будут хаять. Как с руби, примерно, произошло.
>>896258Язык уже в стагнации, ему же около семи лет? Большого бума на рынке вакансий не произошло, тру-стори по переходу с языка X на язык Go были настолько наивными и поверхностными, что вызывали только бурление говн и отвращения. Тем более специальные холиварные сравнения языков и того что го лучше их, вызывали больше ненависти, чем попытку черного пиара.Сейчас статьи выходят намного реже по сравнению с 2015 годом (неожиданно так). Сам язык по дизайну не развивается, хотя я и знакомые ожидали, что его доведут до вменяемого состояния, с обратной совместимостью (раз заморозили релиз).Да и вообще он выглядел как некий фундамент, а потом типа посыпят сахарком.Но вероятно написать статью о "ненужно" проще, чем добавить что-то в код.Библиотеки (субъективно) выглядят как обгрызки и вообще тысячи их и все равно придется писать свое и порой в короткое время, с ужасным дизайном.Что касается хуяк-хуяк веба, то тут важнее готовые решения и динамические языки - в общем чтобы быстро написалось и проверенно работало. Го ничего не дает, кроме экономии на железке, но разработка и время до сих пор в разы дороже железок.Горутины, ну не так круты и нужны как казалось. Да и по перформансу мы и не увидели чуда, серьезно, стандартный го-сервер один из самых медленных асинхронных серверов.Мое большое имхо в том, что язык просто пытаются вытянуть, подняли до какого уровня и все, он повис.Еще я думаю, что внутри компании много кода написано и им не очень как бы хочется вносить новый синтаксис, то есть все устаревает (алиасы вот только хотели, но хомяки что-то в стойку встали), поэтому гораздо проще евангелистов заставить проехаться по ушам хомякам, что мол так и надо, так и правильно (я уверен обработают и по алиасам так же, через несколько месяцев суслики уже будут топить что это норма и вообще не портит сопровождение кода).
А тем временем
Посоны, а вы ставите перед гошным сервером апач или нгинкс? Вот у меня есть сервис на го, он должен крутится в торе. Запускать от рута мне чет не хочется, впрочем как и ебаться с конфигами апача. Как сделать лучше?
>>896396ндижнкс же, причём всегда если у тебя только что-то на сам апач завязано. тогда апач тоже за нждниском поставить. странные у тебя вопросы какие-то
>>896396что тут
Безопасно ли пользоваться таким кодом > result, err := db.Query("SELECT anon FROM sosach where pinus_len=?", "10") или лучше обмазываться мидлварями?
>>896570Алсо, я прогнал роуты sqlmap'ом, вроде безопасно. Но эти русские хакеры, они же везде(((
>>896570Ебать дебил.Добро пожаловать, это твой тред.
>>896592Спасибо, ну а по сабжу?
>>896603проигрываю с этого долбаеба, боиться каких-то хакеров, потратил время на прогон запросов, потратил время чтобы написать сюда, но блять не может прочитать доку где этот момент обговорен.Ты откуда такой способный? Впрочем вы там все такие.
>>896396Не нужен го серверу реверс-прокси сервер в большинстве случаев.
>>896685в каких нужен?
>>896606лол. а что если это всё некая теория заговора? все эти абсурдные советы менторским тоном, идиотский синтаксис и прочее. что если это всё создано что бы отсеять адекватных людей способных мыслить самостоятельно и вывести особую касту гоферов?предлагаю среди таких ньюфагов форсить идею что если прочитать исходники компилятора гоу, то можно найти флаг который переключает его в режим которым пользуется сам пайк. но подробно не говорить что это даст
>>896716Хз.
>>896716не слушай тех анонов. nginx в реальных проектах чаще всего не просто проксирует, а разруливает ещё много чего. просто так ставить его конечно нахуй не нужно. это в принципе касается вообще всего - не делай чего-то, если ты не понимаешь зачем ты это делаешь. вот зачем ты на go пишешь?
>>896721А там женерики, ООП, функциональное программирование!>>896739Мозги промыли, зачем ещё. Вменяемый человек, кто что-то кроме пхп/жс трогал не будет на этом писать.
>>896743а ещё консоль как в питоне!
>>896721заговор уже есть, это вам ответка за то, что не полюбили Dart, страдайте.
>>896778кому нам, лол? я недавно вкатился в тред, почитал и сделал такой вывод.дарт не выстрелил так как на практике не даёт ничего что не дал typescript, в то же время имеет неебовый оверхед и рантайм с блекджеком и шлюхами. веб разработчики просто продолжили дрочить свои трансплитеры
>>896781>кому нам, лол?Дегенератам вроде тебя, например
>>896787да иди ты нахуй, я тебя не знаю, лол
>>896781За то как много надавал нам го:>самая лучшая поддержка строк из всех>на деле просто поток необработанных байт>ошибки это значения!>на деле лень было реализовывать что-то удобное в рантайме и оставили как есть (то есть - ничего)>дженерики ненужны>но чтобы совсем не наглеть сделали типизацию хотя бы в слайсах и мапах (тут оказались нужны)>язык легко читается и очень прост>без явной подсветки хер поймешь в коде что ты сейчас передаешь в функцию пакет.переменная, пакет.функция, переменная.поле_структуры...>компилируемый язык, статическая типизация>большая часть ошибок увидишь только в рантайме и если повезет (которые можно было еще на момент компиляции отловить)>быстрая компиляция, почти как в скриптовых языках.>в мечтах (примечание, говорят было шустро в 1.0, в общем верните мне мой 2012...)>код элегантен.> 3 строчки вызова API и тут же 9 строк if err != nil> interface{} проверить на nil? так никто не делает! НЕНУЖНО!> правильно, пускай где-то завалиться в коде, когда ты выполнишь побочные действия над данными.
>>896798лол, хули ты ко мне приебался, я сам могу тебе ещё больше расписать о goвне, приправив фрустрациями с поля боя. просто на дарте докер не написали в своё время, а хули ты хотел? дарт не нужен, а гоу менеджеры друг другу продают забивая хуй на касту взаимозаменяемых гоферов
>>896794Зато я тебе знаю.Будь осторожен.
>>896804катись обратно в свой тред где тебе некому говном кормить
>>896805бля, таки опейчатался,>атись обратно в свой тред где ТЕБЯ некому говном кормить
>>896805>>896806
>>896824фройд отстань, я же не написал "некого"
>>896834Не оправдывайся.
>>896835перед фройдом не в западло, а ты мне не указ
>>896836Ха, дебил дебилом - а малаца.
>>896845хуй соси, губой тряси!
>>896847Хоть и школьник :3
>>896851я мамке твоей в рот срал когда ты школьником был, а она тебя целовала!
>>896854>! Типичный школьник.
>>896856> :3ты в треде для дебилов, дебил
>>896859Но ведь школьник - это хуже дебила.Вот и ты, например.
>>896861но я готов умереть за твой манямир о школьниках, ведь это твоё право быть дебилом и детектить в мимокрокодилах школьников
классически го-тред, теперь я спокоен
>>896867Соси говно пидор
>>896869дурак штоле?
>>896870Да ты
>>896871нет, не я, а тот анон уоторому ты писал, я другой анон, не путай, с этого всё и начинается
>>896872Отстань
>>896873Ок
Анон был прав, уже написали пару статей о том, почему алиасы это нужно и почему ты обязан в них верить. В общем осталось за малым, за евангелистами, и суслик будет покладист в этом вопросе.
>>895699Да нет же, в main() сразу хуяришь в подгузник всю приложуху, и похуй на ошибки. Подумаешь, файлик открыл, а его нет - это ошибка разве? Прав на запись не хватило? ДАЛААААДНО, ПИЗДИШЬ ВЕДЬ, ПАЛЮБАС!!! Короче, я хуярю дальше, а ты там сам права ищи, пидор ебаный. Мне лучше знать, есть тут права или файлик, или нет.
>>897152> в main() сразу хуяришь в подгузник всю приложуху, и похуй на ошибкикапитулировал!
>>897152Так и надо писать, это залог успеха.
https://blog.gopheracademy.com/advent-2016/exposing-go-on-the-internet/Тут подробно расказывают как открывать Go сервисы наружу.
А почему никто не ноет что компилятор агрится на одинарную кавычку>println('xyu')Я считаю это адовым пиздецом и переусложненным ненужно. Потому что приходится постоянно тянуть мизинец к шифту, что не есть удобство.
>>897413Можно бэктики использовать. Но хуёво всё равно, да.
>>897413> одинарная кавычка переусложненное ненужно> статический языкВы там совсем уже зажрались со своей динамикопарашей.
>>895536> Го не подходит для реального приложенияС дивана слезь хотя бы.
>>897441Илюша, please.
>>897441Аргументируй, диванный.
>>897417Я использую правый шифт, потому-что левый размером с литеральную клавишу. Бэктики дальше шифта, да еще и слева. Но это да, вопросы к клавиатуре. Но все равно, сделойте чтоб одинарная и двойная кавычка были равносильны.
А вот кстати да, может кто-то задумывался форкнуть и сделать свой конпилятор, с генериками и нормальными кавычками? И очень ли там все сложно устроено?
>>897462Выше вкидывали уже. Но это мёртворождённые языки. Проще взять ЯП, который точно будет развиваться и поддерживаться, чем брать вторичное да ещё и от вторичного языка.
>>897462В кавычках суть в том, что одни — символ, вторые — строка. Это же типа строгий статический язык у которого всё кастуется к и из интерфейсов, и юнит тесты в самом компиляторе из коробки — лол.
>>897464>Проще взять ЯП, который точно будет развиваться >го>за семь лет сделали с языком нихуя
>>897469>одни — символ, вторые — строкаВ смысле char и char[]?
>>897462>кто-тоИлюша
>>897481Там из дальнейшего контекста понятно, что я как раз не Го имел в виду.
>>897413Во всех нормальных языках так.Двойные кавычки для строк, одинарные для отдельных символов.
>>897723define нормальных
>>897736ретроговно на котором привык писать анон, который рассуждает о "нормальности".как сказал анон выше про интерфейсы, а ещё забыл упомянуть про то что строки в golang в utf8 и смысл отличия одинарной кавычки от двойной пропадает вообще. но лично меня эта особенность уже не так напрягала после паблик экспортов с имён только с Большой буквы. это пиздец, зачем!?
Ебать-копать, я щас орнул.В гошном коде > base_url = "https://localhost:5000/btc"> resp, err := http.Get(base_url)...И, собственно, сам сервис, который написан на питоне. Дебаг в консольке на скрине. Если что, там третий питон.
>>897739zalGO!
>>897748Я бы сказал zaGLOt
>>897739Дебил, чтоле? У текстового сервиса крипту спрашиваешь, убери из схемы урла секуре-признак и попробуй снова. Если будет саем шиит, обязательно орну вместе с тобой
>>897761я другой анон, но разве http.Get имеет различное поведение в зависимости от протокол-части урла?
>>882625 (OP)ребята, кто нить пытался править исходники или переписывать их?
>>897766Хочешь что-то переписать, что ли?
>>897739ты бы дал ссылочку, где и что накопал.
>>897763Не удивлюсь, если Пайк насыпал сахар внутрь, а снаружи сахар позапрещал, тот еще хмырь.
>>897772Да, где-то была отсылка к его словам, что многое уже готово в том или ином виде, но из-за обратной совместимости никто не знает как это запилить до версии 2.0, поэтому они просто не показывают этот функционал. Но если пересобрать компилятор go в gogcc с какими-то там флаги, то можно увидеть go-next и даже писать на нём.
>>897776Мам, Саша опять троллит!
>>897777Таки не шутка>>897760
Котаны, как получить mode файла, тока шоб в integer? Ну или как конвертнуть такую >-rw-rw-r--хуиту в integer?
Ребята, а зачем пакаджи завязаны на фолдерах? Я до сих пор не могу определиться, как правильно структурировать код, я привык обычно feature first подход, но это иногда приводит к конфликтам импортов и борода получается. Я так смотрю многие люди вообще не заморачиваются и хуячат в корень сотку файлов в мейн пак. Наверное оно и удобно, особенно учитывая что перемещаешься по проекту через поиск файлов в ИДЕ, но мне как-то непривычно без фолдеров, сабфолдеров, сабсабфолдеров.
>>898045Столкнулся с этим в первый день работы Го, был конечно удивлен, так как объясняли что зависимость определяется на уровне одного файла (а не стектрейса где-то в глубине, лол).Как решение.Надо просто поток исполнение (еще называет статичные контекст) отделить от библиотечного контекста (то что вызываемо, многоразовое).Но тут две проблемы. Ты не можешь группировать пакеты по предметной области (что ввергает в шок вменяемых программистов). Вторая, в идеале (чтобы в проекте с миллионом функций не попасть впросак), вызывающий функции пакет, никогда не должен иметь ниже по уровню вызываемые из вне функции. Иначе рано или поздно произойдет цикличный импорт на уровне пакетов (именно пакетов, а не зацикливание функций. Этакая рекурсия пакетов, глазами гоферов).Что касается комьюните, они или не пишут больших проектов или рефлексируют помещая все и вся в один пакет. Я даже не стал спрашивать, они то в ответах на конкретный дизайн отвечают как ебанутые фанатики, а в вопросах дизайна проектах и абстракций вообще будут хуйню нести (ну то есть они проблемы даже не обсуждают, это закрытая тема в секте).
>>898058Илюша, съеби.
>>895523Ладно, педрила, уговорил. Вот код func qwe (...string) ([]byte, error){ switch { case string(body) == "Not paid":return nil, errors.New("Not paid") case len(string(body)) == 32: return body, nil default:return nil, errors.New("Unknown error") }}Теперь ты мне предлагаешь делать типа такого zalupa, err := qwe("asd")if err != nil {switch err{case "Not paid":println("Goni bablo, ueba!")case "Unknown error": println("Che tvorish, pizdets!")}}Так штоли? Я бы тебе еблет разбил, если бы увидел что ты такое в продакшон толкаешь, говноед.
>>898068>switch err{>case "Not paid":println("Goni bablo, ueba!")>case "Unknown error": println("Che tvorish, pizdets!")Все правильно сделал, так и надо.
>>898070Ну че ты начинаешь, нормально же общалися.
>>898073Ты просто не понимаешь сути Го и Гугла.
>>898075Ну так покажи как надо.
>>898076Ты все правильно написал, только добавь побольше кейсов.
Вот, короч, рабочий пример https://play.golang.org/p/8xkN-8rB_AТак ловить ошибки - это просто пиздец. ПИЗДЕЦ, браты!
>>898084 switch err.Error() { case "Not paid": fmt.Println("KUUUUUUUUUUUUPIIIIIIII") case "Unknown error": fmt.Println("HZ") }Все верно написано, как и задумано.
>>898087Хватит, перестань. Вернись к себе в пхп-тред.
>>898090>ААААА ВРЕЕЕЕТИИИИИИ!!!!!!!!Руки греть можно.
>>898102Ебанашка, если следовать как ты говоришь, то код на примерно на 85% будет состоять из обработки возможных ошибок. Это не наш путь хотя бы потому, что что в каждую батарейку придется зарываться. Ты, для начала, попробуй case'нуть все ошибки из стандартной библиотеки, потом уже будешь толстить на сосачике, умник хуев.
>>898110В смысле, у гопников принято ИГНОРИРОВАТЬ ошибки, потому что "этого не может быть"?
>>898110>то код на примерно на 85% будет состоять из обработки возможных ошибокВсе верно, так и должно быть.
>>898061что не так?Если функция пакета А вызывает функцию пакета B, та вызывает функцию пакета С, в которой идет вызов чистой функции из A - это будет ошибкой.Это (если в контексте с++ или джава) вы бы вызвали статическую функцию вышестоящего класса и вас бы за это отругал компилятор.
>>898121Да ты охуел, говнюк малолетний.
>>898121>>898123>вы бы вызвали статическую функцию вышестоящего класса и вас бы за это отругал компилятор.поправка - вышестоящий класс (пакет) но вызов метода даже другого класса/объектаЭто стоит записать в еще одни вины дизайна ГО.
>>898236Илюша, угомонись.Ты никому не нужен.
Как выглядит функция здорового человека...var1 = callSomeApi1()var2 = callSomeApi2()var3 = callSomeApi3()...Как выглядит функция курильщика...var1, err = callSomeApi1()if err !=nill {return nil}var2, err = callSomeApi2()if err !=nill {return nil}var3, err = callSomeApi3()if err !=nill {return nil}...И тут же мне они говорят, что го-код читается легко!
>>898248>var1, err = callSomeApi1()>if err !=nill {>return nil>}>>var2, err = callSomeApi2()>if err !=nill {>return nil>}>>var3, err = callSomeApi3()>if err !=nill {>return nil>}Охуенно.
>>898017http://ideone.com/FClfvD
>>898266спасибо, порыгал
>>898121> Если функция пакета А вызывает функцию пакета B, та вызывает функцию пакета С, в которой идет вызов чистой функции из A - это будет ошибкой.Естественно, ошибкой говнокодера.
Кажется гоферы начали что-то подозревать.
>>898294В каком месте?Я придумал для это термин - пакетная рекурсия говнаВедь компилятор го - не может исключить пакет которые уже загружен в цепочке пакетов, даже у php макак есть include_once.
когда ты взял новый го, но все равно мыслишь как php-макака
>>898307Я тебе больше скажу: даже сишникам завезли #pragma once и простые межмодульные экспорты.
Сусликов как обычно говном накормили и те довольны. Паттерн поведения даже хуже чем у офисных-энтерпрайз-терпил.
>>898318Я тут поясню, а то мало ли тут какие специалисты.Нет бы добавить один if с проверкой на существование файла (и последующей передаче управлению FileServer или взамен ответу 403) - гофер, берет и натягивает целый сервер к своему серверу!Блять, ну что за скрипто-пхп-бараны, взять язык который из коробки дает все что нужно и все равно натягивать стороннее ПО, еще блять мемкэш возьмите, вы же можете.Вот так и живем, с одной стороны фанатики, у которых мозгов хватает только найти либу на гите, с другой скрипачи, которые только что слезли со своих банановых деревьев.
>>898248Но ведь твои варианты различаются.Ты уж определись, хочешь ли ты ловить ошибки или нет.>>898068вот как работают с ошибками в Гоtype MyError struct { msg string}func (e MyError) Error() string { return e.msg}func DoStuff() error { ... return MyError{"Whoops"}}This allows you to check error types:if _, ok := err.(MyError); ok { // Handle MyError} else { // Handle all other error types}
>>898442>Ты уж определись, хочешь ли ты ловить ошибки или нет.Они и ловятся (уровнем выше, в общем это unchecked исключения, скажем в kotlin, java, в шарпах, плюсах... во всех других языках), просто в нормальном мире программирования - обработка ошибок не является частью контекста исполнения и обрабатывается отдельно (скажем в catch блоках и не обязательно в том же месте). И причина проста, наличие ошибки уже говорит об "другом" поведении для текущего модуля и в большинстве случаев работу модуля нужно прервать (и скорее всего решается это где-то уровнем выше в логике программы).Да и в том примере проще в catch прописать какой-то общий IOException один раз, чем три раза дергать if != nillТо есть, ошибок либо нет (и это нормальное поведение), либо они есть и это исключительная ситуация, которая обрабатывается отдельно (и именно поэтому, вместо розового пони мира ошбики это значения мы видим реальное if != nil).
>>898509...и да, ошибки должны быть типизированы уже на уровне стандартной библиотеки и вообще предоставлять что-то кроме как обычную строку. Текущая модель ошибок подходить чтобы записать в логер и все, хотя ошибки это у нас значения (правда какие непонятно).Вообще если по честноку, вам вообще никакое API для ошибок не завезли и отъебались только статьей (и евангелистами)
>>898436чёт проиграл. я так то вообще node-js разраб, который вообще вкатился из web фронтенда, но как-то да, go за гранью добра и зла
>>898510я не гофер, но ты тоже мудак. идите нахуй со своими эксепшенами. стек вываливать наружу нужно только в пиздец каких ситуациях, которые и предвидеть то особо не возможно. пока у тебя есть эксепшены - у тебя есть тормоза и оверхед, не говоря о том что это явные признаки плохого кода. код должен быть однозначен, даже таком имеративном goвне. ветвления в коде из-за внешних факторов - это шизофрения
>>898515хороший тому пример к тому же проверенный временем - это erlang
>>898515> стек вываливать наружу нужно только в пиздец каких ситуацияхПИШЕШЬ ЙОБА-ФУНКЦИЮ@ЙОБА-ФУНКЦИИ ВЫЗЫВАЕТСЯ ТЫСЯЧУ РАЗ В РАЗНЫХ МЕСТАХ ПРОГРАММЫ@ПРИЛОЖЕНИЕ РАБОТАЕТ И ВДРУГ ПАДАЕТ.@МЫ ВИДИМ ОШИБКУ ЙОБА-ФУНКЦИИ, ОНА СКАЗАЛА ЧТО ДЕЛИТЬ НА НОЛЬ НЕ ХОРОШО@ТЫ ПРИХОДИШЬ В НЕОПИСУЕМЫЙ ВОСТОРГ ОТ ДЕТАЛЬНОСТИ ОШИБКИ, ТАК КАК В ДУШЕ НЕ ЕБЕШЬ ГДЕ ИМЕННО ИЗ 1000 ВЫЗОВОВ ЭТО ПРОИЗОШЛО - ВЕДЬ ДАУН С ДВАЧА СКАЗАЛ ЧТО СТЕКТРЕЙС НЕНУЖЕН.Кстати сектанские долбаебы с го-чата говорили такую же хуйню.Поэтому просто съебись нахуй, глупое животное.
>>898516>хороший тому пример к тому же проверенный временем - это erlangВ твоем мире бегают розовые пони?
>>898522нет, там просто есть 6 вариантов ошибки, мб я где-то путаю, но всё однозначно в отличие от ErrorHuinyaProviderDoSomethingButIamIdiot>>898520попробуй тоньше. одно дело дебаг в деве, другое дело эксепшены в продакшене, мань
>>898528На тебе хуету:Ты у мамки молодец@Написал кучу проверок@Код работал 3 суток@На четвертые криво настроенный периодик удалил файл ровно сразу после твоей проверки его существования@А ты уже его открываешь@Это же не ошибка, мам, должно открываться!!! Скажи имПросто иди нахуй, дебил, не всегда есть возможность избежать гонки с внешними для твоего кода подсистемами. Эти гонки надо уметь предусмотреть и обработать. Но у тебя же боязнь трейса, трейс очень медленно работает раз в 5 лет, но даже тут НЕДОПУСТИМО. Ты действительно фанатик, как Пайк прям, ведь ВСТАВКА В МАССИВ - ЭТО УЖАС УЖАС ДОРОГО НЕ ДЕЛАЙ ТАК.
>>898528А в чем он не прав-то? Или у тебя есть другие способы узнать где что упало без стектрейса от эксепшена?>>898515Пиздец долбоёб. Тормозов там столько же, как и от го-стиля, пока это исключение не произойдёт (причём если оно типизированное — и там тормозов не будет).Про ветвления извне вообще кекич. Интересно где же суслики набирают таких довнов.
>>898628>>898638Все это ненужно и похуй.
>>898648>Все это ненужно и похуй.Go-way as is!
>>898661Да, это так.Го - это язык, где говнокодеры могут побыть дебилами - ужасными, бесчувственными, безразличными дебилами, которыми они на самом деле и являются.
Бля, голангны, чет у вас совсем хуево как-то, пойду лучше в монаду завернусь.
>>898307> Я придумал для это термин - пакетная рекурсия говнаВ пайтоне есть такая же пакетная рекурсия. Говорю же - это проблемы хуёвых кодеров, не умеющих правильно по пакетам функционал раскидать, не оправдывай свой хуёвый скилл проблемами языка.
>>882625 (OP)Зачем нужен го, если есть хаскел? Software transactional memory есть, дохуллиард зеленых тредов наплодить можно, есть и исключения, и в Maybe/Either завернуть можно. Хватит выебываться, вкатывайтесь уже.
>>898693В питоне можно импорт в тело функции упихать в крайнем случае
>>898648>>898665Булшит евангелистов имеет некий порог вхождения, опытный специалист удивиться тому что ему пытаются впарить, а вот бестолковые будут есть это и еще радоваться.Именно поэтому все сообщество напоминает невменяемых фанатиков, там вот таким странным отбором сконцентрировались "лучшие умы человечества".
>>898693а кто сказал что пайтон не кусок переоцененного говна?
>>898767> Именно поэтому все сообщество напоминает невменяемых фанатиковИмплаинг, что большинство джаво-, питоно- %langname%- даунов не такие же фанатики. Яркий пример срущие в го тредах хейтеры, которые сбежали из своих протухших хаскелезагонов.
>>899012просто у хаскеля почти нет хейтеров, потому что им мало пользуются.А го развивается
>>898628в го не обязательно проверять файл на существование, если какая-то операция не может выполниться, она вернет ошибку, вот и всё
>>899017В чем и суть. Сколько бы эти евангелисты каноничного ООП и мимовкатывальщики не срали кирпичами, Go как простой язык общего назначения уже взлетел.
>>899018а чтобы узнать что именно произошло (нет файла) или ошибка ввода-вывода или доступа, нужна парсить строку ошибки? Что пугающего в if ( ! fileExist()) {// создаем файл}
>>899020только в мире розового пони, хотя теперь из перечня вакансий, аля:php, js, brainfuck, haskel, sql и правда иногда встречается go, но это скорее какой-то хипстер им там наговнокодил на нем (а менегеры поздно поняли откуда вонь).Столько там языку лет? Все взлетает?
>>899060лол, свинособака не понимает что какой-нибудь пыхарь или пистонист может взять и переписать на goвне узкое место в своём проекте и довольны все и заказчик приобщился к модным технологиям и манагер всем теперь продаёт "мегакодера" и кодер на линкедине ещё один скилз добавил. на фоне всего этого 47 хроммосомного пати, бегающие вокруг с порваным пердаком джависты и подобные им - единственное что доставляет
>>899056так можно и в гоМожно делать проверку отдельно, можно не делать.И парсить ошибку как текст не надо, в го у ошибок тоже могут быть типыВот пример file, err = os.Create(filename) if e, ok := err.(*os.PathError); ok { .//error }
>>899074>какой-нибудь пыхарь или пистонист может взять и переписать на goвне узкоеузкое местное переписывают на си, ты не забывай что го такая же медленная херня как джава, да еще и с ГЦ (что делает ее еще более бестолковой для расширений).Другой момент, что пыхари и питонщики на хую вертели недоразвитый го после своих божественных динамических языков с готовыми фреймворками.Ты чем там порадовать скрипщиков решил? Что для парсинга json иногда можно упороться в 50 строк кода? Ты серьезно? Иди катайся на розовом пони.
>>899088иди нахуй, дабл, лолв говнах конкарентность с полпинка и всё для неё есть из коробки. решения на пхп/пистоне кривые, а js бекендщики люто хейтят, похлеще местных ватоголовых что хейтят говно. конечно они недоумевают, но балдеют, пушо в их основных языках так они не могут.>узкое местное переписывают на сипроигралты видел как пыхари код пишут? у них всегда открыта вкладка с докой по стандартной либе, лол. какой нахуй си?
>>899112иди туши пукан в другом месте, а то у него на пхп ели пишут, на сях не могут, а блять на тормознутом языке с ГЦ - запросто, сказочникты самый бестолковый фанбой из го которого я встречал, естественный отбор в го дает хорошие плоды (или каникулы)
>>899177уёбок, перечитай мои посты, я хуесосил гоферов, только ты настолько туп что продолжал несколько раз отвечать мне как "фанбою". гугл уже в ольгино ботов нанимает для пиара?
>>899177ты долбаёб, напиши асинхронный производительный сервер на си. а если написал, то какого хуя ты делаешь в пыхе/пистоне? если ты можешь написать на си, то можешь и на пыхе/пистоне ибо не особо сложно, но геморно и сами языки не сроектированны для этого. goвно с деревянным синтаксисом - как раз уровень этих давнов + даёт плюшки недоступные им.
>>899214>перечитай мои посты>в анонимной бордеСука, где вас таких тупых производят?Это не десант с закрытого го-чата?
>>899215>асинхронный производительный сервер>пистон>сами языки не сроектированны для этогоТелл ми моар
>>899215>напиши асинхронный производительный сервер на сисделал, но не понял нахуя мне асинхроность кроме i/o операций.>то какого хуя ты делаешь в пыхе/пистоне?Продуктивнее писать бизнес-логику, на си много бойлерплейта.Ты же не долбаеб писать круды на сях? Хотя, ты же спрашиваешь...В среднем одна неделя на пхп, это месяц работ на сях (два с отладкой).То есть, дешевле написать расширение на реально узких местах, чем все приложение. Ты бы это знал, если бы был программистом.>goвно с деревянным синтаксисом> как раз уровень этих давновНадо быть долбаебом или мазахистом чтобы с нуля писать веб на этом.Для малых и средних проектов, ничего удобней и приятней скрипок нет, для мега-сложных проектов с кучей абстракций - была и будут jvm языки, в край шарп, или может свифт пульнет.Го не влез не туда и не сюда. Писать скриптные проекты на нём - уродливо и очень муторно (так как отсутствие сахара это тонна того же бойлерплейта).Производительность - я посмотрю как твой язык будет жрать проц, без поколений в ГЦ (каждый раз пережевывая гигабайты одного и того же). Просядит как скриптовые языки.Асинхронность - лол, ну завезли уже асинхронные i/o и БД, а твое говное как дергало планировщик каждый вызов функции, так и будет.Компиляция - нет не дженериков, даже interface на nil хер проверишь, большая часть ошибок будет рантайме - и нахер нам тогда компиляция.
Производительность, хм, тут надо сначала проект хотя бы до 30К хостов довести и уже там думать, а писаться поначалу будет много и времени на бойлерплейт нет. Тем более нет времени на борьбу багов, в том числе полуглупых либ.
>>899294Это кстати очень похоже на байт от гугла: они выпускают язык, пиарят его, мол, позволяет экономить на железе, а сами реализовывают идеи быстрее чем модные стартаперы с го и имеют с этого хороший профит.
>>899301>байт от гуглау гуглапараши все продукты говно, но что ты хотел от рекламной конторы?
>>899322Зато у тебя продукты охуенные и мы ими все мечтаем пользоваться. Только где они?
>>899323джва на гуглплэй и три на соурсфордже
>>899322> у гуглапараши все продукты говно> миллиарды пользователей по всему мируНу-ну, запилишь годноту - приходи.
>>899371Единственный их хороший продукт — поиск. Остальное выезжает на его горбу за счёт агрессивного маркетинга.
>>899384Внезапно удваиваю. Больше всего проигрываю с гугл групп - на моем core i7 этот высер загружает простой текст по 5 секунд. Просто стыдоба.
>>899384>>899392Учетверяю, а еще этот дизайн 90х, якобы минимализм, а в действительности уродство школьника-дизайнера на белом фоне.Они сначала и гугл+ таким сделали, но сейчас до ума немного довели, поняв что их виденье вкуса мир вертел (хотя, опять же, на гугл+ всем все равно срать).
>>899323>сначала добейся самТы наверно из одноклассников к нам сюда пришел?
>>899384>Единственный их хороший продукт — поиск. сейчас это лютейшее говно вываливающее кучу нерелевантного проплаченого контента
>>899384Добавь еще google analytics
>>899384Android ещё.
>>899468>Androidох кек, поверх линупса накатали йобаджаву забыв продумать архитектуру.
go
>>899715>fixВы разрушаете хрупкий мир гофера! Остановитесь!
>>899719Нет, его тут разрушали когда целый тред пытались объяснить го-довнам что Гц и правда сканирует стек. Осталось ещё объяснить зачем же он это делает, или например почему сусликовый гц грузит цпу похлеще жявного — можно будет наблюдать суицид сусликов в прямом эфире.
>>899785>пишет в гаф тред>упоминает в одном предложении Гц и стек>ожидает адекватной реакциихорошая попытка
>>899786Что такое вась, тебе ещё разок скинуть ссылку на ишью на гитхабе говна? Или послать почитать как гц работают?
>>899788хуй себе за щёку закинь лучше
>>899790Типичный гафер сгарел.
>>899788лол, я как раз знаю что и как в гойе, а вот ты принёс тупейший развод расчитаный на совсем уже дыбилов. ты понижаешь градус адекватности, я кормлю тебя говном. баланс придумал не я, может боги, может прохожие бомжи в песни спели
>>899801Ебать ты гоун.
Со скриптами то понятно, удобно. Но если хочется навернуть компиляцию и статику, неужели жрать джаву?
>>899812Высокоуровенные статические языки на гау и жяве заканчиваются? что за истерия массовая — на лоре все веб уже на си и расте пишут, тут какие-то дураки загуглить языки программирования которые им нужны не могут.
ГГГГГГГГГГГГГГУУУУУУУУУУАААААААУУУУ
>>899828так ты тут поплакал но не ответил.Надеюсь ты сейчас не про perl делфи и всякие шарпы начнешь лечить?
>>899841Что тебе ответить-то довен? В 2к17 даже в лиспе запилили возможность писать с полноценной статикой, чо тебе надо-то мразиш?
О том как надо пиариться на сектантах, даже если статья не о языкеhttps://habrahabr.ru/company/scorocode/blog/317450/#comment_9979114
>>899802лол, я даже не буду пытаться понять ты один семён или вас туту набежало, но лулз в том что вы пишете на уровне будто не осилили гав и теперь у тебя припеканус
>>899843Что за маневры начались, я тебе спросил, на чем писать нормальный статик-типизированый веб в 2017, если го-говно, а джава избыточная что пиздец (и никому ненужный шарп туда же).Ты блин еще бы мне кобол сюда принес, лисподолбоёб
>>899936>нормальныйна перл, давай расскажи, что это не модно и не молодежно.
>>899843> даже в лиспе запилили возможностьпокажи примеры готовые, будь братишкой
Пацаны, а как у вас тут затестить скока памяти отжирает, скока процессорного времени и т.д.? Тока мне самому эти ебучие тесты лениво писать, может есть какие вундервафли?
>>899997если джава и го:-у го нет поколений в ГЦ - чем больше хип, тем тормознутие.-но есть стек и value type - что немного поможет (нет конечно).-джава оптимизирует код лучше, за счет jvm может оптимизировать даже моменты которые сишный O3 не может-за счет jvm есть спекулятивная оптимизация.-для джавы пилят бинарник graal вроде 9.0 будет (так что и стартовать будет быстро, хотя мы все сервера пишем же, нам срать).-jvm не могут создавать новые версии которые будут тормознутие старых. На го похер (помним просадки в 1.6 и 1.8 за счет оптимизации ГЦ, платой проца).
>>900054Так как ГЦ это узкое место производительности, продолжем:-есть выбор разных ГЦ у джавыхочет раз в 5 минут собирайся потратив 100мс (что срать для веба), хочешь каждый 10мс, но заплатив просадкой 20% проца за реалтайм, лол.-есть возможность тюнить ГЦ и реально выжить в сложных местах что-то. В го? В го маскот думает за тебя что тебе лучше
>>900054>>900058Тебя спросили, как протестить, а не твои рассуждения на тему "я хейчу го, поэтому вот причины, по которым джава, наверное, будет лучше">>899997Вот какой-то тестhttps://benchmarksgame.alioth.debian.org/u64q/compare.php?lang=go&lang2=java
Есть ли какая-нибудь хуйня автоматическая система сборки, которая фиксит ошибки всякую хуйню типа анюзд импорта/переменных?
>>900066хейчу говно где хочу
>>900135У меня даже собака с кошкой не срут где хотят. Ты глупее их, выходит.
>>900066>рассуждения на тему "я хейчу го, поэтому вот причины, по которым джава, наверное, будет лучше"Это называется "правда глаз режет". Если бы было что ответить — парировал бы.>Вот какой-то тестТы поехавший? При чем тут бенчмарк?>>899997А нахуя тебе это в самом языке/его тулките? Это функционал любой системы из коробки. (h)top на никсах и диспечер на шинде.Если нужно прямо измерять сколько тактов и кб уходит в каждой функции — есть из коробки гуглевский pprof.
>>900189ты у них спрашивал чтоли? дебил))
>>900229Нет. Я их воспитывал - прописывал пиздюлИн.Они на удивление быстро усвоили правила приличия - за какой-нибудь год. В отличии от тебя - ты и после 20 лет нихуя не понял.Так что они как минимум в 20 раз умнее тебя.
>>900129Нет, но обычно редактор такое умеет.
>>900054Ты долбоеб, у нас таких в АТО отправляют. Расскажи мне, даун, как ты замеры делаешь? Го - бинарь, жвм - виртуалка и говно в байткоде. Даже так считай, считать с диска джва метра гошного бинаря и 80 метров всяких говноскриптов на баше в перемешку с сишными бинарями, всю эту мешанину ты и называешь ЖВМ. Еще раз, ты отвечаешь как полный даун, который не может в контекст, во-вторых, пошел на хуй, жавадаун.
>>900252Ты новичок?Замеры кода делают так: опрашивают аппаратный счетчик процессора, запускают код, еще раз опрашивают счетчик. Дельта счетчика и есть время исполнения.Как видишь никакой зависимости от размера кода на диске нет - только время исполнения.Для явы еще прогрев кода устраивают - вызывают код тысяч 100 раз перед замером, чтобы все оптимизации прошли.Я конечно понимаю что ты еще зеленый и даже такие основы вызывают у тебя проблемы, но в следующий раз не пались так - пацаны за такие глупые вопросы тебя с ходу обоссут, и поделом.А пока я добрый - мотай на ус. Может даже за умного сойдешь, если будешь рот поменьше раскрывать.
>>900266Лолд. Ты рсскажи юзеру что твоя параша не тормозить, а если тормозит, то надо 100к раз запустить что сработали все оптимизации. И пусть еще гигов 60 памяти докупит, а то чет медленно прогревается. Какой же ты тупой, пиздец.
>>900283Очередной нытик?Ты не знал как замерять - тебе любезно рассказали.Чего тебе еще надо, собака?
>>900283это долбаеб пытается задеть чувства самого быстрого ГЦ и лучшего jit компилятора?Иди лучше сделай своему го вменяемую скорость хеш-мапы до уровня джавы и потом мы еще попробуем сравнить это говно
>>900310эти бараны в выдачу хеш-мапы поставили рандомайзер, чтобы не казалось что мапа сортированная - пиздец
>>900314тебя ебать не должноиди нахуй
>>900328Порванный фанбой это скучно, ты лучше расскажи,каково ощущать, что тебя считают таким дебилом, что добавили рандомайзер?а вообще го весьма удачный эксперимент, мы теперь игнорируем людей у которых есть приписка Го в резюме
>>900345У меня возникла теория.Го - как единица психической аномалии в программировании. Если человек так легко выкидывает из головы все эволюционные решения принятые в программировании, то либо у него их совсем не было (в голове), либо он настолько хуевый специалист, что готов жертвовать инструментом в пользу моды/понтов/авторитетства.Недаром они такие неадекватные.
>>900054>-джава оптимизирует код лучше, за счет jvm может оптимизировать даже моменты которые сишный O3 не может>-за счет jvm есть спекулятивная оптимизация.Это все компенсации убогости языка (из за боксинга, виртуальных методов, стирания джинериков и тд)В итоге + на - дает ~0 преймущест по сравнению с другими рантайми (типа .NET или GO)-для джавы пилят бинарник graal вроде 9.0 будет> (c) В основном работа идёт с java.base, но в JDK 9 даже он официально поддерживаться не будет, вся фича экспериментальная. А Graal тоже тестируем. >стартовать будет быстро> (c) В случае с холодным стартом проблема медленного запуска может с AOT не решаться, а усугубляться: теперь надо ещё больше грузить данных с диска, потому что нативный код в общем случае ещё больше, чем байткодOracle планирует использовать его в AOT только для компилирования одного модуля из стандартной библиотеки JavaИ да же он один превращается в бинарник на 265MB (у конкурентов 30MB)Да и поддерживается только Linux x64Подробности http://jug.ru/2016/12/aot-hotspot/мимо джавист
>>900345>>900351сосите хуй завистники
>>900471>мимо джавистмимо долбаеб ты.>виртуальных методовjvm и это оптимизирует и даже половину методов инлайнит или выбрасывает нахуй (если это геттеры и сеттеры)>стирания джинериковчто за ересь?? в байткоде нет денериков, долбаеб>В итоге + на - дает ~0нехуя ты фантазер, то что ты маня не вкурсе как там под капотом и что боксинг дает тебе на ноль всю оптимизации SIMD (и прочие радости, которые даже -O3 не может) это лишь хороший показать что ты гоферБинарник нужен для клиентского ПО, для быстрого старта и все, но джава чаще крутиться на серверах, поэтому мне срать (и другим 99%), мне jit важнее (так как он будет мощнее оптимизировать чем компиляция, в том числе разворачивать циклы с динамическим счетчиком и использовать спекулятивную оптимизацию).Мой диагноз твоих пониманий и знаний в ИТ - уровень гофер
>>900519>jvm и это оптимизирует Во первых не всегда, а только когда есть одна известная имлементация.Девиртуализация есть и в том C# + там по умолчанию методы не виртуальные>и даже половину методов инлайнит или выбрасывает нахуй (если это геттеры и сеттеры)и в этом нет ничего уникального, другие компиляторы (C#/GO/C++) делаю тоже самое>что за ересь?? в байткоде нет денериковДубик, я и имел в виду type erasure в дженериках ( https://docs.oracle.com/javase/tutorial/java/generics/genMethods.html )>мне jit важнееда похуй мне что тебе важнее, просто выше кто-то вскукарекнул про AOT в java мимо джавист
>>900491Ты такой упоротый дебил, что реально думаешь что вам всем завидуют? Ты воспринимаешь язык как привилегию, мол ты можешь пользоваться, а мы нет и поэтому завидуем и хейтим? Ты реально дебил?У меня кстати знакомый питонщик ушел с работы, когда их стали "насильно-добровольно" переводить на эту парашу. Я бы сделал так же, какая зависть тут? Люди бояться языка для даунов, ты только на маскот посмотри. Го - язык для ^бедных^ глупых
>>900471> мимо джавист Так бы и сказал, что говноед.
>>900523>Во первых не всегда, а только когда есть одна известная имлементация.В чем проблема? Хотспот не глуп и в отличие от -O3 не покрашит код в говно (а в случае чего и откатить может)Твои виртуальные методы это хуйня по сравнению со всякими AVX и прочими плюшками, которые делаются все за тебя (в си бы ты ебался вручную).Шарп говно которое уже никому не нужно, да там плюх больше, но это в большом бизнесе не решает (и кстати шарп тормознутие джавы, лол).>https://docs.oracle.com/javase/tutorial/java/generics/genMethods.htmlты просто сказочный долбаеб, ты походу не знал как устроены дженерики, что это обертка-каст вокруг Object?>мимо джавистуровня Го, лол
Мочератор! Этот джава-даун уже всех заебал!
>>899384Gmail/Inbox хороший почтовый клиент. Скорее всего даже лучший в принципе.Calendar очень хороший органайзер, альтернатив считай нет.Maps/Earth очень качественный софт. Жаль прекратили поддерживать бесплатный Earth. Ну это, что говорится, fair enough, потому что бесплатный Earth мало кому стал нужен после того, как Maps стали такими удобными в браузере (где-то после 2008 года).Docs — идеальна хуйня. Коллаб с задержками до полусекунды буквально. Кстати, кому интересно, гуглите Paxos.И это основные. Еще не забывай про Blogger, который был просто лютовой годнотой в нулевые и даже сейчас позволяет даже домохозяйкам вести блог.знаю что покормил
>>900534Вот кстати да. Тоже при анализе виртуалок пришел к одному открытию для себя: виртуалка имеет полный контроль над исполнением кода, а значит имеет возможность обрабатывать все исключительные ситуации с кодом внутри себя, чего код без виртуалки не может сделать.Потому обернув код виртуалкой довольно просто можно добиться того, что код вообще не будет падать, даже при разрушении физической памяти машины (применительно к космозондам например) - виртуалка может взять вообще всю заботу о коде на себя, даже гарантируя корректность разрушающейся памяти, если потребуется.А код без виртуалки будет падать всегда. Он не имеет никаких шансов что-либо предпринять. Любая мелочь, которую виртуалка может отследить и исправить на лету, вызывает падение кода вне виртуалки.В общем виртуалка позволяет контролировать код приложения, т.к. не зависит ни от чего - этакая твоя личная микроось в большой ОСи, которую ты полностью контролируешь, не спрашивая разрешения у большой ОСи на манипуляции с кодом. Также виртуалка открывает и другие интересные возможности, в частности для защиты. Так например жава легко позволяет строить сети из недоверенных узлов, обладающие абсолютной защитой от перехвата и проникновения, в которых MITM невозможен теоретически.
>>900524>Ты такой упоротый дебил, что реально думаешь что вам всем завидуют?да
>>900576Как можно нести настолько складную ахинею и не краснеть? Расскажи свой секрет. Скажи честно, сам искренне веришь в свой бред?
>>900579Гофер, иди нахуй.
Собрались как-то 2 питониста, 3 джависта, 2 пхписта и 1 эрлангист в го-треде
>>900598А Илюша им и говорит азаза мамок ебал
>>900579Ну если для тебя такие вещи невероятны, то... зачем тогда ты нужен?
Сапоги горный, какую литературу посоветуете нюфагу?
>>900692>горныйГоферы*, лол
>>900692GOF, очевидно.
>>900692она нинужна. серьёзно, тура на сайте го хватит с головой.
>>900563Няш, у нас свободное общение, если он дискутирует по существу, то он в своем праве.
>>900576>код вообще не будет падатьПрограммы на Java спокойно падают с сегфолтами:- Реальные баги в виртуальной машине (те уровней отказа у тебя теперь 2: твоя программа + JVM)- Ошибки в C++ вставках (JNI)- Ошибки при использование Unsafe (или коде библиотек использующих его).
>>900621Ну вот смотри. Ломается у тебя физическая память, и уносит страницу, в которой был код твоей виртуальной машины - восстанавливайся. Или уносит половину байткода. Или уносит данные, над которыми байткод производит действия. В последних двух, максимум, что ты можешь - мирно убить приложение. А вот если глюканёт один бит и поменяет, например, dec на inc, то к тому моменту, как ты это просто заметишь, половину рабочих за твоим станком уже намотает на вал.мимо
>>900707Рот закрой, гнида.
>>900720>Программы на Java спокойно падают с сегфолтамиИ?У виртуалок есть возможность управления кодом на лету, у самого кода такой возможности нет. В этом и разница.Виртуалка - это "внешняя" сущность для кода, но сущность, которую удобно менять. Фактически код для исполнения кода.Виртуалка может выбрать какую версию кода исполнять в том или ином случае, проконтролировать корректность результата, откатить версию кода на более стабильную если что-то пойдет не так - и это только начало.Реальные возможности гораздо шире, вплоть до обеспечения работоспособности кода в любых условиях, вплоть до горячего автоисправления кода, если виртуалку этому научить - вся умная логика работает в фоне, уровень анализа ничем не ограничен, данные для анализа напрямую из рантайма.И при всем этом код работает без разрывов потока исполнения - он просто не подозревает, что его фактически отлаживают на лету.Плюс к тому виртуалка дает новый стиль программирования - код можно разделять на уровни исполнения: код может исполняться на уровне программы, на уровне виртуалки (инструкции управления ВМ, в т.ч. динамического управления) и на уровне железа (расширения ВМ, тоже в т.ч. динамического расширения - состав виртуалки можно менять на лету, не перезапуская код).Виртуалка - это фактически программный процессор.Современные процессоры довольно умные, на низком уровне они делают довольно много манипуляций с кодом, тусуя команды, распараллеливая код, разрезая его на блоки. В процессорах зашит почти полноценный компилятор, который на лету оптимизирует код.Программный процессор может быть еще умнее - его править проще, у него возможностей больше, к нему можно прикрутить намного более умную логику, его структура может меняться во время работы.А что касается зондов - думал на тему архитектуры космического железа и отказоустойчивости. Самый реалистичный сценарий - именно виртуалка, которая абстрагирует код от ненадежного железа, берет на себя все заботы о железе, управление, проверку и распределение памяти, обеспечивает избыточность - направляет код на физические кластеры, контролирует корректность результата, осуществляет выборы, и т.п.Виртуалка на самом деле не увеличивает количество уровней отказа, а напротив, снижает: она концентрирует весь важный код в одном месте.В случае нативного кода нужно корректно писать каждый модуль, коих может быть тысячи и тысячи. Ведь ошибка в любом модуле "выключает" весь кластер.В случае виртуалки корректно написать нужно только виртуалку, ошибка в модуле отключает только один этот модуль, но это не страшно - виртуалка может его перезапустить, попытаться исправить, или выбрать на замену другой модуль.Один из принципов такого отказоустойчивого железа - каждая задача должна решаться несколькими способами, чтобы можно было проверить корректность не только железа, но и алгоритмов решения задач: два способа решения выдают один результат, а третий другой.Т.е. у виртуалки вполне конкретная задача: служить интерфейсом (прослойкой) между кодом и железом, беря на себя все заботы об этом интерфейсе: поставляя корректное (виртуальное) "железо" для кода (программы), и поставляя корректный (правленный) "код" для (физического) железа.Нативный код лишен такого интерфейса, поэтому падает - нет гарантии корректности кода для железа и корректности железа для кода.Программист вынужден все необходимые костыли вставлять сам, для каждого приложения.Компиляторы и HAL тоже вносят свою лепту в интерфейс, но в отличии от виртуалки они статические - это как общение с иностранцем не через живого переводчика, учитывающего все особенности обеих сторон, вплоть до воспитания, образования, характера и настроения собеседников, исправляющего косяки, осуществляющего литературный перевод где необходимо, а через школьный словарик, коверкая смысл и недопонимая друг друга.Грубо говоря компилятор ссыт оптимизировать что-либо, если твердо не уверен в безопасности оптимизации, и для большинства ситуаций он не может знать, что многое можно было соптимизировать намного лучше. Виртуалка знает что безопасно, а что нет, и имеет возможность менять код на лету, так что не задумывается над оптимизациями - смело оптимизирует все, что может, гарантируя безопасность своими внутренними проверками. И, в отличии от компилятора, с помощью расширений ее можно заставить не только оптимизировать, но и модифицировать код как угодно, пользуясь данными рантайма.
ПЕРЕКОТ https://2ch.hk/pr/res/900789.html
>>900790ПЕРЕКОТ https://2ch.hk/pr/res/900789.html
>>900792ПЕРЕКОТ https://2ch.hk/pr/res/900789.html
>>900793>>900784>>900790>>900792>>900793ПЕРЕКОТ https://2ch.hk/pr/res/900789.html
>>900568А еще эти пидеры выпилили отличнейший рсс клиент.
ПЕРЕКОТ в тред >>900814 (OP)
>>900721>Ну вот смотри. Ломается у тебя физическая память, и уносит страницу, в которой был код твоей виртуальной машины - восстанавливайся.Ну и восстановимся.То железо, где нужны такие выкрутасы, оно немного другое - там аппаратное дублирование всех систем.Т.е. у тебя не один массив памяти, а например четыре. И на каждом кластере копия виртуалки. И все они общаются друг с другом.Т.е. в данном случае даже ничего особо делать не нужно - просто запросить страничку с другого кластера.Но я думал и над системами с одним массивом памяти. Даже для них можно обеспечить корректность работы, просто расширив виртуалку несколькими модулями, которые абстрагируют физическую память от остальной части виртуалки, обеспечивая избыточное хранение информации, фоновый анализ, исправление и учет разрушенных ячеек вплоть до битовой точности (часто вылетает один бит, остальные вполне пригодны для хранения информации) - этакая фс с избыточностью, но для оперативки.Т.е. в таком случае виртуалка сама обернута в микровиртуалку, задача которой - только корректность памяти.>то к тому моменту, как ты это просто заметишьПредполагается сканирование памяти раз в n секунд? Банально.Нет, и это тоже необходимо, но в данном случае это просто как периодическая проверка индексов ФС - все ли верно, ничего ли не потеряли? Не обязательная, но желательная процедура.ИРЛ, для случая одного массива памяти, абстрагировании более жесткое - виртуалка не имеет доступа к физической памяти, она видит корректную виртуальную память, которую ей подсовывает слой абстракций памяти.А вот тот слой абстракций уже работает с физической памятью - записывает данные с избыточностью, проверяет корректность при считывании, восстанавливает данные при ошибке, генерируя новую копию избыточных данных, отправляя сбойную ячейку на обслуживание, генерит для сбойных ячеек специальный код доступа, т.к. сбойные ячейки не полные, и напрямую их читать нельзя.Ведет фоновое сканирование всего массива памяти, обновляет и перетасовывает информацию (тренирует накопители), отжигает блоки памяти с вышедшим ресурсом, следит за целостностью и количеством своих обработчиков - кусков кода, рассеяных по памяти, часть из которых работает параллельно, и гарантирует защиту от сбоев самого этого слоя абстракций.Для земного железа, при отсутствии такого слоя абстракций, остается только периодическая проверка памяти, да.Но и там с виртуалкой не сложно извернуться - можно верифицировать каждый исполненный кусок кода.Исполнили сколько-то кода, в фоне прошла проверка, весь исполненный код от начала одной проверки до начала другой верифицирован - отдаем его результат вовне.Нашли ошибку - либо сбросили последний буфер, либо локализовали ошибку и поправили буфер.Т.е. вносим небольшой лаг в работу кода, во время которого верифицируем результат. В таком случае если будет ошибка - она не успеет уйти на исполнительные устройства, а если не будет - рабочий этого не заметит, т.к. лаг в микросекунды, и константный.Цена в любом случае - замедление работы. Но если корректность важна - оно того стоит.
>>900834>>900784Перекат, берите свои цитатки и уебывайте тудаПЕРЕКОТ https://2ch.hk/pr/res/900789.html