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

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

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

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

618 Кб, 640x481

503 Кб, 604x438

39 Кб, 600x600

74 Кб, 400x400

GoLang #4 PRISIVAEM ILUSHY EDITION 26 Ноя, 20:07 #882625 В конец треда | Веб

Продолжаем сраться и попутна кастуем призыв илюши.

Что это за язык?
Компилируемый язык со статической pascal-like shit вместо типизации, с встроенный в язык CSP, разработанный компанией Google.

Какие у него сильные стороны?
Быстрая компиляция, простота, богатая стандартная библиотека, псевдоуниверсальность, кросскомпиляция.

Какие у него слабые стороны?
Еще развивается (хотя внушительными темпами, смотрите ниже раздел "Перспективы"). Малое количество вакансий, отсутствие такого количества готовых решений, который имеют языки с более долгой историей.
В основном сейчас знания языка приветствуется (особенно для коллег с питона).

На какие языки он похож?
C, PHP, JS, 1C.

Какая у него основная сфера применения?
Бюджетный веб (так как не жрет ресурсы как скрипты или джава), девопс-утилитки и прочие мидлевел сетевые утилитки.

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

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

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

Производительность
https://benchmarksgame.alioth.debian.org/u64q/go.html
https://www.techempower.com/benchmarks/#section=data-r12&hw=peak&test=db
https://www.techempower.com/benchmarks/#section=data-r12&hw=peak&test=plaintext

Перспективы
http://www.tiobe.com/tiobe-index/
https://www.google.ru/trends/explore?q=golang
Число репозиториев с не менее 1000 звезд (колонка "Languages")
https://github.com/search?utf8=✓&q=stars:>1000&type=Repositories&ref=searchresults

Полезное
Для начинающих (годный и развернутый список)
https://goo.gl/NfNfZg

Мануал веба на го с погружением в язык
https://github.com/astaxie/build-web-application-with-golang/blob/master/ru/preface.md

Го в примерах
https://gobyexample.ru/

Ищем пакеты:
https://godoc.org/

Сторонние го либы
https://github.com/golang/go/wiki/Projects

Кто уже юзает го
https://github.com/golang/go/wiki/GoUsers

Видосы (есть на русском, если полистать)
http://4gophers.ru/video

Ответы>>884276>>884282>>885988>>886494>>897766>>898741

26 Ноя, 20:09 #2 #882629

В этом ИТТ треде >>882510-маня пояснит, как в 2016 рвут Keep-Alive-сессии, не просто закрывая сокеты, а как-то сложно и по-современному. Ждем всем тредом.

Ответы>>882641

26 Ноя, 20:29 #3 #882639

>>882591
Как и в 2004, таймаутом на последнюю активность

Ответы>>882641>>882665>>882699

26 Ноя, 20:31 #4 #882641

>>882629
>>882639

а не таймаутом, на все соединение, как в нубо-го

Ответы>>882699

26 Ноя, 20:38 #5 #882654

не забываем вины
-уязвимость дефолтного сервера и отсутствие норм решения (тупо рвать весь коннект и похер если ты файл отдаешь)
-Глючность возникающая в Prepare (в sql) при хайлоад нагрузках

какие еще вины были?

26 Ноя, 20:47 #6 #882665

>>882639
Или как в моей netty (в божественной java/kotlin) - таймаутом на последнюю активность, на медленность запроса, исключая по mime-type крупные файлы, но ограничивая такие соединения числом по IP

Ответы>>882699

14 Кб, 736x37

26 Ноя, 21:31 #7 #882699

>>882641
>>882639
>>882665
Я в прошлом треде приложил этот скриншот из документации. Как видите, эти таймауты не на всё соединение, а на каждый запрос-ответ в контексте соединения.

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

Ответы>>884116

26 Ноя, 22:28 #8 #882729

Кто-нибудь Iris пробовал или на чём атм у вас пишут в основном? И что на фронте?

Ответы>>882991

27 Ноя, 12:32 #9 #882991

>>882729
> Iris
Мне не очень понравился, не вспомню уже чем. Взял gin.
На фронте обычный js.

27 Ноя, 13:59 #10 #883030

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.

27 Ноя, 16:55 #11 #883117

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

Ответы>>883132>>883204>>883230

27 Ноя, 17:19 #12 #883132

>>883117
>Все эти системы со сборщиком мусора - говно.
inb4 95% софта в мире так или иначе крутится на системах со сборщиком мусора и ничего, живы-здоровы. иди кукарекай в другой притон

27 Ноя, 19:36 #13 #883204

>>883117
Побитовые сдвиги посдвигал уже?

27 Ноя, 20:39 #14 #883230

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

И за все это, ты получишь тормоза на уровне скриптовых языков (тесты http серверов и фреймворков)
https://www.techempower.com/benchmarks/#section=data-r13&hw=ph&test=plaintext

28 Ноя, 23:53 #15 #883966

Трамп самому годному трету хк.
А тем временем на горе-патриота, который хотел свернуть сабреддит го наехали, и он пошёл на попятную.

Отпразднуем победу охлократии!

Ответы>>884111>>884121

29 Ноя, 09:59 #16 #884111

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

29 Ноя, 10:18 #17 #884116

>>882699
хуй соси мать твою ебал

29 Ноя, 10:31 #18 #884121

>>883966
>горе-патриота, который хотел свернуть сабреддит го наехали, и он пошёл на попятную
Что за кулстори вкратце?

Ответы>>884122

29 Ноя, 10:44 #19 #884122

>>884121
Послушай последний радио-т, там всё по хронологии рассказали.

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

29 Ноя, 17:04 #20 #884276

>>882625 (OP)
Чому ещё не запилили форк без всякий идеологически-правильной хуеты?

Ответы>>884286

29 Ноя, 17:22 #21 #884282

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

Ну и нахуй он нужен?

Ответы>>884286

29 Ноя, 17:25 #22 #884286

>>884282
Потому что в 2к16 модно делать новые языки, и гугл со своим продуктом тут как тут.
>>884276
Это к Илюше, он ещё дизайн не допилил.

Ответы>>884288>>884294

29 Ноя, 17:29 #23 #884288

>>884286
>2к16 модно делать новые языки
Помнится, в универе один одногрупник такой хуйней страдал в 2007-ом, тоже вместо предложенных тем курсача напишет свой язык, взялся писать и в итоге соснул хуйца. Не то чтобы я против, просто это напоминает тех ребят которые пилят свою борду, когда макак очередную хуйню вытворяет, а в итоге получают мертворожденный продукт, о котором в курсе полтора анона и те съебывают с нее.

Ответы>>884295

29 Ноя, 17:38 #24 #884294

>>884286
>дизайн не допилил
Да что там пилить то? Вынести хероту типа ошибок компиляции при неиспользуемых модуляъ/переменных в опциональщину, подключаемую флагами компилера, и заебись. А дженериков и подождать можно.

Ответы>>884296

29 Ноя, 17:39 #25 #884295

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

Ответы>>888994

29 Ноя, 17:40 #26 #884296

>>884294
Ну, он хочет сразу комплексно продумать все от языка до интеропа чтобы выпустить и все сразу было заебись. Знаем мы таких, лул

Ответы>>884297

53 Кб, 604x511

29 Ноя, 17:43 #27 #884297

>>884296
Только это не го получится, а очередной никому не нужный велосипед.

154 Кб, 800x800

01 Дек, 23:08 #28 #885988

>>882625 (OP)
> Язык настолько убог и топорен...
Оу, го-тред дошел таки до самоиронии. Прогресс.

Ответы>>886514

24 Кб, 215x215

02 Дек, 20:14 #29 #886494

>>882625 (OP)
Решил тут вспомнить Go, мне тут как раз давали тестовое задание, которое я сделал за 3 часа вместе с тестами на божественном руби. Ну алгоритм действий я знаю, но язык не особо, наверно уйдет чуть больше времени.

Антош, это пиздец, сделать get и распарсить xml на этом языке какой то ад. На божественном руби я сделал это 2 строками за 15 секунд. Тут же нужно блять создать 2 ебанных структуры чтобы распарсить xml, две структуры, КАРЛ! В самом коде еще нужно делать преобразования типов и желательно обработку ошибок, а не просто _. Просто пиздец, к основной части задания даже не смог приступить от нахлынувшей безысходности.

Ответы>>886521>>886552

02 Дек, 20:48 #30 #886514

>>885988
Кстати, почему у Го такая ебанутая обработка ошибок? Спиздили бы try и catch из C++ и дело с концом. Да еще и в принудительном порядке обработка ошибок зачастую.

Ответы>>886617

02 Дек, 21:01 #31 #886521

>>886494
Нахуя ты динамический язык со статически типизированным сравниваешь, даун, да еще и с процедурным?

Ответы>>886526

02 Дек, 21:06 #32 #886526

>>886521
я все понимаю, Антош, но ничего не могу с собой поделать

02 Дек, 21:35 #33 #886552

>>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 составлял не ПТУшник, то таких проблем не возникает. Из-за криворуких документов иногда приходится использовать промежуточные структуры с кастомными анмаршалерами, да.

Ответы>>886621

02 Дек, 23:17 #34 #886617

>>886514
Почему это ебанутая? Не надо вводить новую концепцию обработки ошибок, достаточно стандартного if-else

Ответы>>886624>>886659

02 Дек, 23:28 #35 #886621

>>886552
>нормальный человек, почувствовав нужду в таком подходе, возьмет Python/Ruby и накидает скрипт на коленке.

Я вот всю жизнь так делаю (я не бэкэнд разраб, а жалкий админ), но все больше ops тулов пишут на этом языке. Недавно столкнулся с компанией, где все новые тулы golang only.

Ответы>>886624

02 Дек, 23:33 #36 #886624

>>886621
Если их инструменты достаточно сложные, то почему бы и нет?

>>886617
Стандартного if-else достаточно тогда, когда ошибки не возникают. Когда же они возникают, начинается отладка. Стоит упомянуть лишь то, что стектрейс говорит, где был panic, но где был иницализирован error — нет, это уже твоя задача. Я тоже считаю, что подход к обработке ошибок в Go не так уж плох до определённого момента.

Ответы>>886668>>886847

03 Дек, 00:53 #37 #886659

>>886617
Программист - ленивая скотина, которую нужно быть по рукам. Программист никогда не будет делать то, что он может не делать. Чтобы игнорировать ошибки в какой-нибудь жабе нужно делать так: "try { func(); } catch e {}", если ты этого не сделаешь, то при первой же возможности рантайм выскажет всё, что он о тебе думает. Чтобы добиться подобного поведения в го нужно делать ничего. Буквально, ничего. Ты просто не пишешь код, и все ошибки игнорируются так же, как это делается с вышеприведённым кодом в жабе. После первой же ошибки состояние программы становиться некорректным, и её поведение в крестостандарте описывалось бы как "undefined behaviour". И вот же что забавно - ты знать не можешь, когда, где и какой мудак поленился написать этот "if else"; то есть потенциально после любого вызова любой не твоей функции состояние программы может быть некорректно, и ты об этом даже никак не узнаешь.
Такой вот охуенный язык, такой вот замечательный подход к обработке ошибок. Зато на концепциях сэкономили.

Ответы>>886668>>888994

03 Дек, 01:06 #38 #886668

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

>>886624-кун

Ответы>>886673>>886832

03 Дек, 01:09 #39 #886673

>>886668
ты дебил-фанбой, читающий жопой

мимошел

Ответы>>886675

03 Дек, 01:11 #40 #886675

>>886673
Мимо шёл, но за мой елдак ртом зацепился.

sage 03 Дек, 01:13 #41 #886676

хоспади, я уже и забыл, почему этот раковник перманентно скрыт

Ответы>>886680

03 Дек, 01:15 #42 #886680

>>886676
Скрыт, но как бы открыт, поэтому ты зашел, да?

Ответы>>886684

sage 03 Дек, 01:18 #43 #886684

>>886680
вот решил глянуть, чё там черви-пидоры нонче обсуждают и лол, - ничего не изменилось за пол года

чао лахи-девопсики

03 Дек, 12:42 #44 #886832

>>886668
Ошибки не всегда специально игнорируются. В ноде была такая же проблема до недавнего времени. Я охуел от количества варнингов о неотловленных экзепшонов на своем проекте, когда нода начала о них писать.
Хотя я считаю себя довольно внимательным погромистом, который не делает хуяк-хуяк

03 Дек, 13:16 #45 #886847

>>886624
Его-то везде достаточно, и проблема не столько в игнорировании ошибок, сколько в том, что обрабатываются они абсолютно одинаково. Вот возникла у тебя ошибка в функции которую не ты писал, но что-то да возвращает причём не факт что этот кусок кода вообще задокументирован - ты же просто в лучшем случае залоггируешь/кинешь панику/сам вернёшь вернёшь ошибку раскрутив руками стек. Вообще всё это можно было сделать просто блоком try...catch в точке входа, но вместо этого у тебя код будет состоять в лучшем случае на половину из if err != nil { panic("sukablyad") } - к этому основная притензия.

Ответы>>889001

05 Дек, 18:20 #46 #888576

не тонем

05 Дек, 18:28 #47 #888582

https://blog.pusher.com/golangs-real-time-gc-in-theory-and-practice/
Тем временем, хвалёный РИАЛТАЙМ ГЦ го всасывает у... барабанная дробь... ОКАМЛА БЛЯДЬ! У самого медленно развивающегося куска верблюда, причём не самой новой версии. Оправдывайтесь, говноеды.

Ответы>>888595>>888836>>888848>>888994

05 Дек, 18:40 #48 #888595

>>888582
мамку ебал

Ответы>>888712

05 Дек, 20:31 #49 #888712

>>888595
Сокрушительная победа илюши и языка го.

06 Дек, 00:06 #50 #888836

>>888582
Кричу чота.
Как раз хорошо зашло бы в тред про стек который не грузит гц.

Ответы>>888848

06 Дек, 00:27 #51 #888848

>>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 мс задержками.

Ответы>>888858>>888864>>889053>>889084

06 Дек, 00:35 #52 #888851

https://beta.golang.org/pkg/sort/#Slice все уже видели? В Go теперь нормально сортировать можно)

06 Дек, 00:56 #53 #888858

>>888848
>мамку ебал
Сократил без потери смысла, не благодари.

43 Кб, 374x456

22 Кб, 693x247

Аноним 06 Дек, 01:02 #54 #888859

ребята кто знает в чем дело?
создал раздел на 8300мб на и отформатировал его в fat32
Хочу задать файл подкачки. Задаю 8192мб
Перезагружаю комп а там стоит файл подкачки 4.15гб
Пробывал уже по разному.
В настройках стоит 8300 но показывает что на диске занято всего 4.15

Ответы>>888862>>889053

06 Дек, 01:08 #55 #888862

>>888859
Илюша, тебе непременно нужно сосать хуй.

Ответы>>888863

Аноним 06 Дек, 01:09 #56 #888863

>>888862
спасибо. нет

06 Дек, 01:09 #57 #888864

>>888848
>OCaml uses for the old generation.
>Если бы тест получился сложнее (с чуть более долгоживущим мусором)
Вся суть итт треда.
Хоть кричать я начал ещё на "оптимизации гц".

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

О джяве там в комментах отписали, она в тесте без прогрева (он со 160 до 50 роняет) и не тюненый (вообще, как и все остальные – их в отличие от гошного внезапно можно тюнить).
>когда на дворе Go 1.8-beta1
Люди в продакшене на 1.5.x только переезжают, ты о чём.

Ответы>>888866

06 Дек, 01:14 #58 #888866

>>888864
У нас в клаудфлейр обкатывают 1.8 на 10% продакшн серверов.

06 Дек, 09:58 #59 #888994

стенатекста

>>884295
У эппла и МС всегда был языки, заточенные под их инфрастуктуру, так исторически сложилось и от этого никуда не деться.
Котлин тащемта годнота, джетбрейнс решает проблемы, которые их в яве изрядно заебали.
У фейсбука вообще тонны бабла и огромнейшая инфрастуктура. Они деньги вкладывают вообще в весь опенсурс и разработки, которые им упростят поддержку. Уверен там во внутренней кухне разработок еще больше, которые никому не показывают.
Но я так, с дивана.
>>886659
В либах из стандартной библиотеки ошибки не игнорируются. Если у вас кто-то пишет не по гайдлайнам его проблемы.
Я работал как-то над проектом, где нельзя было запушить код в репозиторий, если были варнинги от pep8 и pylint, только допустимая длина строк была 120, ибо мониторы кошерные.
Но один хуй, если высирать код, придерживаясь каких-то правил, это сократит и тебе время и другим людям.
Я вот зуб даю, что через год ты взглянешь на свой же говнокод и охуеешь от осознания того факто, что его писал ты.
>>888582
Когда у меня жрет 10гб сервак мускула на одной ноде, 40 редис, а приложение всего 1, то как-то похуй на гц. С задачами быстро справляется и похуй.
Энивей окамл не менее нишевый, чем го, со своими недостатками и преимуществами.

Ответы>>889001>>890653

06 Дек, 10:10 #60 #889001

>>888994
>сервак мускула на одной ноде
Тогда у тебя всё очень плохо.
>Энивей окамл не менее нишевый, чем го
И в чём же это заключается? Ну кроме яскозал.
>ошибки не игнорируются
>>886847
>У эппла и МС всегда был языки, заточенные под их инфрастуктур
Да насрать на них, сейчас языки клепать начали вообще все — от производителей железа (крей, интел) до совсем среднячковых компаний (жидбраинс).

12 Кб, 696x163

06 Дек, 10:54 #61 #889021

Обновился до 1.8, отвалился gocode. Нормально вообще? Пока не будет нормальных инструментов писать на этом говне не нужно.

Ответы>>889051>>889052>>889316

06 Дек, 11:45 #62 #889051

>>889021
Релиз 1.8 запланирован только на январь, пиши им в багтреккер лучше чтобы пофиксили.

Ответы>>889103

06 Дек, 11:47 #63 #889052

>>889021
>Нормально вообще?
Да.

06 Дек, 11:47 #64 #889053

>>888848
>Если бы тест получился сложнее (с чуть более долгоживущим мусором), Go его обошел бы
Если бы Иван Грозный сына не убил, мы бы сейчас на марсе жили. Ты сделай, а потом посмотрим и сравним. Еслибовать можно долго и безрезультатно.
>чувак гонял на Go 1.7.3, когда на дворе Go 1.8-beta1
Илюш, он в статье же и говорит, что в 1.8 марк фазу оптимизировали, а она боттленеком не была. Хочешь доказать превосходство - перепиши бенчмарк под 1.8 и покажи им всем, а пока будь добр сосать молча.
>любимый публикой Haskell полощется в районе 60 мс
>А вот у вас там в европах в жопы ебуцца! Плевать, что мы в говне по уши, зато у нас пидоров нету!
>>888859
Хороший вопрос, как раз для го-треда. В жыр32 размер файла хранится в DWORD'е.

06 Дек, 12:40 #65 #889084

>>888848
>потому что он юзает оптимизацию гц.
Ахуеть блять, что ещё за оптимизация GC? Он использует какие-то хаки? Настраивает сборщик для конкретной конфигурации железа?

Нет блять. У него просто лучше алгоритм GC. Какой из этого вывод?

Ответы>>889090>>889117

06 Дек, 12:46 #66 #889090

>>889084
>Какой из этого вывод?
мамку ебал

06 Дек, 12:55 #67 #889103

>>889051
Откатился на 1.7.4, репортить не стал.

Ответы>>889187

06 Дек, 13:18 #68 #889117

>>889084
> Какой из этого вывод?

Ты хуй

Ответы>>889120

06 Дек, 13:22 #69 #889120

>>889117
ReКупи слона илюше

Ответы>>889126

06 Дек, 13:30 #70 #889126

>>889120
Лучше я ему скобочек куплю.

06 Дек, 14:57 #71 #889187

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

Ответы>>889335

06 Дек, 18:49 #72 #889316

>>889021
У тебя gocomplete отвалился, а не gocode. И вообще это бета, тебе никто не гарантировал, что 3rd party tooling будет с ней идеально играть.

>нормальных инструментов
Сам пользуется атомом ахахахх

06 Дек, 19:15 #73 #889335

>>889187
> Го-маня-мир должен нормально так наткнуться на "айсберг-реальности" и научиться трижды думать
Шта

Ответы>>890003>>890018

07 Дек, 18:06 #74 #890003

>>889335
Ничо, это пятикопеечные бушуют)

Ответы>>890026

07 Дек, 18:18 #75 #890018

>>889335
шта хде куда

07 Дек, 18:29 #76 #890026

>>890003
сам себе лизнул?

08 Дек, 13:50 #77 #890435

Анон, есть какое-то решение, которое позволяет обходиться без импортов вида "github.com/vasyan1488/yoba-microservice", т.е. без полных путей относительно GOPATH? Очень раздражающая хуйня почему-то.

Ответы>>890450>>890478

08 Дек, 14:21 #78 #890450

>>890435
Нету. Потому что НИНУЖНА.
Единственный вариант — вендорить все депенденси руками к себе в проект.

Ответы>>890453

08 Дек, 14:28 #79 #890453

>>890450
>Нету. Потому что НИНУЖНА.
Go-way, как есть, лол!

08 Дек, 15:27 #80 #890478

>>890435
Это фича, лох)

Ответы>>890606

08 Дек, 18:37 #81 #890606

>>890478
ЗАБИЛ НА ПРОЕКТ НА ПАРУ НЕДЕЛЬ
@
ПОНАДОБИЛОСЬ ИСПРАВИТЬ 1 СТРОЧКУ И ПЕРЕСОБРАТЬ
@
ВСЁ РАСПИДОРАСИЛО НАХУЙ И НЕ СОБЕРАЕТСЯ
@
ПЕРЕПИСЫВАЕШЬ ВСЁ С НОВЫМИ БИБЛИОТЕКАМИ

Ответы>>890693

08 Дек, 19:43 #82 #890653

>>888994

> Они деньги вкладывают вообще в весь опенсурс и разработки
кому нужна ето жс говно, а даун)

08 Дек, 20:41 #83 #890693

>>890606
ОТКРЫЛ ДЖАВА ПРОЕКТ 4 ЛЕТНЕЙ ДАВНОСТИ
@
ЗАМЕНИЛ СЕРВИС ПО ИНТЕРФЕЙСУ
@
СОБРАЛ, ЗАПУСТИЛ, ПРОГНАЛ ТЕСТЫ, ЗАРЕЛИЗИЛ
@
ВСЕ РАБОТАЕТ КАК ЧАСЫ, ХОТЯ УЖЕ НЕ ПОМНИШЬ КАК ТАМ ЧТО РАБОТАЕТ ВООБЩЕ

Ответы>>890699

08 Дек, 20:47 #84 #890699

>>890693
Вот поэтому я и выбрал жабу.
Приключения интересны юнцам.

Ответы>>890714

08 Дек, 21:01 #85 #890714

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

Ответы>>890746

08 Дек, 21:45 #86 #890746

>>890714
то чувство, когда завидуешь, что чьи-то круды не сыпяться как в говно-js спустя неделю

Ответы>>890824

08 Дек, 23:35 #87 #890824

>>890746
>Go-тред
>джява-даун топит за хуиту для перделок в браузере
Добро пожаловать. Снова.

Ответы>>890850

09 Дек, 00:07 #88 #890850

>>890824
>2016 год
>маня верит, что кроме веба и мобильников его код где-то еще нужен

09 Дек, 22:23 #89 #891376

что дает эта асинхроность в го для микросервисов?
Ну да http i/o, в бд еще блокировка есть. И все?
Да и сам дефолтный http сервер тормазнутый какой-то (есть тесты).
При этом же планеровщик дергается же при каждых вызовах функции?

10 Дек, 01:25 #90 #891450

Вы, блять, видили какие шрифты завезли гоферы для демонстрации кода??
https://blog.golang.org/laws-of-reflection

Блять, хорошо ход не курсивом написали.

Ответы>>891512>>891771

10 Дек, 09:53 #91 #891512

>>891450
Так эти хипстеры же недавно вообще свой шрифт запилили, лол.

10 Дек, 10:03 #92 #891519

Хочу написать на go обфускатор go-кода. В какую сторону смотреть? Что посоветуете почитать? Я не очень опытный

Ответы>>891537>>891574

10 Дек, 10:47 #93 #891537

>>891519
Собственный обфускатор кода для чайников. 2012 года, автор Пайк Роб

10 Дек, 11:51 #94 #891574

>>891519
Нахуя?

Ответы>>891589>>891600

10 Дек, 12:10 #95 #891589

>>891574
Да ебет тебя, сука, нахуя? Хочется мне, блядь, так!

10 Дек, 12:26 #96 #891600

>>891574
Он боиться что его говнокод кто-то украдет.
Каждый быдлан у нас же невьебаться непризнаный гений

Ответы>>891615

10 Дек, 13:09 #97 #891615

>>891600
Ну а по сути есть че казать?

Ответы>>891671

10 Дек, 14:50 #98 #891671

>>891615
Соси хуй, быдло.
Вот тебе по сути.

Ответы>>891694

10 Дек, 15:08 #99 #891694

>>891671
Специалист уровня этой параши. Ясно.

Ответы>>891695

10 Дек, 15:10 #100 #891695

>>891694
>это всерьез требующее годноты быдло
Какое смешное, надо же.

Ответы>>891724

10 Дек, 15:50 #101 #891724

>>891695
А вот и тонкие реквесты ничего не знающего дауа подъехали...

10 Дек, 16:44 #102 #891771

>>891450
>видили какие шрифты завезли гоферы для демонстрации кода
Гугли что такое font license.

10 Дек, 17:10 #103 #891798

Теперь вы добавлены в Перекотер, так что вам нет нужды перекатывать треды вручную >>891794

11 Дек, 21:16 #104 #892663

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

Но вот смотрите, пацаны. Одна из главных заявленных фич Го - эффективные зелёные треды. С одной стороны, это звучит так заманчиво, что ради этого можно потерпеть даже дебильную систему типов. Но с другой стороны... так ли эти зелёные треды фундаментальны? Ведь по большому счёту это фича рантайма. Вон, в Rust'е отказались от зелёных тредов, чтобы избавиться от рантайма (теперь они едят кактус futures). Но даже на Rust'е, даже на Си, у большинства приложений уже есть рантайм - ядро ОС. И оно уже реализует вытесняющую конкурентность - обычные треды. Да, они дороже, чем горутины, потому что переключают больше контекста. Но, во-первых, настолько ли дороже, чтобы было критично на масштабах обычных смертных (не Гугла)? А во-вторых, так ли эта дороговизна фундаментальна?

Иными словами, если сейчас я куплюсь на хайп вокруг горутин, не случится ли так, что завтра в Линуксе сделают какие-то супер-легковесные треды вроде Виндовых fiber'ов, с ними подружится компилятор того же Rust'а, и ржавобоги получат сильно конкурентный в/в на нормальном языке, а мне в числе гофербыдла останется подбирать за ними объедки?

Ответы>>892675>>892701>>892707>>892774

11 Дек, 21:35 #105 #892675

>>892663
>Виндовых fiber'ов
Я тебе больше скажу: в той же os x и bsd-ях есть GCD, который и есть этот самый рантайм, но с куда большей гибкостью.

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

Ответы>>892693>>892774

Что не так? 11 Дек, 21:43 #106 #892680

Есть такая функция http://pastebin.com/S0hA3ahT

>panic: near "WHERE": syntax error

Ответы>>892695

11 Дек, 22:11 #107 #892693

>>892675
> Я тебе больше скажу: в той же os x и bsd-ях есть GCD, который и есть этот самый рантайм, но с куда большей гибкостью.
Во, кстати, да. Я что-то слышал про GCD, но забыл. Спасибо.

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

Ответы>>892697

11 Дек, 22:17 #108 #892695

>>892680
Нид хелп, посоны

Ответы>>892706

sage 11 Дек, 22:19 #109 #892697

>>892693
Хуй. Это не довод (хуитка) за или против, это просто такая хуйня которая кому-то нужна. Вот такая вот хуйня.

11 Дек, 22:19 #110 #892698

ансейдж

11 Дек, 22:22 #111 #892701

>>892663
именно так, да и сейчас они нахер не нужны, завезли уже асинхронный веб и i/o вообще с DirectMemory, завезли асинхронную работу БД, и собственно - больше асинхронить то нечего, только избыточная нагрузка на планировщик по каждому чиху (хотя это задача ОСи, которая кстати лучше справляется).

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

Ответы>>892725

sage 11 Дек, 22:29 #112 #892706

>>892695
Еба, я гоню. UPDATE же.

11 Дек, 22:29 #113 #892707

>>892663
Какую кашу нужно иметь, чтобы разменять питоны, руби, даже js, и даже php на го? На эти костыли времен семидесятых годов?
Имхо лучше докупить планочку ОЗУ, чем блять страдать в такой параше, с хорошо натаскаными лемингами-евангелистами и их подрожателями

Ответы>>892725>>892890

11 Дек, 22:46 #114 #892725

>>892701
> асинхронный веб и i/o вообще с DirectMemory
Это кто? Нагуглил https://directmemory.apache.org/ но не понимаю, каким боком оно к асинхронному в/в.

>>892707
> Какую кашу нужно иметь, чтобы разменять питоны, руби, даже js, и даже php на го? На эти костыли времен семидесятых годов?
Вот я и хочу понять: горутины - это костыль или неебись достижение прогресса. На костыли менять не хочется. Всё же Питон хоть и говно в известной степени, но работа на нём есть и не самая плохая.

Ответы>>892730>>892741

sage 11 Дек, 22:51 #115 #892730

>>892725
>но работа на нём есть и не самая плохая.
Очевидно что фрилансерам нет смысла перекатываться. Для тех, кто мутит модный стартапчик, кого заставляют писать на Go, кто делает какие-то свои прожекты (как я). А такому как ты, ремесленнику, оно не надо, не забивай себе голову.

Ответы>>892742

11 Дек, 23:11 #116 #892741

>>892725
> асинхронный веб и i/o вообще с DirectMemory
Общая память-буфер между сетевой/файловой хуйней ввода/вывода, минуя 100500 промежуточных буферов, для мгновенного обмена данными, при этом не аллоцируя лишний раз в хип (java)

Асинхронщина в контексте веба нужна только для http запрос-ответа и бд - и все, поэтому завезли всякие тулзовины для других языков (фьючеры, async/await), и будут всегда для них пилить подобные фичи в API операционки (потому что все языки важнее, а го там и сам справится, наверно).
И 100500 миллионов горутин нахуй не нужны так как ты всегда ограничен своими ядрами на проце (если конечно у тебя там не ЦОД соразмерный с деревню).

Мое ИМХО - на Го нереально писать большой и сложный проект, он по-моему создавался для скрипто-тулзовин

Ответы>>892743>>892751

11 Дек, 23:11 #117 #892742

>>892730
Чё-то ты не то прочитал в моём посте. Я как раз о том, что перекатываться хочу не за едой (еда пока есть), а за ПРОФЕССИОНАЛЬНЫМ РАЗВИТИЕМ. Поэтому я присматриваюсь, а не клюю сразу на удочку гугла. И наличие успеха прямо сейчас (а Го, несомненно, уже успешный язык) - веский, но не доминирующий фактор. да, Хаскель уже освоил

Ответы>>892744

11 Дек, 23:16 #118 #892743

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

11 Дек, 23:19 #119 #892744

>>892742
Профессиональное развитие - там где серьезное бабло и серьезные масштабы. Тут без вариантов - джава.

На Го он развиваться решил, ппц.

Ответы>>892754>>892778

11 Дек, 23:29 #120 #892751

>>892741
> Асинхронщина в контексте веба нужна только для http запрос-ответа и бд - и все
Асинхронищина нужна для запрос-ответа клиента, БД, кэшей, очереди задач и ещё дохуиллиона сторонних сервисов, в которые ты ходишь по сети. То есть, для всего сетевого ввода/вывода (а при большой нагрузке - и для дискового тоже).

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

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

Ответы>>892758

11 Дек, 23:33 #121 #892754

>>892744
> Профессиональное развитие - там где серьезное бабло
Вовсе нет.

> и серьезные масштабы.
Теплее.

> Тут без вариантов - джава.
Лол. Похоже, ты не видел ни серьёзного бабла, ни серьёзных масштабов.

Ответы>>892757>>892761

11 Дек, 23:35 #122 #892757

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

11 Дек, 23:37 #123 #892758

>>892751
>Но говорят, что это гроб гроб тормоза контекст-свитчинг
Для того и делают гринтреды с шедулерами. Го, собственно, отличается тем что позволяет делать хуяк-хуяк-канкаренси, что ты ищещь-то?

Ответы>>892768

11 Дек, 23:42 #124 #892761

>>892754
А какие варианты яве-то? Го, у которого кучи багов в каждом новом релизе? У которого не то что даже гц нельзя настроить, а проект нельзя создать где хочешь — потому что НИНУЖНА?

Это игрушка для утилиток вроде докера (ну, докер — это их сборник). Не больше.

Ответы>>892771

11 Дек, 23:50 #125 #892768

>>892758
Я ищу понимания, насколько это уникальная фича Го. Если это невротъебенная космическая технология, то возможно ради неё стоит запрыгнуть на hype train. А если завтра то же самое может появиться в $another_server_language или прямо в Линуксе, то я подожду.

Ответы>>892774>>892781

11 Дек, 23:57 #126 #892771

>>892761
> А какие варианты яве-то?
Множество масштабных и серьёзных систем пишется на C++. На Python, к сожалению, тоже дофига. Бывают на Эрланге и даже на C. Это даже если вместе с Явой исключить всю её экосистему (Scala) и .NET заодно (C#).

Ответы>>892774

12 Дек, 00:03 #127 #892774

>>892768
Ну так оно уже много где есть уже есть в системах изкаробки >>892663 >>892675

Тут тебе 200 раз написали — аналогов для хуякхуяк нет, даже в питоне сложнее. Если для тебя это прям киллерфича — стоит.

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

Ответы>>892778>>892910

12 Дек, 00:09 #128 #892778

>>892774
> Тут тебе 200 раз написали — аналогов для хуякхуяк нет
Блять, ты можешь по-русски написать? У тебя табу какое-то или что? Слово рвётся из груди, но не как не может вырваться! Выпусти же его, скажи, какая идея сокрыта за словом "хуякхуяк"!

> Не прыгай из области в область, мы сейчас говорили про сурьёзный бизнес в целом и конкретно нишу явы, а не про гугл и фейсбук.
Лол что. Мы говорили о профессиональном развитии. Про бизнес и яву >>892744 стал заливать.

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

Ответы>>892788

12 Дек, 00:24 #129 #892781

>>892768
Я ищу понимания, насколько это уникальная фича Го

Настолько уникальная, что от зеленых тредов в джаве отказались еще в версии 1.2

Ответы>>892782>>892788

12 Дек, 00:26 #130 #892782

>>892781
То было в 1998. Тогда не было высоко конкурентного веба и даже C10k. Нещитово.

Ответы>>892785

12 Дек, 00:34 #131 #892784

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

Сейчас вроде такие долбаебы на node.js тусят? Пиздуй туда и уноси свой Го.

12 Дек, 00:36 #132 #892785

>>892782
Вот сделаешь мне 10К на одном ядре с бизнес логикой, вот тогда поговорим, а пока иди нахуй с холостыми i/o (и да, уже тренд 100к и даже 1М).

12 Дек, 00:47 #133 #892788

>>892781
Настолько уникальная, что супербыстрый го в бенчмрках веб фреймворков от techempower всасывает сочной хуятины у явы и прочих?
>>892778
Ахуеть порвало маню-фанатика. Стандартные оправдания хипстеров, придумай что нибудь новое.

Ответы>>892799

12 Дек, 00:59 #134 #892797

Вот так, ёпты. Пришёл в тред с анти-Го посылками и чуть не троллингом, а спустя десяток постов меня записали в хипстеры-фанатики Го.

Ладно, ребята, нормальных ответов от вас хуй получишь, да я и сам хорош, придираюсь ко всему подряд, пойду читать про GCD лучше.

12 Дек, 01:02 #135 #892799

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

12 Дек, 09:54 #136 #892890

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

Ответы>>892898

12 Дек, 10:12 #137 #892898

>>892890
>джавадебилов
Истина.
>го сосет и ненужен
Истина.

Ответы>>893023

12 Дек, 10:47 #138 #892910

>>892774
>аналогов для хуякхуяк нет
В винде есть фиберы, в ЛИНАКСЕ тоже что-то такое есть, как выше сказали,- напиши свой планировщик, и будет тебе хуякхуяк в любом языке.

Ответы>>892928

12 Дек, 11:47 #139 #892928

>>892910
>напиши свой планировщик
Вот именно это и делает го языком пригодным для хуякхуяк. В других языках пердолить системный апи/писать свою библиотеку и тд — в то время как в го накатил компилятор и пилишь говнокод.

Ответы>>892930>>892947

12 Дек, 12:03 #140 #892930

>>892928
Чем goвнорутины лучше, чем Эрланговская многопоточность?

Ответы>>892932

12 Дек, 12:08 #141 #892932

>>892930
Тем что позволяют пердолить более—менее эффективный код на одной машине. У эрланга всё наоборот.

12 Дек, 12:38 #142 #892947

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

12 Дек, 14:53 #143 #893023

>>892898
джава-господам срать, даже шарп отсосал у джавы по рынку, а вы этоу помойку противопоставляете, вы вероятно путаете с андройд-уебками, но это же бывшие скрипт-киди.

13 Дек, 13:48 #144 #893581

есть уже стори как мы разочаровались и вернулись/перешли на %язык%

Ответы>>893587>>893675>>893774

13 Дек, 14:19 #145 #893587

>>893581
Так куда переходить-то? На нём только хипстеры и пишут. Тут вон уже отпиысывали - дырявые беты в проде накатывают, что как бы намекает на аудиторию. Пока ничего нового и хайпового не запилят - будут кушать что есть.

sage 13 Дек, 17:35 #146 #893675

>>893581
https://habrahabr.ru/company/badoo/blog/317442/#c

Ответы>>893677

13 Дек, 17:36 #147 #893677

>>893675
Но это не точно.

13 Дек, 20:45 #148 #893774

>>893581
В моём наполовину продуктовом бодишопе запилили продукт на go бывшие пхпшники. Говорят что из-за того что менторы рекомендуют не юзать фреймворки, а обходиться только стандартной либой - приходиться писать свои велосипеды на каждый чих. Не понимаю то им мешает забить на менторов и заюзать какой нибудь revel/iris/etc, но из-за велосипедострония решили в будущем отказаться на новых проектах.

Ответы>>893901

14 Дек, 00:09 #149 #893901

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

Вся суть.

Недавно разговаривал с командой, которая делает на Го очень нехилый продуктовый комплекс. Они мне тоже: только стдлиб, только хардкор. Почему? Ну тип чтоб не было как в JS с left-pad)))

Ответы>>893908>>893980

14 Дек, 00:17 #150 #893908

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

Ответы>>893913

14 Дек, 00:19 #151 #893913

>>893908
Да это не их решение, это называется "пайк скозал что нинужна значет нинужна". Так же как и со всем остальным.

Ответы>>893918

14 Дек, 00:30 #152 #893918

>>893913
Дополнительный лулз что на фронтенде там angular2, т.к. модно стильно молодёжно. А это в отличие от топорного go, напротив - переусложнённый фреймворк с неебическим оверхедом (~3МБ для hello world это вам не шутки) и отсутствием вообще какого то "тру" пути. От чего приходиться вместо написания кода - постоянно бороться с наркоманскими идеями разрабов сего чуда.

Ответы>>894065>>894076

14 Дек, 02:25 #153 #893980

>>893901
лол, любая либа или фрейм это экономия 100-1000 человеко часов, видимо заказчики очень жирные и готовы оплачивать велосипедные костыли

14 Дек, 02:45 #154 #893987

https://habrahabr.ru/company/badoo/blog/317442/#comment_9961156

>Расскажите про юнит тестирование Go демонов
>Мне немного стыдно, но у нас для Go практически нет юнит тестов
Пиздец.

Я параноик, или реально в компаниях для игр накатывают го, чтобы потом пропиарить/разрекламить себя?

Ответы>>893990>>894033

14 Дек, 02:52 #155 #893990

>>893987
У меня еще паранойя, судя по тому, что на хабре давно стухла вся аудитория и яркое общение редкость, не кажется ли тебе, дотошный анон, что большая часть вопросов там от сотрудников и они сами же себя наплюсовывают?

Ответы>>894013

14 Дек, 05:39 #156 #894013

>>893990
А ты быстр и сообразителен, счастливый владелец сорок седьмой хромосомы.
Не прошло и года как ты НАЧАЛ ПОДОЗРЕВАТЬ

14 Дек, 08:45 #157 #894033

>>893987
Нет, просто тесты в большинстве случаев нахуй не нужны.

Ответы>>894042

14 Дек, 09:39 #158 #894042

>>894033
Not_Sure_if_Trolling_or_Just_Stupid.jpg

Ответы>>894076

14 Дек, 10:40 #159 #894065

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

14 Дек, 11:09 #160 #894076

>>894042
Они же написали, что тестов почти нет и что переписывали на go сишники, где юнит-тестирование и какое-нибудь tdd не самое веселое занятие.
И да, тесты в большинстве случаев нахуй не нужны.
>>893918
> модно стильно молодёжно
Нет, просто ангулар решает задачи. Только и всего, а ты и дальше продолжай думать, что это тяжело и вообще не нужно. Вторая версия заоптимизирвоана с накинутой поверх типизацией в виде тайпскрипта.
Практически единственный хороший подход в вебе, если не учитывать слегка сырой elm.

Ответы>>894094>>894101

14 Дек, 11:24 #161 #894094

>>894076
>ангулар решает задачи
Да, но делает это через ненужный оверхед. React, например, решает те же задачи и намного элегантнее. Да это не фреймворк, но у реакта есть своя экосистема в которой есть всё что необходимо.

Ответы>>894101>>894110

14 Дек, 11:44 #162 #894101

>>894076
>>894094
Воу-воу, давайте просто сойдёмся на том, что ЖС в принципе необходимое зло, писать на котором неприятно, и закончим на этом.

14 Дек, 12:08 #163 #894110

>>894094
> решает те же задачи и намного элегантнее
Кекус.

14 Дек, 12:16 #164 #894118

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

мимо котлин господин

14 Дек, 16:11 #165 #894222

>Idiomatic way to remove duplicates in a slice

https://www.reddit.com/r/golang/comments/5ia523/idiomatic_way_to_remove_duplicates_in_a_slice/

Ответы>>894262

14 Дек, 17:17 #166 #894262

>>894222
От создателей slice[len(slice)-1]

Ответы>>894401

14 Дек, 21:41 #167 #894401

>>894262
Скорее от создателей append(a[:i], append([]int{x}, a[i:]...)...)

15 Дек, 18:37 #168 #894821

https://www.jetbrains.com/go/

Ответы>>894867>>895032

15 Дек, 19:11 #169 #894832

Объясните за
if err!=nil {
}
Это че, мне после каждого вызова надо будет описывать блок обработки ошибки вместо самой логики. То есть логику придется размазывать по коду между блоками обработки ошибки?

Ответы>>894862

15 Дек, 19:53 #170 #894862

>>894832
В общем, да. Обычно делают обёртку для этого дела.
func handleErr(error err) {
// обработка
}
res, err := shit(a, b)
handleErr(err)

Ответы>>894889

15 Дек, 19:56 #171 #894867

>>894821
Вот и приехали. Однозначный вин.

Ответы>>894874

15 Дек, 20:04 #172 #894874

>>894867
В чём вин-то? Это просто плагин для идеи вынесенный отдельно.

15 Дек, 20:14 #173 #894889

>>894862
ну то есть проверку на err!=nil вынес в handleErr. Но handleErr получается тоже должна возвращать типо ошибка/не ошибка, и ее результат также получается нужно проверять и либо продолжать выполнение логики либо возврать из функции делать? Ну дак в обертке-то еще и контекст потерян, и если мне там кучу ресов надо освобождать например, это мне придется в handleErr все хендлы (или что там в Go) передавать?

Ответы>>894902>>894966>>895171

15 Дек, 20:28 #174 #894902

>>894889
Да, так всё хуёво. Такая обработка ошибок-одна из основных претензий к языку.

Ответы>>894915

15 Дек, 20:38 #175 #894915

>>894902
Наоборот - охуенно же вон как у вас, пидорасов, горит

Ответы>>894920>>895021

15 Дек, 20:43 #176 #894920

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

кстати, раз такая уже публика, то почему никто ещё не запилил язык компилируемый в go?

Ответы>>894922>>894923>>895273

15 Дек, 20:46 #177 #894922

>>894920
Запилили уже. Odin, have, чё то там ещё.

Ответы>>894948

15 Дек, 20:47 #178 #894923

>>894920
Ну ты уж загнул. Создатели даже map/filter/reduce отказались делать. Обоснование этому в классическом go-way: НИНУЖНО.

Ответы>>894925>>894945

15 Дек, 20:48 #179 #894925

>>894923
Да нет, пайк сам их написал и выложил на гитхаб. Правда подписал именно так: НИНУЖНА.

15 Дек, 21:11 #180 #894945

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

15 Дек, 21:15 #181 #894948

>>894922
не могу нагуглить, Один гугл воспринимает либо как транслитерацию русского "один"(одна штука) либо как либо для документации. с have всё ещё более плачевно. ясен пень что golang have something

Ответы>>894950>>894969>>894970

15 Дек, 21:16 #182 #894950

>>894948
*либу

15 Дек, 21:38 #183 #894966

>>894889
>Но handleErr получается тоже должна возвращать типо ошибка/не ошибка, и ее результат также получается нужно проверять и либо продолжать выполнение логики либо возврать из функции делать

Нет, зачем так? Есть три варианта:
1) игноришь ошибку
2)обрабатываешь её здесь и сейчас и забиваешь на нее
3) делаешь в данном месте возврат в вышестоящую функцию

Ответы>>895024

15 Дек, 21:42 #184 #894969

>>894948
https://git.handmade.network/gingerbill/Odin

Ответы>>894974

15 Дек, 21:44 #185 #894970

>>894948
http://havelang.org/

Ответы>>894974

15 Дек, 21:48 #186 #894974

>>894969
>>894970
благодарочка!

15 Дек, 23:09 #187 #895021

>>894915
лол, какие же они сектанты ебанутые, мы то не пишем, страдаете как раз вы.

Ответы>>895275

15 Дек, 23:12 #188 #895024

>>894966
выбираю
>1) игноришь ошибку

15 Дек, 23:35 #189 #895032

>>894821
лол, увидели популярный плагин, форкнули и теперь будут бабло гребсти с сусликов.
У опенсорсных макак от этого не бомбит?

Ответы>>895036>>895055

15 Дек, 23:36 #190 #895036

>>895032
Нет, я готов платить за гарантированную поддержку и фичи.

16 Дек, 00:16 #191 #895055

>>895032
Самое смешное, что оригинальный плагин собираются ограничить ультимейт версией идеи и др. её платными ответвлениями. Опенсорс, он такой.

Хотя у кого там бомбить-то будет — поищи вон на реддите обсуждения iris-а. Это такой веб-фреймворк, автор которого отклонял все коммиты и коммитил от своего лица. И этим до сих пор кто-то пользуется.

Ответы>>895081

16 Дек, 01:10 #192 #895081

>>895055
А как еще можно организовать?

Как оформить платформу, напрямую не приносящую доход, но позволяющую на себе разместить то, что доход приносит?
Если сделать публично - своруют, если приватно - заебет все контролировать.

Пока дошел до стратегии: отдать публичную часть корки попенсорцу, под утехи и забавы, а приватную анально контролировать, чтоб не утекло.
И аффтору хорошо: пилит только свое.
И попенсорцу: на платформе можно много чего козырного запилить, да и если аффтор-мудаг забьет хуй и полностью удалит приватный сервис с платформы, попенсорц сможет запилить более бледный, но вполне функциональный аналог, тем самым продолжив свое трудное, полное боли, попенсорц-существование.
Такой вот праздник швабодки.
Годно?

16 Дек, 09:33 #193 #895156

Go-анон, ответь честно: тебе нравится писать на этом языке или тебя заставили?

Ответы>>895162>>895238>>895277

16 Дек, 09:57 #194 #895162

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

Ответы>>895164>>895170

16 Дек, 10:10 #195 #895164

>>895162
То есть заставили.

16 Дек, 10:44 #196 #895170

>>895162
Пишу я на %ЯП-нейм% и мне всё в нем нравится, мне не нужно себя через силу заставлять использовать его, при этом он мощный и на нём можно писать как всякие мелочи так и серьёзные приложения. Порой даже думаю, как хорошо, что я выбрал именно его в своё время.
Довольно часто можно слышать фразу, особенно здесь, что язык-лишь средство, а не объект поклонения. Я согласен, но приятно же, когда язык одновременно прагматичен и написание кода на нём доставляет удовольствие?

16 Дек, 10:48 #197 #895171

А потом еще регуляркой парсишь err - то ли сервер с базой недоступен, то ли ошибка в коммите.
>>894889

Ответы>>895239>>895523

16 Дек, 13:33 #198 #895238

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

мими питон макака

16 Дек, 13:36 #199 #895239

>>895171
Лол, вспомнил сразу детство и пхп, там тоже вечно строки парсили, чтобы тот или иной тип узнать

16 Дек, 14:23 #200 #895273

>>894920
> паттерн-матчинга и алгебраических типов
Проиграл, нахуй это в полностью императивном языке?

Ответы>>895538

16 Дек, 14:25 #201 #895275

>>895021
Горят в основном javaдауны, типо тебя, которые приходят срать в тред. Потому что ничего кроме Huita<DrugayaHuitaInterface> huita = new Huita<DrugayaHuitaInterface>>(); не можете распарсить.

Ответы>>895295

16 Дек, 14:29 #202 #895277

>>895156
Нравится. Джава оверхед для моих задач, нода говно, на пайтоне, временами рубях, пишу на работе. Функциональные идеи не нравятся, а лисп, точнее slime emacs'a, не осилил.

16 Дек, 14:50 #203 #895289

Замечательный кандидат, сказавший, что Java он не знает и можно ли сделать задание на Go? Я сказал в том смысле что «хрен с ним, давайте на Go», на что получил ответ — «отлично, Go я тоже не знаю, вот выучу и сделаю»! Скажу честно — я горжусь знакомством (пусть и шапочным) с таким упорным человеком.
https://habrahabr.ru/company/ecwid/blog/315228/

Гоферы, почему вы такие глупые сектанты? Это же жесть))

Ответы>>895292

16 Дек, 14:58 #204 #895292

>>895289
Почему ты называешь гофером человека, который не знает Go? Человек из твоей цитаты не гофер и не джавер, а просто обычный еблан. Гоферы и Go тут не при чём.

Ответы>>895293>>895312

16 Дек, 14:59 #205 #895293

>>895292
Это толстый троллинг, зря ведешься.

16 Дек, 15:01 #206 #895295

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

Ответы>>895300

16 Дек, 15:13 #207 #895300

>>895295
> порашу семедесятых
Идеи Оберона, и они хороши. Не нравится парадигма языка - не используй его, все просто.

> без обработок ошибок
Я года 4 писал на сишке и не знаю, что это такое. А тут даже defer и recovery есть.
> без нормальных регулярок
Там, где мне нужны серьёзные регулярки, лучше perl скрипт накидаю. Простые регулярки в го хороши.

Ответы>>895313>>895314

16 Дек, 15:38 #208 #895312

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

16 Дек, 15:41 #209 #895313

>>895300
>Я года 4 писал на сишке и не знаю, что это такое
Посмотри в окно, мир за 44 года изменился.

>лучше perl скрипт накидаю
Там где нужно стандартное де-фактор решение - "я запилю свои костыли", ага. Да ты просто мастер проектного дела.

16 Дек, 15:44 #210 #895314

>>895300
>Я года 4 писал на сишке
И что же ты в го забыл-то? Из системщиков-лабодаунов в бэкэндеры?

Ответы>>895332>>895489

16 Дек, 16:12 #211 #895332

>>895314
скорее всего он писал круды на сишке, такие долбаебы тоже есть и для них го действительно очень крутой язык (как это было бы в 1970 годах)

16 Дек, 19:31 #212 #895489

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

16 Дек, 20:09 #213 #895523

>>895171
Для эрроров можно типы задавать.
Так что ничего парсить не надо, стандартные case
Но это если эррор написан нормально

Ответы>>895536>>898068

16 Дек, 20:15 #214 #895529

Обратите внимание, как го-сектанты выравнивали или пытались выравнивать "ненужные" комменты (вероятно кооперируясь в их закрытом сектанском чатике на слаке)

Ответы>>895530

16 Дек, 20:17 #215 #895530

>>895529
забыл
https://sohabr.net/habr/post/274057/#comment_8716923

16 Дек, 20:25 #216 #895536

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

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

И да, будут тысячи либ улучшающие работу с ошибками, как и с логгерами сейчас и будет сотня тысяч несовместимостей.

Запомни уже Анош, Го не подходит для реального приложения, только хуяк-хуяк-скрипты.

Ответы>>895686>>895699>>897441

16 Дек, 20:31 #217 #895538

>>895273
а нахуй тогда в императивном языке возможность передавать функции аргументом в другие функции?

Ответы>>895541

16 Дек, 20:40 #218 #895541

>>895538
Не вижу противоречия с императивностью

Ответы>>895544

16 Дек, 20:46 #219 #895544

>>895541
окей, а какие противоречия у паттерн матчинга, который по-сути switch? тут даже мб и switch хватило бы, если бы завезли хотя бы union типы

а вообще то что ты говоришь нихуя не аргумент, а больше похоже на троллинг или просто тупость

Ответы>>895688

17 Дек, 01:51 #220 #895686

>>895536
> в нормальных языках
> дерево наследования
лол

Ответы>>895690

17 Дек, 01:54 #221 #895688

>>895544
паттерн матчинга нет в си и обероне, потому нет и в го

Ответы>>895692>>895694

17 Дек, 01:59 #222 #895690

>>895686
>лол
лол

17 Дек, 02:05 #223 #895692

>>895688
Нету, как и всего остального, потому что клали болт на синтаксис вообще. Но радует не это, радует то, что маркетологи + евангелисты настолько качественно выполнили свою работу, что суслики даже отстаивают многие решения (точнее отсутствие вообще каких-то решений).

Ответы>>895697

17 Дек, 02:07 #224 #895694

>>895688
> отсылка к "авторитетам"
ретроград? ретроград же!

в си не было http сервера из коробки, откуда в гоу, нахуй СЕРВЕР? что за хуйня!?

Ответы>>895701

17 Дек, 02:13 #225 #895697

>>895692
То что некую (я бы сказал большую, но не всю) аудиторию программистов постоянно разводят - это давно не секрет, но больше лулзов приносит сочетание этой тупости с их высокомерием.
Не является ли маскот-дебил - этакой скрытой шуткой над ними?
Есть тут ZOG эксперты, которые забыли принять таблетку?

17 Дек, 02:15 #226 #895699

>>895536
омг. ещё один адепт Exception Driven Development. хочу прочитать файл на диске, а его нет - нужно что бы случилось выпадение ошибки которое непременно нужно ловить, иначе вся приложуха упадёт. вот где-то здесь ахуеть можно. а если нужно записать в файл но не хватает прав? конечно нужно снова что бы случилось выпадение ошибки. однажды ошибка выпадет когда ты будешь ехать в карете и её будет наматывать на колесо, пока у тебя глаза не втянуться в череп, как у улитки.

Ответы>>897152

17 Дек, 02:18 #227 #895701

>>895694
если смотреть по тестам, то это самый медленный асинхронный сервер, так что считай его там нет

Ответы>>895703

17 Дек, 02:24 #228 #895703

>>895701
> маняврирование в сторону снижения значимости факта
сноб? сноб же!

в си не было корутин и каналов из коробки, откуда в гоу, нахуй КОРУТИНЫ И КАНАЛЫ? что за хуйня!?

Ответы>>895705>>895990

17 Дек, 02:31 #229 #895705

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

Ответы>>895710

17 Дек, 02:37 #230 #895710

>>895705
зачем вообще сравнивать гоу с си и оправдывать отсутствие фичи Х в гоу тем что её не было в си? я такую хуйню если кому расскажу - мне же не поверят!

Ответы>>895839

17 Дек, 13:24 #231 #895839

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

Ответы>>895850

17 Дек, 13:36 #232 #895850

>>895839
лол. друзей нет, но есть сотрудники на работе, с которыми мы иногда ржем с найденных нами странностей в той или иной сфере айти. вот гоу достаточно богатый источник лулзов

Ответы>>895912

17 Дек, 15:26 #233 #895912

>>895850
ну так завези нам что-нить лулзовое, все равно всех фанбоев распугали

Ответы>>895973

17 Дек, 17:39 #234 #895973

>>895912
Я фанбой и еще здесь. Мне пичот только от ошибок и немного от отсутствия женериков, но женерики таки ненужны их слишком сложно понимать потом, а у меня айкью и так около 80, а ошибки я просто ИГНОРИРУЮ.

Ответы>>896010

17 Дек, 18:10 #235 #895990

>>895703
> в си не было корутин и каналов из коробки
> в си не было http сервера из коробки
И тут Остапа понесло.
1. Когда пилили С, то идеи асинхронного программирования были только в теории. А go лепили чтобы избавиться от костылей в специфичных нуждах компании.
2. В С из библиотек вообще нихуя нет из коробки кроме libc.

Ответы>>895991

17 Дек, 18:11 #236 #895991

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

Ответы>>896001>>896023

17 Дек, 18:34 #237 #896001

>>895991
Эрланг не взлетел.

Ответы>>896023

17 Дек, 18:52 #238 #896010

>>895973
это нормальная практика еще с пхп

Ответы>>896032

87 Кб, 1196x165

17 Дек, 19:07 #239 #896021

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

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

Ответы>>896026

17 Дек, 19:09 #240 #896023

>>896001
Он слишком узкоспециализированный и начал набирать актуальность только в последние 5 лет про то, что его допилили до вменяемого состояния (когда можно просто взять и заюзать а не фиксить баги в нём самом и допиливать под свои нужды) как раз в последние несколько лет промолчим, лол.
>>895991
Да нет.

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

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

Ответы>>896027

17 Дек, 19:15 #241 #896026

>>896021
Так то же самое несут хачкель-сектанты, мол, отладчик нинужин. Что как бы намекает что они ничего и не пишут, лол.

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

Про типизацию и обработку ошибок порадовало (а под злым компилятором он что имеет в виду - запрещение компилировать если есть лишний импорт?)

Ответы>>896103

17 Дек, 19:18 #242 #896027

>>896023
лол, горутины киллер фича?
ну серьезно для чего ты стал их использовать?? Про асинхронный пиздеж не надо, он нужен только в блокирующий i/o,а это редкое явление по процессорному времени, а вот дергать планировщик каждый вызов функции это нормально (причем ОС тоже делает это)?

Ответы>>896033

17 Дек, 19:23 #243 #896032

>>896010
Не поверишь, но я не писал никогда на пхп, вообще никогда, даже гостевух. И мимо веб-параши на го тоже прошел. Веб - для педиков.

Ответы>>896044

17 Дек, 19:23 #244 #896033

>>896027
Да, это киллер фича позволяющая утилизировать все лишние ядра безо всякого пердолинга. Как и в дэльфи в своё время с гуем - может и будет притормаживать, зато легко и просто.

Ответы>>896041

34 Кб, 821x137

Еще один пациент 17 Дек, 19:28 #245 #896038

Автокомплит названий функций/методов в IDE??? - НЕНУЖНО!!!

Ответы>>896057>>896067

17 Дек, 19:31 #246 #896041

>>896033
Еще раз, выигрыш будет только во время блокирующий операций (которые уже юзают реже), а в остальном твой поток и так в максимум отработает (но не в ГО, так как там будет шедулер на каждый вызов функции дергаться, представь какая просадка)

Ответы>>896062

17 Дек, 19:33 #247 #896044

>>896032
>>Веб - для педиков

Ты в нем сидишь и пишешь это, хм, ну окей

Ответы>>896066

17 Дек, 19:45 #248 #896057

>>896038
Вероятно это про функцию которая переводить строку в int - Atoi() - охуенная функция, а то блять ParseInt() пиздец какое длинное и запутанное имя.

Ответы>>896062

17 Дек, 19:51 #249 #896062

>>896057
ASCII to INT, что не так?
>>896041
Да похуй на шедулер и тормоза, можно сделать быстро и модно загрузить ядра.

Ответы>>896068

17 Дек, 19:57 #250 #896066

>>896044
Имеется ввиду что его готовят педики. Ты еще скажи что макак не играется на заднем дворе у себя.

17 Дек, 19:58 #251 #896067

>>896038
Вообще чат там нормальный был раньше, пока ебанутая Леночка не забанила 255-го. Я и сам съебал оттуда после его бана, пусть варятся в своих стартапах сами, дауны.

Ответы>>896074>>896090

17 Дек, 20:00 #252 #896068

>>896062
>Сокращение по первой букве в 2016 году
>Что не так?
Все отлично, продолжайте.

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

17 Дек, 20:05 #253 #896074

>>896067
стори?

Ответы>>896078

17 Дек, 20:13 #254 #896078

>>896074
У мясной дырки https://twitter.com/webdeva пригорело. Вот и вся стори. Да похуй на этих чертей.

Ответы>>896081

17 Дек, 20:22 #255 #896081

>>896078
её по-моему завезли, когда упрекнули что голанд-шоу как сосисочная вечеринка, а все норм подкасты пищалку имеют.
Но все равно от нее толку ноль, она там почти молчит всегда.
Правда помню подкаст, она проговорилась про отчет (она ляпнула типа "как было бы удобно если бы ты сделал так, было бы удобно отчет составлять").

У меня сразу же включился ZOG - отчет кому??? Некой доброй компании?

Ответы>>896085>>896086

17 Дек, 20:25 #256 #896085

>>896081
что касается чатика, так там иногда такую херню несут, и так слащаво себя ведут, что по ощущениям как минимум 95% участников там даже не программисты, а как бы просто играются в Го и либы (есть такие полудурки)

17 Дек, 20:26 #257 #896086

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

Ответы>>896091

17 Дек, 20:34 #258 #896090

>>896067
Да не был он нормальным ещё задолго до неё. Вспомните как там забанили илюшу за "говно" и устраивали охоту на ведьм (если кто найдёт на архиваче/в гугле стори будет) или как там дивана0 заставили расплакаться и убежать.

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

Ответы>>896098>>896099

17 Дек, 20:35 #259 #896091

>>896086
Там именно сказала в контексте отчета о темах подкаста. Это было сентябре или октябре (в край в августе).

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

17 Дек, 20:43 #260 #896098

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

17 Дек, 20:46 #261 #896099

>>896090
Ну хз, я там туда пришел за помощью по го, встретил 255-го, остался ради общения. Человек, который не только в го шарит, но и вообще, и в общем. А я как раз пилил одну вундервафлю, а у него как раз был интерес в такой вундервафле. Должно было срастись, но эта тупая пиздень взяла и дропнула его. Я не долго думая самодропнулся. Так что я не очень в курсе как там было пару лет назад. Но что меня взбесило с самого начала, тоже мод, щас не вспомню ник, с самого начала доебался мол хуль я не самосдеанонился на входе? Я охуел от такого и показал ему фейкоакк в вконтаче. И это, кстати, потом не только ко мне такие предъявы были. Я пытался возмущаться, это же интернет, ебана! Но там набегали из близких к моче и затыкали рот, мол здесь такой положняк. При том что там сидит Акулович, разраб вконтача, то есть сдеанонить например меня, не составит проблем. Короче, я оттуда съебал и на то были причины. Сидеть ли там вам - решайте сами.

Ответы>>896101

17 Дек, 20:50 #262 #896101

>>896099
Лол, это походу же Илья их так надрессировал?

Ответы>>896102

17 Дек, 20:51 #263 #896102

>>896101
Нет, его уже к тому времени тоже дропнули. Как и Ивана-дивана.

Ответы>>896109

17 Дек, 20:51 #264 #896103

>>896026
>отладчик нинужин
Но во всяких хаскилях/окамлах он и правда не нужен. Система типов поймает кучу ошибок, а те, которые не поймает, можно вручную найти через ручную редукцию функций. Вот автоматический редуцилятор бы не помешал, а отладчик нинужен.

17 Дек, 20:58 #265 #896109

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

Ответы>>896113

17 Дек, 21:02 #266 #896113

>>896109
А еще желательно не называться никнеймами и на аватарку фоточку свою ставить. Реально там не так все просто, вот выше параноик-кун тоже заметил. Но я не выкупаю в чем суть, а в ZOG не верю.

158 Кб, 580x931

17 Дек, 21:37 #267 #896144

Суть треда прямо отражается в пикче

Ответы>>896194

17 Дек, 22:45 #268 #896194

>>896144
Го от этого лучше не стал, просто фанатики съебнули, это же не чатик, тут наплакаться и забанить нельзя

17 Дек, 23:09 #269 #896221

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

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

Ответы>>896223>>896258

17 Дек, 23:10 #270 #896223

>>896221
а ведь его слушают дети, продажный он хуй)

18 Дек, 00:01 #271 #896258

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

Ответы>>896316

18 Дек, 01:48 #272 #896316

>>896258
Язык уже в стагнации, ему же около семи лет?
Большого бума на рынке вакансий не произошло, тру-стори по переходу с языка X на язык Go были настолько наивными и поверхностными, что вызывали только бурление говн и отвращения. Тем более специальные холиварные сравнения языков и того что го лучше их, вызывали больше ненависти, чем попытку черного пиара.

Сейчас статьи выходят намного реже по сравнению с 2015 годом (неожиданно так). Сам язык по дизайну не развивается, хотя я и знакомые ожидали, что его доведут до вменяемого состояния, с обратной совместимостью (раз заморозили релиз).
Да и вообще он выглядел как некий фундамент, а потом типа посыпят сахарком.
Но вероятно написать статью о "ненужно" проще, чем добавить что-то в код.

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

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

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

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

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

138 Кб, 951x637

18 Дек, 08:07 #273 #896393

А тем временем

18 Дек, 08:36 #274 #896396

Посоны, а вы ставите перед гошным сервером апач или нгинкс? Вот у меня есть сервис на го, он должен крутится в торе. Запускать от рута мне чет не хочется, впрочем как и ебаться с конфигами апача. Как сделать лучше?

Ответы>>896482>>896502>>896685

18 Дек, 13:37 #275 #896482

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

18 Дек, 14:14 #276 #896502

>>896396
что тут

18 Дек, 16:23 #277 #896570

Безопасно ли пользоваться таким кодом
> result, err := db.Query("SELECT anon FROM sosach where pinus_len=?", "10")
или лучше обмазываться мидлварями?

Ответы>>896572>>896592

170 Кб, 1266x339

18 Дек, 16:25 #278 #896572

>>896570
Алсо, я прогнал роуты sqlmap'ом, вроде безопасно. Но эти русские хакеры, они же везде(((

18 Дек, 16:45 #279 #896592

>>896570
Ебать дебил.
Добро пожаловать, это твой тред.

Ответы>>896603

18 Дек, 16:58 #280 #896603

>>896592
Спасибо, ну а по сабжу?

Ответы>>896606

18 Дек, 17:03 #281 #896606

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

Ты откуда такой способный? Впрочем вы там все такие.

Ответы>>896721

18 Дек, 19:04 #282 #896685

>>896396
Не нужен го серверу реверс-прокси сервер в большинстве случаев.

Ответы>>896716

18 Дек, 19:55 #283 #896716

>>896685
в каких нужен?

Ответы>>896736>>896739

18 Дек, 20:00 #284 #896721

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

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

Ответы>>896743>>896778

18 Дек, 20:33 #285 #896736

>>896716
Хз.

18 Дек, 20:39 #286 #896739

>>896716
не слушай тех анонов. nginx в реальных проектах чаще всего не просто проксирует, а разруливает ещё много чего. просто так ставить его конечно нахуй не нужно. это в принципе касается вообще всего - не делай чего-то, если ты не понимаешь зачем ты это делаешь. вот зачем ты на go пишешь?

Ответы>>896743

18 Дек, 20:45 #287 #896743

>>896721
А там женерики, ООП, функциональное программирование!

>>896739
Мозги промыли, зачем ещё. Вменяемый человек, кто что-то кроме пхп/жс трогал не будет на этом писать.

Ответы>>896767

18 Дек, 21:19 #288 #896767

>>896743
а ещё консоль как в питоне!

18 Дек, 22:04 #289 #896778

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

Ответы>>896781

18 Дек, 22:11 #290 #896781

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

Ответы>>896787>>896798

18 Дек, 22:24 #291 #896787

>>896781
>кому нам, лол?
Дегенератам вроде тебя, например

Ответы>>896794

18 Дек, 22:30 #292 #896794

>>896787
да иди ты нахуй, я тебя не знаю, лол

Ответы>>896804

18 Дек, 22:32 #293 #896798

>>896781
За то как много надавал нам го:

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

>ошибки это значения!
>на деле лень было реализовывать что-то удобное в рантайме и оставили как есть (то есть - ничего)

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

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

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

>быстрая компиляция, почти как в скриптовых языках.
>в мечтах (примечание, говорят было шустро в 1.0, в общем верните мне мой 2012...)

>код элегантен.
> 3 строчки вызова API и тут же 9 строк if err != nil

> interface{} проверить на nil? так никто не делает! НЕНУЖНО!
> правильно, пускай где-то завалиться в коде, когда ты выполнишь побочные действия над данными.

18 Дек, 22:32 #293 #896798

>>896781
За то как много надавал нам го:

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

>ошибки это значения!
>на деле лень было реализовывать что-то удобное в рантайме и оставили как есть (то есть - ничего)

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

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

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

>быстрая компиляция, почти как в скриптовых языках.
>в мечтах (примечание, говорят было шустро в 1.0, в общем верните мне мой 2012...)

>код элегантен.
> 3 строчки вызова API и тут же 9 строк if err != nil

> interface{} проверить на nil? так никто не делает! НЕНУЖНО!
> правильно, пускай где-то завалиться в коде, когда ты выполнишь побочные действия над данными.

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

18 Дек, 22:38 #294 #896803

>>896798
лол, хули ты ко мне приебался, я сам могу тебе ещё больше расписать о goвне, приправив фрустрациями с поля боя. просто на дарте докер не написали в своё время, а хули ты хотел? дарт не нужен, а гоу менеджеры друг другу продают забивая хуй на касту взаимозаменяемых гоферов

18 Дек, 22:39 #295 #896804

>>896794
Зато я тебе знаю.
Будь осторожен.

Ответы>>896805

18 Дек, 22:40 #296 #896805

>>896804
катись обратно в свой тред где тебе некому говном кормить

Ответы>>896806>>896824

18 Дек, 22:41 #297 #896806

>>896805
бля, таки опейчатался,
>атись обратно в свой тред где ТЕБЯ некому говном кормить

Ответы>>896824

141 Кб, 1600x1035

18 Дек, 22:57 #298 #896824

>>896805
>>896806

Ответы>>896834

18 Дек, 23:01 #299 #896834

>>896824
фройд отстань, я же не написал "некого"

Ответы>>896835

18 Дек, 23:02 #300 #896835

>>896834
Не оправдывайся.

Ответы>>896836

18 Дек, 23:03 #301 #896836

>>896835
перед фройдом не в западло, а ты мне не указ

Ответы>>896845

18 Дек, 23:12 #302 #896845

>>896836
Ха, дебил дебилом - а малаца.

Ответы>>896847

18 Дек, 23:15 #303 #896847

>>896845
хуй соси, губой тряси!

Ответы>>896851

18 Дек, 23:19 #304 #896851

>>896847
Хоть и школьник :3

Ответы>>896854

18 Дек, 23:22 #305 #896854

>>896851
я мамке твоей в рот срал когда ты школьником был, а она тебя целовала!

Ответы>>896856

18 Дек, 23:25 #306 #896856

>>896854
>!
Типичный школьник.

Ответы>>896859

18 Дек, 23:26 #307 #896859

>>896856
> :3
ты в треде для дебилов, дебил

Ответы>>896861

18 Дек, 23:29 #308 #896861

>>896859
Но ведь школьник - это хуже дебила.
Вот и ты, например.

Ответы>>896866

18 Дек, 23:32 #309 #896866

>>896861
но я готов умереть за твой манямир о школьниках, ведь это твоё право быть дебилом и детектить в мимокрокодилах школьников

18 Дек, 23:33 #310 #896867

классически го-тред, теперь я спокоен

Ответы>>896869

18 Дек, 23:37 #311 #896869

>>896867
Соси говно пидор

Ответы>>896870

18 Дек, 23:39 #312 #896870

>>896869
дурак штоле?

Ответы>>896871

18 Дек, 23:40 #313 #896871

>>896870
Да ты

Ответы>>896872

18 Дек, 23:41 #314 #896872

>>896871
нет, не я, а тот анон уоторому ты писал, я другой анон, не путай, с этого всё и начинается

Ответы>>896873

18 Дек, 23:42 #315 #896873

>>896872
Отстань

Ответы>>896874

18 Дек, 23:48 #316 #896874

>>896873
Ок

19 Дек, 17:21 #317 #897122

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

sage 19 Дек, 18:30 #318 #897152

>>895699
Да нет же, в main() сразу хуяришь в подгузник всю приложуху, и похуй на ошибки. Подумаешь, файлик открыл, а его нет - это ошибка разве? Прав на запись не хватило? ДАЛААААДНО, ПИЗДИШЬ ВЕДЬ, ПАЛЮБАС!!! Короче, я хуярю дальше, а ты там сам права ищи, пидор ебаный. Мне лучше знать, есть тут права или файлик, или нет.

Ответы>>897158>>897162

19 Дек, 18:38 #319 #897158

>>897152
> в main() сразу хуяришь в подгузник всю приложуху, и похуй на ошибки
капитулировал!

19 Дек, 18:46 #320 #897162

>>897152
Так и надо писать, это залог успеха.

20 Дек, 08:11 #321 #897377

https://blog.gopheracademy.com/advent-2016/exposing-go-on-the-internet/

Тут подробно расказывают как открывать Go сервисы наружу.

20 Дек, 10:43 #322 #897413

А почему никто не ноет что компилятор агрится на одинарную кавычку
>println('xyu')
Я считаю это адовым пиздецом и переусложненным ненужно. Потому что приходится постоянно тянуть мизинец к шифту, что не есть удобство.

Ответы>>897417>>897440>>897723

20 Дек, 11:00 #323 #897417

>>897413
Можно бэктики использовать. Но хуёво всё равно, да.

Ответы>>897461

20 Дек, 11:50 #324 #897440

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

20 Дек, 11:52 #325 #897441

>>895536
> Го не подходит для реального приложения
С дивана слезь хотя бы.

Ответы>>897444>>897460

20 Дек, 11:58 #326 #897444

>>897441
Илюша, please.

20 Дек, 12:45 #327 #897460

>>897441
Аргументируй, диванный.

20 Дек, 12:46 #328 #897461

>>897417
Я использую правый шифт, потому-что левый размером с литеральную клавишу. Бэктики дальше шифта, да еще и слева. Но это да, вопросы к клавиатуре. Но все равно, сделойте чтоб одинарная и двойная кавычка были равносильны.

20 Дек, 12:47 #329 #897462

А вот кстати да, может кто-то задумывался форкнуть и сделать свой конпилятор, с генериками и нормальными кавычками? И очень ли там все сложно устроено?

Ответы>>897464>>897469>>897528

20 Дек, 12:54 #330 #897464

>>897462
Выше вкидывали уже. Но это мёртворождённые языки. Проще взять ЯП, который точно будет развиваться и поддерживаться, чем брать вторичное да ещё и от вторичного языка.

Ответы>>897481

20 Дек, 13:04 #331 #897469

>>897462
В кавычках суть в том, что одни — символ, вторые — строка. Это же типа строгий статический язык у которого всё кастуется к и из интерфейсов, и юнит тесты в самом компиляторе из коробки — лол.

Ответы>>897513

20 Дек, 13:32 #332 #897481

>>897464
>Проще взять ЯП, который точно будет развиваться
>го
>за семь лет сделали с языком нихуя

Ответы>>897593

20 Дек, 14:26 #333 #897513

>>897469
>одни — символ, вторые — строка
В смысле char и char[]?

20 Дек, 14:59 #334 #897528

>>897462
>кто-то
Илюша

20 Дек, 16:56 #335 #897593

>>897481
Там из дальнейшего контекста понятно, что я как раз не Го имел в виду.

20 Дек, 19:52 #336 #897723

>>897413
Во всех нормальных языках так.
Двойные кавычки для строк, одинарные для отдельных символов.

Ответы>>897736

20 Дек, 20:19 #337 #897736

>>897723
define нормальных

Ответы>>897737

20 Дек, 20:23 #338 #897737

>>897736
ретроговно на котором привык писать анон, который рассуждает о "нормальности".

как сказал анон выше про интерфейсы, а ещё забыл упомянуть про то что строки в golang в utf8 и смысл отличия одинарной кавычки от двойной пропадает вообще. но лично меня эта особенность уже не так напрягала после паблик экспортов с имён только с Большой буквы. это пиздец, зачем!?

31 Кб, 1012x167

20 Дек, 20:28 #339 #897739

Ебать-копать, я щас орнул.
В гошном коде
> base_url = "https://localhost:5000/btc"
> resp, err := http.Get(base_url)
...
И, собственно, сам сервис, который написан на питоне. Дебаг в консольке на скрине. Если что, там третий питон.

Ответы>>897748>>897761>>897768

20 Дек, 20:38 #340 #897748

>>897739
zalGO!

Ответы>>897758

20 Дек, 20:45 #341 #897758

>>897748
Я бы сказал zaGLOt

sage 20 Дек, 20:47 #342 #897761

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

Ответы>>897763

20 Дек, 20:49 #343 #897763

>>897761
я другой анон, но разве http.Get имеет различное поведение в зависимости от протокол-части урла?

Ответы>>897772

20 Дек, 20:51 #344 #897766

>>882625 (OP)
ребята, кто нить пытался править исходники или переписывать их?

Ответы>>897767

20 Дек, 20:53 #345 #897767

>>897766
Хочешь что-то переписать, что ли?

20 Дек, 20:54 #346 #897768

>>897739
ты бы дал ссылочку, где и что накопал.

sage 20 Дек, 20:59 #347 #897772

>>897763
Не удивлюсь, если Пайк насыпал сахар внутрь, а снаружи сахар позапрещал, тот еще хмырь.

Ответы>>897776

47 Кб, 1067x600

20 Дек, 21:04 #348 #897776

>>897772
Да, где-то была отсылка к его словам, что многое уже готово в том или ином виде, но из-за обратной совместимости никто не знает как это запилить до версии 2.0, поэтому они просто не показывают этот функционал. Но если пересобрать компилятор go в gogcc с какими-то там флаги, то можно увидеть go-next и даже писать на нём.

Ответы>>897777

20 Дек, 21:06 #349 #897777

>>897776
Мам, Саша опять троллит!

Ответы>>897887

21 Дек, 00:04 #350 #897887

>>897777
Таки не шутка
>>897760

21 Дек, 12:03 #351 #898017

Котаны, как получить mode файла, тока шоб в integer? Ну или как конвертнуть такую
>-rw-rw-r--
хуиту в integer?

Ответы>>898266

21 Дек, 13:16 #352 #898045

Ребята, а зачем пакаджи завязаны на фолдерах? Я до сих пор не могу определиться, как правильно структурировать код, я привык обычно feature first подход, но это иногда приводит к конфликтам импортов и борода получается. Я так смотрю многие люди вообще не заморачиваются и хуячат в корень сотку файлов в мейн пак. Наверное оно и удобно, особенно учитывая что перемещаешься по проекту через поиск файлов в ИДЕ, но мне как-то непривычно без фолдеров, сабфолдеров, сабсабфолдеров.

Ответы>>898058

21 Дек, 14:39 #353 #898058

>>898045
Столкнулся с этим в первый день работы Го, был конечно удивлен, так как объясняли что зависимость определяется на уровне одного файла (а не стектрейса где-то в глубине, лол).

Как решение.
Надо просто поток исполнение (еще называет статичные контекст) отделить от библиотечного контекста (то что вызываемо, многоразовое).

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

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

Ответы>>898061

21 Дек, 14:47 #354 #898061

>>898058
Илюша, съеби.

Ответы>>898121

21 Дек, 15:07 #355 #898068

>>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!")
}}
Так штоли? Я бы тебе еблет разбил, если бы увидел что ты такое в продакшон толкаешь, говноед.

Ответы>>898070>>898442

21 Дек, 15:09 #356 #898070

>>898068
>switch err{
>case "Not paid":println("Goni bablo, ueba!")
>case "Unknown error": println("Che tvorish, pizdets!")

Все правильно сделал, так и надо.

Ответы>>898073

21 Дек, 15:10 #357 #898073

>>898070
Ну че ты начинаешь, нормально же общалися.

Ответы>>898075

21 Дек, 15:13 #358 #898075

>>898073
Ты просто не понимаешь сути Го и Гугла.

Ответы>>898076

21 Дек, 15:13 #359 #898076

>>898075
Ну так покажи как надо.

Ответы>>898081

21 Дек, 15:17 #360 #898081

>>898076
Ты все правильно написал, только добавь побольше кейсов.

21 Дек, 15:23 #361 #898084

Вот, короч, рабочий пример https://play.golang.org/p/8xkN-8rB_A
Так ловить ошибки - это просто пиздец. ПИЗДЕЦ, браты!

Ответы>>898087

21 Дек, 15:25 #362 #898087

>>898084
switch err.Error() {
case "Not paid":
fmt.Println("KUUUUUUUUUUUUPIIIIIIII")
case "Unknown error":
fmt.Println("HZ")
}
Все верно написано, как и задумано.

Ответы>>898090

21 Дек, 15:26 #363 #898090

>>898087
Хватит, перестань. Вернись к себе в пхп-тред.

Ответы>>898102

21 Дек, 15:35 #364 #898102

>>898090
>ААААА ВРЕЕЕЕТИИИИИИ!!!!!!!!
Руки греть можно.

Ответы>>898110

21 Дек, 15:44 #365 #898110

>>898102
Ебанашка, если следовать как ты говоришь, то код на примерно на 85% будет состоять из обработки возможных ошибок. Это не наш путь хотя бы потому, что что в каждую батарейку придется зарываться. Ты, для начала, попробуй case'нуть все ошибки из стандартной библиотеки, потом уже будешь толстить на сосачике, умник хуев.

Ответы>>898113>>898119

sage 21 Дек, 15:48 #366 #898113

>>898110
В смысле, у гопников принято ИГНОРИРОВАТЬ ошибки, потому что "этого не может быть"?

21 Дек, 15:51 #367 #898119

>>898110
>то код на примерно на 85% будет состоять из обработки возможных ошибок
Все верно, так и должно быть.

21 Дек, 15:55 #368 #898121

>>898061
что не так?
Если функция пакета А вызывает функцию пакета B, та вызывает функцию пакета С, в которой идет вызов чистой функции из A - это будет ошибкой.

Это (если в контексте с++ или джава) вы бы вызвали статическую функцию вышестоящего класса и вас бы за это отругал компилятор.

Ответы>>898123>>898236>>898294

21 Дек, 15:57 #369 #898123

>>898121
Да ты охуел, говнюк малолетний.

Ответы>>898236

21 Дек, 18:09 #370 #898236

>>898121
>>898123
>вы бы вызвали статическую функцию вышестоящего класса и вас бы за это отругал компилятор.
поправка - вышестоящий класс (пакет) но вызов метода даже другого класса/объекта

Это стоит записать в еще одни вины дизайна ГО.

Ответы>>898239

21 Дек, 18:13 #371 #898239

>>898236
Илюша, угомонись.
Ты никому не нужен.

21 Дек, 18:23 #372 #898248

Как выглядит функция здорового человека
...
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
}
...

И тут же мне они говорят, что го-код читается легко!

21 Дек, 18:23 #372 #898248

Как выглядит функция здорового человека
...
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
}
...

И тут же мне они говорят, что го-код читается легко!

Показать весь текст
Ответы>>898264>>898442

21 Дек, 18:35 #373 #898264

>>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
>}

Охуенно.

21 Дек, 18:39 #374 #898266

>>898017
http://ideone.com/FClfvD

Ответы>>898283

21 Дек, 18:53 #375 #898283

>>898266
спасибо, порыгал

21 Дек, 19:30 #376 #898294

>>898121
> Если функция пакета А вызывает функцию пакета B, та вызывает функцию пакета С, в которой идет вызов чистой функции из A - это будет ошибкой.
Естественно, ошибкой говнокодера.

Ответы>>898307

78 Кб, 1451x210

сводки из закрытой секты 21 Дек, 19:38 #377 #898301

Кажется гоферы начали что-то подозревать.

21 Дек, 19:44 #378 #898307

>>898294
В каком месте?
Я придумал для это термин - пакетная рекурсия говна
Ведь компилятор го - не может исключить пакет которые уже загружен в цепочке пакетов, даже у php макак есть include_once.

Ответы>>898321>>898693

179 Кб, 1515x374

сводки из закрытой секты 21 Дек, 19:55 #379 #898318

когда ты взял новый го, но все равно мыслишь как php-макака

Ответы>>898436

21 Дек, 19:55 #380 #898321

>>898307
Я тебе больше скажу: даже сишникам завезли #pragma once и простые межмодульные экспорты.

21 Дек, 19:56 #381 #898322

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

21 Дек, 22:29 #382 #898436

>>898318
Я тут поясню, а то мало ли тут какие специалисты.
Нет бы добавить один if с проверкой на существование файла (и последующей передаче управлению FileServer или взамен ответу 403) - гофер, берет и натягивает целый сервер к своему серверу!

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

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

Ответы>>898514

21 Дек, 22:32 #383 #898442

>>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
}

Ответы>>898509

22 Дек, 01:33 #384 #898509

>>898442
>Ты уж определись, хочешь ли ты ловить ошибки или нет.
Они и ловятся (уровнем выше, в общем это unchecked исключения, скажем в kotlin, java, в шарпах, плюсах... во всех других языках), просто в нормальном мире программирования - обработка ошибок не является частью контекста исполнения и обрабатывается отдельно (скажем в catch блоках и не обязательно в том же месте). И причина проста, наличие ошибки уже говорит об "другом" поведении для текущего модуля и в большинстве случаев работу модуля нужно прервать (и скорее всего решается это где-то уровнем выше в логике программы).

Да и в том примере проще в catch прописать какой-то общий IOException один раз, чем три раза дергать if != nill

То есть, ошибок либо нет (и это нормальное поведение), либо они есть и это исключительная ситуация, которая обрабатывается отдельно (и именно поэтому, вместо розового пони мира ошбики это значения мы видим реальное if != nil).

Ответы>>898510

22 Дек, 01:43 #385 #898510

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

Вообще если по честноку, вам вообще никакое API для ошибок не завезли и отъебались только статьей (и евангелистами)

Ответы>>898515

22 Дек, 02:15 #386 #898514

>>898436
чёт проиграл. я так то вообще node-js разраб, который вообще вкатился из web фронтенда, но как-то да, go за гранью добра и зла

22 Дек, 02:20 #387 #898515

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

Ответы>>898516>>898520>>898638

22 Дек, 02:22 #388 #898516

>>898515
хороший тому пример к тому же проверенный временем - это erlang

Ответы>>898522

22 Дек, 02:32 #389 #898520

>>898515
> стек вываливать наружу нужно только в пиздец каких ситуациях

ПИШЕШЬ ЙОБА-ФУНКЦИЮ
@
ЙОБА-ФУНКЦИИ ВЫЗЫВАЕТСЯ ТЫСЯЧУ РАЗ В РАЗНЫХ МЕСТАХ ПРОГРАММЫ
@
ПРИЛОЖЕНИЕ РАБОТАЕТ И ВДРУГ ПАДАЕТ.
@
МЫ ВИДИМ ОШИБКУ ЙОБА-ФУНКЦИИ, ОНА СКАЗАЛА ЧТО ДЕЛИТЬ НА НОЛЬ НЕ ХОРОШО
@
ТЫ ПРИХОДИШЬ В НЕОПИСУЕМЫЙ ВОСТОРГ ОТ ДЕТАЛЬНОСТИ ОШИБКИ, ТАК КАК В ДУШЕ НЕ ЕБЕШЬ ГДЕ ИМЕННО ИЗ 1000 ВЫЗОВОВ ЭТО ПРОИЗОШЛО - ВЕДЬ ДАУН С ДВАЧА СКАЗАЛ ЧТО СТЕКТРЕЙС НЕНУЖЕН.

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

Ответы>>898528

22 Дек, 02:48 #390 #898522

>>898516
>хороший тому пример к тому же проверенный временем - это erlang
В твоем мире бегают розовые пони?

Ответы>>898528

22 Дек, 04:04 #391 #898528

>>898522
нет, там просто есть 6 вариантов ошибки, мб я где-то путаю, но всё однозначно в отличие от ErrorHuinyaProviderDoSomethingButIamIdiot

>>898520
попробуй тоньше. одно дело дебаг в деве, другое дело эксепшены в продакшене, мань

Ответы>>898628>>898638

sage 22 Дек, 11:02 #392 #898628

>>898528
На тебе хуету:
Ты у мамки молодец
@
Написал кучу проверок
@
Код работал 3 суток
@
На четвертые криво настроенный периодик удалил файл ровно сразу после твоей проверки его существования
@
А ты уже его открываешь
@
Это же не ошибка, мам, должно открываться!!! Скажи им

Просто иди нахуй, дебил, не всегда есть возможность избежать гонки с внешними для твоего кода подсистемами. Эти гонки надо уметь предусмотреть и обработать. Но у тебя же боязнь трейса, трейс очень медленно работает раз в 5 лет, но даже тут НЕДОПУСТИМО. Ты действительно фанатик, как Пайк прям, ведь ВСТАВКА В МАССИВ - ЭТО УЖАС УЖАС ДОРОГО НЕ ДЕЛАЙ ТАК.

Ответы>>898648>>899018

22 Дек, 11:23 #393 #898638

>>898528
А в чем он не прав-то? Или у тебя есть другие способы узнать где что упало без стектрейса от эксепшена?
>>898515
Пиздец долбоёб. Тормозов там столько же, как и от го-стиля, пока это исключение не произойдёт (причём если оно типизированное — и там тормозов не будет).
Про ветвления извне вообще кекич. Интересно где же суслики набирают таких довнов.

Ответы>>898648

22 Дек, 11:40 #394 #898648

>>898628
>>898638
Все это ненужно и похуй.

Ответы>>898661>>898767

22 Дек, 12:06 #395 #898661

>>898648
>Все это ненужно и похуй.
Go-way as is!

Ответы>>898665

22 Дек, 12:12 #396 #898665

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

Ответы>>898767

22 Дек, 12:47 #397 #898690

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

22 Дек, 12:50 #398 #898693

>>898307
> Я придумал для это термин - пакетная рекурсия говна
В пайтоне есть такая же пакетная рекурсия. Говорю же - это проблемы хуёвых кодеров, не умеющих правильно по пакетам функционал раскидать, не оправдывай свой хуёвый скилл проблемами языка.

Ответы>>898748>>898783

22 Дек, 13:20 #399 #898741

>>882625 (OP)
Зачем нужен го, если есть хаскел? Software transactional memory есть, дохуллиард зеленых тредов наплодить можно, есть и исключения, и в Maybe/Either завернуть можно. Хватит выебываться, вкатывайтесь уже.

sage 22 Дек, 13:23 #400 #898748

>>898693
В питоне можно импорт в тело функции упихать в крайнем случае

22 Дек, 13:48 #401 #898767

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

Именно поэтому все сообщество напоминает невменяемых фанатиков, там вот таким странным отбором сконцентрировались "лучшие умы человечества".

Ответы>>899012

22 Дек, 14:24 #402 #898783

>>898693
а кто сказал что пайтон не кусок переоцененного говна?

22 Дек, 20:35 #403 #899012

>>898767
> Именно поэтому все сообщество напоминает невменяемых фанатиков
Имплаинг, что большинство джаво-, питоно- %langname%- даунов не такие же фанатики. Яркий пример срущие в го тредах хейтеры, которые сбежали из своих протухших хаскелезагонов.

Ответы>>899017

22 Дек, 20:39 #404 #899017

>>899012
просто у хаскеля почти нет хейтеров, потому что им мало пользуются.
А го развивается

Ответы>>899020

22 Дек, 20:43 #405 #899018

>>898628
в го не обязательно проверять файл на существование, если какая-то операция не может выполниться, она вернет ошибку, вот и всё

Ответы>>899056

22 Дек, 20:43 #406 #899020

>>899017
В чем и суть. Сколько бы эти евангелисты каноничного ООП и мимовкатывальщики не срали кирпичами, Go как простой язык общего назначения уже взлетел.

Ответы>>899060

22 Дек, 21:42 #407 #899056

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

Что пугающего в
if ( ! fileExist()) {
// создаем файл
}

Ответы>>899076

22 Дек, 21:45 #408 #899060

>>899020
только в мире розового пони, хотя теперь из перечня вакансий, аля:
php, js, brainfuck, haskel, sql
и правда иногда встречается go, но это скорее какой-то хипстер им там наговнокодил на нем (а менегеры поздно поняли откуда вонь).

Столько там языку лет? Все взлетает?

Ответы>>899074

22 Дек, 21:53 #409 #899074

>>899060
лол, свинособака не понимает что какой-нибудь пыхарь или пистонист может взять и переписать на goвне узкое место в своём проекте и довольны все и заказчик приобщился к модным технологиям и манагер всем теперь продаёт "мегакодера" и кодер на линкедине ещё один скилз добавил. на фоне всего этого 47 хроммосомного пати, бегающие вокруг с порваным пердаком джависты и подобные им - единственное что доставляет

Ответы>>899088

22 Дек, 21:55 #410 #899076

>>899056
так можно и в го
Можно делать проверку отдельно, можно не делать.

И парсить ошибку как текст не надо, в го у ошибок тоже могут быть типы

Вот пример

file, err = os.Create(filename)
if e, ok := err.(*os.PathError); ok {
.//error
}

22 Дек, 22:16 #411 #899088

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

Другой момент, что пыхари и питонщики на хую вертели недоразвитый го после своих божественных динамических языков с готовыми фреймворками.
Ты чем там порадовать скрипщиков решил? Что для парсинга json иногда можно упороться в 50 строк кода? Ты серьезно? Иди катайся на розовом пони.

Ответы>>899112

22 Дек, 22:52 #412 #899112

>>899088
иди нахуй, дабл, лол

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

>узкое местное переписывают на си
проиграл
ты видел как пыхари код пишут? у них всегда открыта вкладка с докой по стандартной либе, лол. какой нахуй си?

Ответы>>899177

22 Дек, 23:43 #413 #899177

>>899112
иди туши пукан в другом месте, а то у него на пхп ели пишут, на сях не могут, а блять на тормознутом языке с ГЦ - запросто, сказочник

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

Ответы>>899214>>899215

23 Дек, 00:35 #414 #899214

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

Ответы>>899274

23 Дек, 00:39 #415 #899215

>>899177
ты долбаёб, напиши асинхронный производительный сервер на си. а если написал, то какого хуя ты делаешь в пыхе/пистоне? если ты можешь написать на си, то можешь и на пыхе/пистоне ибо не особо сложно, но геморно и сами языки не сроектированны для этого. goвно с деревянным синтаксисом - как раз уровень этих давнов + даёт плюшки недоступные им.

Ответы>>899291>>899293

23 Дек, 02:05 #416 #899274

>>899214
>перечитай мои посты
>в анонимной борде

Сука, где вас таких тупых производят?
Это не десант с закрытого го-чата?

23 Дек, 02:37 #417 #899291

>>899215
>асинхронный производительный сервер
>пистон
>сами языки не сроектированны для этого
Телл ми моар

23 Дек, 02:39 #418 #899293

>>899215
>напиши асинхронный производительный сервер на си
сделал, но не понял нахуя мне асинхроность кроме i/o операций.

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

>goвно с деревянным синтаксисом
> как раз уровень этих давнов
Надо быть долбаебом или мазахистом чтобы с нуля писать веб на этом.
Для малых и средних проектов, ничего удобней и приятней скрипок нет, для мега-сложных проектов с кучей абстракций - была и будут jvm языки, в край шарп, или может свифт пульнет.

Го не влез не туда и не сюда. Писать скриптные проекты на нём - уродливо и очень муторно (так как отсутствие сахара это тонна того же бойлерплейта).
Производительность - я посмотрю как твой язык будет жрать проц, без поколений в ГЦ (каждый раз пережевывая гигабайты одного и того же). Просядит как скриптовые языки.
Асинхронность - лол, ну завезли уже асинхронные i/o и БД, а твое говное как дергало планировщик каждый вызов функции, так и будет.
Компиляция - нет не дженериков, даже interface на nil хер проверишь, большая часть ошибок будет рантайме - и нахер нам тогда компиляция.

23 Дек, 02:45 #419 #899294

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

Ответы>>899301

23 Дек, 03:01 #420 #899301

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

Ответы>>899322

23 Дек, 04:57 #421 #899322

>>899301
>байт от гугла
у гуглапараши все продукты говно, но что ты хотел от рекламной конторы?

Ответы>>899323>>899371

23 Дек, 06:07 #422 #899323

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

Ответы>>899329>>899419

23 Дек, 06:31 #423 #899329

>>899323
джва на гуглплэй и три на соурсфордже

23 Дек, 11:10 #424 #899371

>>899322
> у гуглапараши все продукты говно
> миллиарды пользователей по всему миру
Ну-ну, запилишь годноту - приходи.

Ответы>>899384

23 Дек, 11:59 #425 #899384

>>899371
Единственный их хороший продукт — поиск. Остальное выезжает на его горбу за счёт агрессивного маркетинга.

Ответы>>899392>>899418>>899428>>899456>>899468>>900568

23 Дек, 12:11 #426 #899392

>>899384
Внезапно удваиваю. Больше всего проигрываю с гугл групп - на моем core i7 этот высер загружает простой текст по 5 секунд. Просто стыдоба.

Ответы>>899418

23 Дек, 12:52 #427 #899418

>>899384
>>899392
Учетверяю, а еще этот дизайн 90х, якобы минимализм, а в действительности уродство школьника-дизайнера на белом фоне.
Они сначала и гугл+ таким сделали, но сейчас до ума немного довели, поняв что их виденье вкуса мир вертел (хотя, опять же, на гугл+ всем все равно срать).

23 Дек, 12:54 #428 #899419

>>899323
>сначала добейся сам

Ты наверно из одноклассников к нам сюда пришел?

23 Дек, 13:13 #429 #899428

>>899384
>Единственный их хороший продукт — поиск.
сейчас это лютейшее говно вываливающее кучу нерелевантного проплаченого контента

23 Дек, 14:19 #430 #899456

>>899384
Добавь еще google analytics

23 Дек, 14:43 #431 #899468

>>899384
Android ещё.

Ответы>>899476

23 Дек, 14:51 #432 #899476

>>899468
>Android
ох кек, поверх линупса накатали йобаджаву забыв продумать архитектуру.

23 Дек, 21:55 #433 #899715

go

Ответы>>899719

23 Дек, 21:57 #434 #899719

>>899715
>fix
Вы разрушаете хрупкий мир гофера! Остановитесь!

Ответы>>899785

23 Дек, 23:59 #435 #899785

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

Ответы>>899786

24 Дек, 00:06 #436 #899786

>>899785
>пишет в гаф тред
>упоминает в одном предложении Гц и стек
>ожидает адекватной реакции
хорошая попытка

Ответы>>899788

24 Дек, 00:10 #437 #899788

>>899786
Что такое вась, тебе ещё разок скинуть ссылку на ишью на гитхабе говна? Или послать почитать как гц работают?

Ответы>>899790>>899801

24 Дек, 00:12 #438 #899790

>>899788
хуй себе за щёку закинь лучше

Ответы>>899792

24 Дек, 00:13 #439 #899792

>>899790
Типичный гафер сгарел.

24 Дек, 00:26 #440 #899801

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

Ответы>>899802

24 Дек, 00:33 #441 #899802

>>899801
Ебать ты гоун.

Ответы>>899872

24 Дек, 00:45 #442 #899812

Со скриптами то понятно, удобно. Но если хочется навернуть компиляцию и статику, неужели жрать джаву?

Ответы>>899828

24 Дек, 01:07 #443 #899828

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

Ответы>>899841

24 Дек, 01:12 #444 #899832

ГГГГГГГГГГГГГГУУУУУУУУУУАААААААУУУУ

24 Дек, 01:34 #445 #899841

>>899828
так ты тут поплакал но не ответил.
Надеюсь ты сейчас не про perl делфи и всякие шарпы начнешь лечить?

Ответы>>899843

24 Дек, 01:37 #446 #899843

>>899841
Что тебе ответить-то довен? В 2к17 даже в лиспе запилили возможность писать с полноценной статикой, чо тебе надо-то мразиш?

Ответы>>899936>>899950

МАРКЕТИНГ 24 Дек, 01:39 #447 #899845

О том как надо пиариться на сектантах, даже если статья не о языке
https://habrahabr.ru/company/scorocode/blog/317450/#comment_9979114

24 Дек, 02:12 #448 #899872

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

24 Дек, 09:40 #449 #899936

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

Ты блин еще бы мне кобол сюда принес, лисподолбоёб

Ответы>>899941

24 Дек, 09:51 #450 #899941

>>899936
>нормальный
на перл, давай расскажи, что это не модно и не молодежно.

24 Дек, 10:55 #451 #899950

>>899843
> даже в лиспе запилили возможность
покажи примеры готовые, будь братишкой

24 Дек, 13:13 #452 #899997

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

Ответы>>900054>>900066>>900213

24 Дек, 15:16 #453 #900054

>>899997
если джава и го:

-у го нет поколений в ГЦ - чем больше хип, тем тормознутие.
-но есть стек и value type - что немного поможет (нет конечно).
-джава оптимизирует код лучше, за счет jvm может оптимизировать даже моменты которые сишный O3 не может
-за счет jvm есть спекулятивная оптимизация.
-для джавы пилят бинарник graal вроде 9.0 будет (так что и стартовать будет быстро, хотя мы все сервера пишем же, нам срать).
-jvm не могут создавать новые версии которые будут тормознутие старых. На го похер (помним просадки в 1.6 и 1.8 за счет оптимизации ГЦ, платой проца).

Ответы>>900058>>900066>>900252>>900471

24 Дек, 15:23 #454 #900058

>>900054
Так как ГЦ это узкое место производительности, продолжем:

-есть выбор разных ГЦ у джавы
хочет раз в 5 минут собирайся потратив 100мс (что срать для веба), хочешь каждый 10мс, но заплатив просадкой 20% проца за реалтайм, лол.

-есть возможность тюнить ГЦ и реально выжить в сложных местах что-то. В го? В го маскот думает за тебя что тебе лучше

Ответы>>900066

24 Дек, 15:35 #455 #900066

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

>>899997
Вот какой-то тест
https://benchmarksgame.alioth.debian.org/u64q/compare.php?lang=go&lang2=java

Ответы>>900135>>900213

24 Дек, 17:45 #456 #900129

Есть ли какая-нибудь хуйня автоматическая система сборки, которая фиксит ошибки всякую хуйню типа анюзд импорта/переменных?

Ответы>>900251

24 Дек, 18:02 #457 #900135

>>900066
хейчу говно где хочу

Ответы>>900189

24 Дек, 19:26 #458 #900189

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

Ответы>>900229

24 Дек, 20:01 #459 #900213

>>900066
>рассуждения на тему "я хейчу го, поэтому вот причины, по которым джава, наверное, будет лучше"
Это называется "правда глаз режет". Если бы было что ответить — парировал бы.
>Вот какой-то тест
Ты поехавший? При чем тут бенчмарк?
>>899997
А нахуя тебе это в самом языке/его тулките? Это функционал любой системы из коробки. (h)top на никсах и диспечер на шинде.

Если нужно прямо измерять сколько тактов и кб уходит в каждой функции — есть из коробки гуглевский pprof.

24 Дек, 20:43 #460 #900229

>>900189
ты у них спрашивал чтоли? дебил))

Ответы>>900231

24 Дек, 20:57 #461 #900231

>>900229
Нет. Я их воспитывал - прописывал пиздюлИн.
Они на удивление быстро усвоили правила приличия - за какой-нибудь год. В отличии от тебя - ты и после 20 лет нихуя не понял.
Так что они как минимум в 20 раз умнее тебя.

24 Дек, 21:53 #462 #900251

>>900129
Нет, но обычно редактор такое умеет.

24 Дек, 21:58 #463 #900252

>>900054
Ты долбоеб, у нас таких в АТО отправляют. Расскажи мне, даун, как ты замеры делаешь? Го - бинарь, жвм - виртуалка и говно в байткоде. Даже так считай, считать с диска джва метра гошного бинаря и 80 метров всяких говноскриптов на баше в перемешку с сишными бинарями, всю эту мешанину ты и называешь ЖВМ. Еще раз, ты отвечаешь как полный даун, который не может в контекст, во-вторых, пошел на хуй, жавадаун.

Ответы>>900266

24 Дек, 22:34 #464 #900266

>>900252
Ты новичок?
Замеры кода делают так: опрашивают аппаратный счетчик процессора, запускают код, еще раз опрашивают счетчик. Дельта счетчика и есть время исполнения.
Как видишь никакой зависимости от размера кода на диске нет - только время исполнения.
Для явы еще прогрев кода устраивают - вызывают код тысяч 100 раз перед замером, чтобы все оптимизации прошли.

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

Ответы>>900283

24 Дек, 23:14 #465 #900283

>>900266
Лолд. Ты рсскажи юзеру что твоя параша не тормозить, а если тормозит, то надо 100к раз запустить что сработали все оптимизации. И пусть еще гигов 60 памяти докупит, а то чет медленно прогревается. Какой же ты тупой, пиздец.

Ответы>>900305>>900310

25 Дек, 00:17 #466 #900305

>>900283
Очередной нытик?
Ты не знал как замерять - тебе любезно рассказали.
Чего тебе еще надо, собака?

25 Дек, 00:34 #467 #900310

>>900283
это долбаеб пытается задеть чувства самого быстрого ГЦ и лучшего jit компилятора?

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

Ответы>>900314

25 Дек, 00:41 #468 #900314

>>900310
эти бараны в выдачу хеш-мапы поставили рандомайзер, чтобы не казалось что мапа сортированная - пиздец

Ответы>>900328

25 Дек, 01:05 #469 #900328

>>900314
тебя ебать не должно
иди нахуй

Ответы>>900345

25 Дек, 01:35 #470 #900345

>>900328
Порванный фанбой это скучно, ты лучше расскажи,
каково ощущать, что тебя считают таким дебилом, что добавили рандомайзер?

а вообще го весьма удачный эксперимент, мы теперь игнорируем людей у которых есть приписка Го в резюме

Ответы>>900351>>900491

161 Кб, 800x1067

25 Дек, 02:00 #471 #900351

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

Недаром они такие неадекватные.

Ответы>>900491

25 Дек, 12:01 #472 #900471

>>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/

мимо джавист

Ответы>>900519>>900533

25 Дек, 13:04 #473 #900491

>>900345
>>900351
сосите хуй завистники

Ответы>>900524

25 Дек, 14:24 #474 #900519

>>900471
>мимо джавист
мимо долбаеб ты.

>виртуальных методов
jvm и это оптимизирует и даже половину методов инлайнит или выбрасывает нахуй (если это геттеры и сеттеры)

>стирания джинериков
что за ересь?? в байткоде нет денериков, долбаеб

>В итоге + на - дает ~0
нехуя ты фантазер, то что ты маня не вкурсе как там под капотом и что боксинг дает тебе на ноль всю оптимизации SIMD (и прочие радости, которые даже -O3 не может) это лишь хороший показать что ты гофер

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

Мой диагноз твоих пониманий и знаний в ИТ - уровень гофер

Ответы>>900523

25 Дек, 14:41 #475 #900523

>>900519
>jvm и это оптимизирует
Во первых не всегда, а только когда есть одна известная имлементация.
Девиртуализация есть и в том C# + там по умолчанию методы не виртуальные
>и даже половину методов инлайнит или выбрасывает нахуй (если это геттеры и сеттеры)
и в этом нет ничего уникального, другие компиляторы (C#/GO/C++) делаю тоже самое

>что за ересь?? в байткоде нет денериков
Дубик, я и имел в виду type erasure в дженериках ( https://docs.oracle.com/javase/tutorial/java/generics/genMethods.html )

>мне jit важнее
да похуй мне что тебе важнее, просто выше кто-то вскукарекнул про AOT в java

мимо джавист

Ответы>>900534

25 Дек, 14:43 #476 #900524

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

У меня кстати знакомый питонщик ушел с работы, когда их стали "насильно-добровольно" переводить на эту парашу. Я бы сделал так же, какая зависть тут? Люди бояться языка для даунов, ты только на маскот посмотри. Го - язык для ^бедных^ глупых

Ответы>>900578

25 Дек, 14:59 #477 #900533

>>900471
> мимо джавист

Так бы и сказал, что говноед.

25 Дек, 15:00 #478 #900534

>>900523
>Во первых не всегда, а только когда есть одна известная имлементация.
В чем проблема? Хотспот не глуп и в отличие от -O3 не покрашит код в говно (а в случае чего и откатить может)

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

Шарп говно которое уже никому не нужно, да там плюх больше, но это в большом бизнесе не решает (и кстати шарп тормознутие джавы, лол).

>https://docs.oracle.com/javase/tutorial/java/generics/genMethods.html
ты просто сказочный долбаеб, ты походу не знал как устроены дженерики, что это обертка-каст вокруг Object?

>мимо джавист
уровня Го, лол

Ответы>>900576

25 Дек, 15:42 #479 #900563

Мочератор! Этот джава-даун уже всех заебал!

Ответы>>900707

25 Дек, 15:56 #480 #900568

>>899384
Gmail/Inbox хороший почтовый клиент. Скорее всего даже лучший в принципе.

Calendar очень хороший органайзер, альтернатив считай нет.

Maps/Earth очень качественный софт. Жаль прекратили поддерживать бесплатный Earth. Ну это, что говорится, fair enough, потому что бесплатный Earth мало кому стал нужен после того, как Maps стали такими удобными в браузере (где-то после 2008 года).

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

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

знаю что покормил

Ответы>>900804

25 Дек, 16:10 #481 #900576

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

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

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

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

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

Ответы>>900579>>900720

25 Дек, 16:12 #482 #900578

>>900524
>Ты такой упоротый дебил, что реально думаешь что вам всем завидуют?
да

25 Дек, 16:14 #483 #900579

>>900576
Как можно нести настолько складную ахинею и не краснеть? Расскажи свой секрет. Скажи честно, сам искренне веришь в свой бред?

Ответы>>900581>>900621

25 Дек, 16:15 #484 #900581

>>900579
Гофер, иди нахуй.

25 Дек, 16:25 #485 #900598

Собрались как-то 2 питониста, 3 джависта, 2 пхписта и 1 эрлангист в го-треде

Ответы>>900601

25 Дек, 16:26 #486 #900601

>>900598
А Илюша им и говорит азаза мамок ебал

25 Дек, 16:42 #487 #900621

>>900579
Ну если для тебя такие вещи невероятны, то... зачем тогда ты нужен?

Ответы>>900721

25 Дек, 18:20 #488 #900692

Сапоги горный, какую литературу посоветуете нюфагу?

Ответы>>900693>>900697>>900698

25 Дек, 18:20 #489 #900693

>>900692
>горный
Гоферы*, лол

25 Дек, 18:24 #490 #900697

>>900692
GOF, очевидно.

25 Дек, 18:25 #491 #900698

>>900692
она нинужна.
серьёзно, тура на сайте го хватит с головой.

25 Дек, 18:36 #492 #900707

>>900563
Няш, у нас свободное общение, если он дискутирует по существу, то он в своем праве.

Ответы>>900751

133 Кб, 1440x810

25 Дек, 18:58 #493 #900720

>>900576
>код вообще не будет падать
Программы на Java спокойно падают с сегфолтами:
- Реальные баги в виртуальной машине (те уровней отказа у тебя теперь 2: твоя программа + JVM)
- Ошибки в C++ вставках (JNI)
- Ошибки при использование Unsafe (или коде библиотек использующих его).

Ответы>>900784

25 Дек, 18:59 #494 #900721

>>900621
Ну вот смотри. Ломается у тебя физическая память, и уносит страницу, в которой был код твоей виртуальной машины - восстанавливайся. Или уносит половину байткода. Или уносит данные, над которыми байткод производит действия. В последних двух, максимум, что ты можешь - мирно убить приложение. А вот если глюканёт один бит и поменяет, например, dec на inc, то к тому моменту, как ты это просто заметишь, половину рабочих за твоим станком уже намотает на вал.
мимо

Ответы>>900834

25 Дек, 19:35 #495 #900751

>>900707
Рот закрой, гнида.

25 Дек, 20:24 #496 #900784

>>900720
>Программы на Java спокойно падают с сегфолтами
И?
У виртуалок есть возможность управления кодом на лету, у самого кода такой возможности нет. В этом и разница.
Виртуалка - это "внешняя" сущность для кода, но сущность, которую удобно менять. Фактически код для исполнения кода.

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

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

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

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

Т.е. у виртуалки вполне конкретная задача: служить интерфейсом (прослойкой) между кодом и железом, беря на себя все заботы об этом интерфейсе: поставляя корректное (виртуальное) "железо" для кода (программы), и поставляя корректный (правленный) "код" для (физического) железа.

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

25 Дек, 20:24 #496 #900784

>>900720
>Программы на Java спокойно падают с сегфолтами
И?
У виртуалок есть возможность управления кодом на лету, у самого кода такой возможности нет. В этом и разница.
Виртуалка - это "внешняя" сущность для кода, но сущность, которую удобно менять. Фактически код для исполнения кода.

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

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

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

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

Т.е. у виртуалки вполне конкретная задача: служить интерфейсом (прослойкой) между кодом и железом, беря на себя все заботы об этом интерфейсе: поставляя корректное (виртуальное) "железо" для кода (программы), и поставляя корректный (правленный) "код" для (физического) железа.

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

Показать весь текст
Ответы>>900795>>900860

25 Дек, 20:30 #497 #900790

ПЕРЕКОТ https://2ch.hk/pr/res/900789.html (М)

Ответы>>900792>>900795

25 Дек, 20:31 #498 #900792

>>900790
ПЕРЕКОТ https://2ch.hk/pr/res/900789.html (М)

Ответы>>900793>>900795

25 Дек, 20:31 #499 #900793

>>900792
ПЕРЕКОТ https://2ch.hk/pr/res/900789.html (М)

Ответы>>900795

25 Дек, 20:32 #500 #900795

>>900793
>>900784
>>900790
>>900792
>>900793
ПЕРЕКОТ https://2ch.hk/pr/res/900789.html (М)

25 Дек, 20:39 #501 #900804

>>900568
А еще эти пидеры выпилили отличнейший рсс клиент.

PEREKOT Perekoter !JLHGEtxGTk 25 Дек, 20:44 #502 #900816

ПЕРЕКОТ в тред >>900814 (OP)

25 Дек, 20:52 #503 #900834

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

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

>то к тому моменту, как ты это просто заметишь
Предполагается сканирование памяти раз в n секунд? Банально.
Нет, и это тоже необходимо, но в данном случае это просто как периодическая проверка индексов ФС - все ли верно, ничего ли не потеряли?
Не обязательная, но желательная процедура.
ИРЛ, для случая одного массива памяти, абстрагировании более жесткое - виртуалка не имеет доступа к физической памяти, она видит корректную виртуальную память, которую ей подсовывает слой абстракций памяти.
А вот тот слой абстракций уже работает с физической памятью - записывает данные с избыточностью, проверяет корректность при считывании, восстанавливает данные при ошибке, генерируя новую копию избыточных данных, отправляя сбойную ячейку на обслуживание, генерит для сбойных ячеек специальный код доступа, т.к. сбойные ячейки не полные, и напрямую их читать нельзя.
Ведет фоновое сканирование всего массива памяти, обновляет и перетасовывает информацию (тренирует накопители), отжигает блоки памяти с вышедшим ресурсом, следит за целостностью и количеством своих обработчиков - кусков кода, рассеяных по памяти, часть из которых работает параллельно, и гарантирует защиту от сбоев самого этого слоя абстракций.

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

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

25 Дек, 20:52 #503 #900834

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

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

>то к тому моменту, как ты это просто заметишь
Предполагается сканирование памяти раз в n секунд? Банально.
Нет, и это тоже необходимо, но в данном случае это просто как периодическая проверка индексов ФС - все ли верно, ничего ли не потеряли?
Не обязательная, но желательная процедура.
ИРЛ, для случая одного массива памяти, абстрагировании более жесткое - виртуалка не имеет доступа к физической памяти, она видит корректную виртуальную память, которую ей подсовывает слой абстракций памяти.
А вот тот слой абстракций уже работает с физической памятью - записывает данные с избыточностью, проверяет корректность при считывании, восстанавливает данные при ошибке, генерируя новую копию избыточных данных, отправляя сбойную ячейку на обслуживание, генерит для сбойных ячеек специальный код доступа, т.к. сбойные ячейки не полные, и напрямую их читать нельзя.
Ведет фоновое сканирование всего массива памяти, обновляет и перетасовывает информацию (тренирует накопители), отжигает блоки памяти с вышедшим ресурсом, следит за целостностью и количеством своих обработчиков - кусков кода, рассеяных по памяти, часть из которых работает параллельно, и гарантирует защиту от сбоев самого этого слоя абстракций.

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

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

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

25 Дек, 21:11 #504 #900860

>>900834
>>900784
Перекат, берите свои цитатки и уебывайте туда
ПЕРЕКОТ https://2ch.hk/pr/res/900789.html (М)

Тред утонул или удален.
Это копия, сохраненная 18 января 2017 года.

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

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

« /pr/В начало тредаВеб-версияНастройки/a//b//mu//s//vg/Все доски

Пользуетесь скринридером — пишите, что можно улучшить.
Host-Food.ru — надёжный хостинг от 12 руб/мес | Free DNS
Зеркала М.Двача: m2ch.hk, m2ch.lib, m2chfapiswfw2wcakptqp4o6ltgchvjuxfab7urxlduraomtlnhw5xad.onion