Главная Настройка Mobile Контакты NSFW Каталог Пожертвования Купить пасскод Pics Adult Pics API Архив Реквест доски Каталог стикеров Реклама
Доски


[Ответить в тред] Ответить в тред



<<
[Назад][Обновить тред][Вниз][Каталог] [ Автообновление ] 514 | 35 | 173

Go (а также Golang, Пщ или просто Го) — современный Аноним 13/01/18 Суб 14:35:10  1119389  
ca1f746d6f232f8[...].png (68Кб, 600x600)
Go (а также Golang, Пщ или просто Го) — современный язык с зелеными потоками на уровне синтаксиса и мега крутой стандартной библиотекой. Так как делать пакеджи несложно, гитхаб полон пакеджами для абсолютно всего. Батарейки почти как в питоне.

Пщ едва не единственный язык который на уровне синтаксиса позволяет синхронизировать подпрограммы, разве только не Pony или Erlang. Это в 2018 году-то
Дженерики нужны, дженериков нет. Просто смирись.
Обработка ошибок получается охуенно через http://github.com/pkg/errors | в приложениях обычно можно просто паниковать на ошибках.
HTTP-сервер для убер максимального маня-хайлоада: https://github.com/valyala/fasthttp
В 1.8 или 1.9 уже можно "нормально" сортировать через sort.Slice()
Не нужно пиздеть про толстые бинарники, их размер значительно уменьшается одним маленьким Makefile.

Вкатываемся в эпоху докера, микросервисов и адово кошерной сетевухи.

Илюша, https://github.com/tucnak
Аноним 13/01/18 Суб 15:00:16  1119395
Сажа скрыл
Аноним 13/01/18 Суб 15:08:22  1119400
>>1119395
Молча)
Аноним 13/01/18 Суб 18:46:03  1119513
>>1119389 (OP)
> разве только не Pony или Erlang
И чем го лучше пони или ерланга?
Аноним 13/01/18 Суб 19:16:41  1119525
Влюбился в этот ваш голанг с первой строчки, уже неделю угораю пройдет или это навсегда/надолго?

Какие перспективы? Что на нем пишете, сколько зарабатываете?

жаваскрыпт мидл кун
Аноним 13/01/18 Суб 19:17:32  1119526
>>1119525
Влюбился в этот ваш голанг с первой строчки, уже неделю угораю пройдет или это навсегда/надолго?

Какие перспективы? Что на нем пишете, сколько зарабатываете?

жаваскрыпт мидл кун

фикс спойлера
Аноним 13/01/18 Суб 19:48:39  1119535
>>1119389 (OP)
Где нормальная шапка со списком литературы?
Аноним 13/01/18 Суб 21:03:09  1119565
>>1119526
>>1119525
Просто ты увидел язык, который не является рвотным сблевом говна собаки, вот и зашло с непривычки.
Аноним 13/01/18 Суб 21:07:26  1119568
>>1119535
Зачем она нужна? Я куратор этого треда, я сам список литературы. Короче, нахуй литературу.
Аноним 13/01/18 Суб 21:10:56  1119572
>>1119513
Но реально решает задачи, уровень технологий там зашкаливает. Пони и эрланг хороши, но Го по практичности просто берёт и выносит остальных ногами вперёд :-)
Аноним 13/01/18 Суб 22:11:25  1119593
>>1119568
Ну и зачем ты такими заявлениями даешь лишний повод думать о Гоферах, как о дебилах, отрицающих книги?
Аноним 14/01/18 Вск 08:40:32  1119725
>>1119389 (OP)
>Пщ едва не единственный язык который на уровне синтаксиса позволяет синхронизировать подпрограммы, разве только не Pony или Erlang.
И clojure, и х-ль с экстеншнами, и так далее, и тому подобное.

Алсо,
>на уровне синтаксиса
Как будто что-то хорошее.
Аноним 14/01/18 Вск 08:46:41  1119729
>>1119725

Ты с говнарями спориь собрался? Этот гуглепаскаль только отбитый даун использовать будет. Благо, вакансий по говну нет. Так-о.
Аноним 14/01/18 Вск 14:51:41  1119842
Поясните за этот ваш пщ, на нем есть что-то для статистики и машинного обучения?
Аноним 14/01/18 Вск 14:54:47  1119844
>>1119842
Загугли awesome go.
Есть
Аноним 14/01/18 Вск 14:55:09  1119845
>>1119842
язык умер алло
Аноним 14/01/18 Вск 14:55:18  1119846
>>1119729
Есть хайп на него, платят хорошо
Аноним 14/01/18 Вск 18:20:57  1119934
>>1119846

Уже нет. Ни вакансий, ни задач.
Аноним 14/01/18 Вск 18:26:06  1119937
>>1119934
двачую
Аноним 14/01/18 Вск 18:40:13  1119942
>>1119729
>>1119934
>>1119937
Как так? Только что же был на хайпе острия острия.
Аноним 14/01/18 Вск 19:10:06  1119949
>>1119934
Я так и знал, что эта параша сдуется.
Аноним 14/01/18 Вск 19:11:44  1119952
>>1119934
В дс2 на хз вакансий на го, больше чем на ноде.
Аноним 14/01/18 Вск 19:20:16  1119955
>>1119952
На хх*
Аноним 14/01/18 Вск 19:31:12  1119960
>>1119952
>В манямирке
Аноним 14/01/18 Вск 19:36:44  1119965
>>1119952
Нода это совсем дрисня. Даже ее создатель сказал, что она не нужна, когда есть любой другой язык программирования Го.
Аноним 14/01/18 Вск 20:12:43  1119976
>>1119965
Нода не дрысня.
Аноним 14/01/18 Вск 20:23:51  1119982
> Го
> Современный язык
Аноним 14/01/18 Вск 20:33:25  1119994
>>1119976
Нода дрисня, а не дрысня.
> Даже ее создатель сказал, что она не нужна, когда есть любой другой язык программирования Го.

>>1119982
После JS-хуиты любой нормальный язык кажется божьим откровением, а если он еще и прост как три копейки, что даже шлемазл с поврежденным мозгом разберется, так вообще.
Аноним 14/01/18 Вск 20:38:25  1120002
>>1119994
Жс нормальный язык, в последних версиях он просто ахуителен. Нода топ 1 платформа для разработки. В то время как жс от стандарта к стандарту становится лучше, создатели го игнорируют сообщество и за столько лет не добавили ни менеджер пакетов и ни дженерики.
Аноним 14/01/18 Вск 20:41:37  1120004
>>1120002
> Жс нормальный язык
Я мог бы обоссать тебя, но вместо этого просто кину тебе пример твоего "нормального" читаемого языка
https://github.com/mui-org/material-ui/blob/v1-beta/docs/src/modules/components/AppDrawer.js
> Нода топ 1 платформа для разработки
Для JS-разработчиков.
Аноним 14/01/18 Вск 23:19:30  1120085
>>1120002
>ни менеджер пакетов
https://github.com/golang/dep
Аноним 14/01/18 Вск 23:37:05  1120088
.png (263Кб, 736x736)
>>1120085
> Windows Build Status: failed
> Go report: A+

инб4 не нужон
Аноним 14/01/18 Вск 23:52:35  1120091
>>1120088
https://docs.microsoft.com/en-us/windows/wsl/install-win10
Зря пилили что ли?
Аноним 15/01/18 Пнд 09:37:10  1120178
15123625730420.jpg (13Кб, 195x195)
>>1120085
>dep is the official experiment, but not yet the official tool
> Windows Build Status: failed
> Go report: A+
Гоферов кормят говном, а они едят и просят ещё.
>>1120004
> Для JS-разработчиков веб разработки.
Пофиксил, не благодари.
Аноним 15/01/18 Пнд 13:42:58  1120266
>>1120178
Чем вызван смех?
Аноним 15/01/18 Пнд 13:43:57  1120269
>>1120178
его давно в продакшене используют.
Аноним 15/01/18 Пнд 14:26:09  1120276
>>1120269
Вот когда NY Subway начнут использовать вот тогда.
Аноним 15/01/18 Пнд 14:45:34  1120289
>>1120002
Чет проиграл с функции reduce, в которой есть
> = null
> arg.push...
> return arg
Аноним 15/01/18 Пнд 15:55:15  1120329
IMG201801151554[...].jpg (151Кб, 700x800)
>>1120266
Отсутствие нормального менеджера пакетов.
>>1120289
Пздц, ты даже по нужному почту не можешь попасть. Алсо нахуй вы всякий говнокод обсуждает?
Аноним 15/01/18 Пнд 15:56:32  1120331
>>1120329
Посту*
Аноним 16/01/18 Втр 07:13:12  1120669
Тем временем
>Announcing Go Support for AWS Lambda
https://aws.amazon.com/blogs/compute/announcing-go-support-for-aws-lambda/
Аноним 16/01/18 Втр 11:44:25  1120713
>>1119389 (OP)
>2017
>Makefile
Просто убейтесь.
Аноним 16/01/18 Втр 11:46:05  1120714
Screenshot20180[...].png (57Кб, 1218x653)
>>1119389 (OP)
>Илюша
Он что, поехавший?
Аноним 16/01/18 Втр 15:20:24  1120792
Го это байтоебский язык или на нем можно делать и высокоуровневые вещи?
Аноним 16/01/18 Втр 17:45:57  1120862
>>1120792
Нишевой язык для того, чтобы транслировать в него Python. Если хочешь — это байт-код Пайтона. И не более.
Аноним 16/01/18 Втр 18:27:46  1120874
>>1120792
что-то среднее
Аноним 16/01/18 Втр 19:34:01  1120895
>>1120862
> транслировать в него Python

Щто?
Аноним 16/01/18 Втр 19:47:27  1120901
>>1120895
Трансляторы есть уже давно:
http://www.opennet.ru/opennews/art.shtml?num=46912
Всё остальное — быдлохуита навроде COM DCOM ActiveX MFC POUWERЪ TOYEZЪ.
Аноним 16/01/18 Втр 19:56:15  1120903
>>1120901

Лолблядь. Зачем в него гнидобейсик транслировать?
Аноним 16/01/18 Втр 20:09:59  1120907
>>1120903
Но ведь у процессора кеши не резиновые...
Чем меньше скачков по оперативной памяти — тем лучше.

Google, Pitfalls of Object Oriented Programming
Аноним 16/01/18 Втр 23:44:17  1121005
Почему то го не показался мне таким простым как его нарекают. Ключевых слов действительно не так много, но вот типы для это просто пздц. Возвращение функцией нескольких значений тоже довольно неявно для меня, что в итоге только усложняет все для меня. Стрелочный оператор тоже сбивает с толку. И с горутинами пока не успел разобраться. Начал решать задачки на exercism.io. В итоге застрял на самых простых. Пошел читать доки - в итоге не могу найти нужную функцию или опять же проблема с типами. Стоит ли ещё что нибудь почитать или просто продолжать превозмогать, надеясь со временем во все разобраться?
Аноним 17/01/18 Срд 09:53:48  1121118
>>1121005
The Go Programming Language Phrasebook [Chisnall 2012-05-10]

little go book
Аноним 17/01/18 Срд 13:02:52  1121180
Киньте картинку, как к хомякам прилетает тарелка и говорит GENERIC, а хомяки кидаются копьями.
Аноним 17/01/18 Срд 14:06:38  1121229
>>1121005
Поддвачну. Привык к функциям которые работают с переданным параметром. А в го функции воруют, убивают, ебут гусей, а возвращают вообще ошибку.
Аноним 17/01/18 Срд 17:32:45  1121286
180115hnhhoymkk[...].jpg (120Кб, 1190x1698)
>>1121180
Аноним 17/01/18 Срд 18:26:35  1121316
>>1120714
Net
Аноним 17/01/18 Срд 18:44:07  1121322
Спешите видеть: итт хейтеры спорят на тему объективных качеств языка. Абсолютно похуй на все эти мелкие недостатки — как вы это не можете понять. Ещё есть такой прикол что полноту многих проблем вы просто не понимаете потому что что-то не знаете. Язык это не только дизайн, это ещё производительность и поддерживаемость. Го делает это хорошо, многие компании даже считают что очень хорошо. Зачем хейтить охуенный проверенный инструмент из-за какой-то мишуры на которую не похуй трём — трём с половиной юным максималистам?

Нет дженериков? Ок, нет. Не сделали. И что теперь? Диллема дженериков хорошо описана и создатели языка многократно аргументировали свою позицию. Они не против дженериков per se, просто с учётом всех факторов они посчитали что лучше не делать их вообще. Это не мешает. Если бы это было фатальным недостатком, то Го не получил бы тот успех который он получил.

-Илюша
Аноним 17/01/18 Срд 19:54:44  1121358
>>1121322
>охуенный проверенный инструмент
Подожди-ка, но ведь это не джава и даже не си тред.
Аноним 17/01/18 Срд 19:59:39  1121362
>>1121358
Go используют как минимум с 2012 года сотни компаний. И в большинстве случаев остаются довольны.

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

Аноним 17/01/18 Срд 20:01:52  1121363
>>1121362
>Go используют как минимум с 2012 года
Ну тогда при выборе языка точно не стоит смотреть на качества этого языка - раз его используют с 2012 года (минимум!), то нужно брать!
Аноним 17/01/18 Срд 21:14:05  1121394
>>1121322
>Абсолютно похуй на все эти мелкие недостатки — как вы это не можете понять.
Мы не намерены это понимать. Дженерики спрашивают на собеседованиях → обязан выучить дженерики. Всё, закончили с этим!
Аноним 17/01/18 Срд 22:35:19  1121435
Илюш, а тебя с хабра прогнали) Ссаными тряпками))
Аноним 17/01/18 Срд 22:38:19  1121438
>>1121435
У меня там есть как минимум два аккаунта с положительной кармой — это раз. Я не сижу на хабре с 2015 года — это два.

Аноним 17/01/18 Срд 22:43:09  1121440
>>1120713
Что ты имеешь против мейка? На самом деле в этом конкретном случае достаточно build-optimized.sh, но я предпочитаю запускать make и всё.
Аноним 17/01/18 Срд 22:47:55  1121443
>>1121440
> build-optimized.sh
Пентиум четыре уже купил?
Аноним 17/01/18 Срд 22:48:15  1121444
>>1121438
А у меня у папы самолёт и вертолёт!
Аноним 18/01/18 Чтв 01:34:01  1121537
Вроде в версии 1.10 собирались впелить поддержку создания .dll плагинов под виндувс, оно живо?
Аноним 18/01/18 Чтв 02:15:01  1121545


>>1121443
При чем тут это? Бинарники в Пщ по-дефолту содержат кучу отладочной информации и т.д. Чтобы эти (ненужные) данные убрать, есть флаги. Я их не помню, поэтому у меня просто мейкфайл и я могу делать просто make или make stripped.

>>1121444
Молодец, я рад за тебя.
Аноним 18/01/18 Чтв 10:07:30  1121600
>>1119389 (OP)
И сюда тоже запостирую:

https://www.opennet.ru/opennews/art.shtml?num=47869
>Наиболее сильно теряют свои позиции Java (-3.06%), Go (-0.76%) и C++ (-0.70%).

Запомните это сочетание: джава, го и сиплюсплюс.
Аноним 18/01/18 Чтв 13:03:14  1121661
>>1121600
>0.76
>0.70
Щас бы на спичках экономить
Аноним 18/01/18 Чтв 13:15:37  1121673
>>1121286
Спасибо. Проиграл еще раз.
Аноним 18/01/18 Чтв 13:27:54  1121675
>>1121394
Их учить надо? Я думал, посмотрел и все.
Аноним 18/01/18 Чтв 13:39:40  1121678
>>1121675
Я думаю это была шутка.
Аноним 18/01/18 Чтв 15:55:30  1121751
>>1121661
Щас бы терять позиции, когда все остальные растут. Хайп на говно прошел - он уже схлопывается, так толком и не успев взлететь.
Аноним 18/01/18 Чтв 16:39:03  1121800
>>1121751
>Хайп на говно прошел - он уже схлопывается
Но все же никуда он не денется, ниша пщ в целом востребована, разве что появится нормальная альтернатива как с пхп->питоноруби.
Аноним 18/01/18 Чтв 17:10:18  1121829
>>1119389 (OP)
Как перекомпилировать hello world на виндоус? Я устанвил этот ваш GO с официального сайта на Linux Ubuntu 64 bit. Вообщем, hello world на нем работает. Но я хочу, чтобы работал под Windows 64 bit. Как это сделать? На команду 6g ругается, что не найдена.
Аноним 18/01/18 Чтв 18:02:26  1121888
>>1121600
БЛЯТЬ! ЕБАННА В РОТ! АССЕМБЛЕР ПАДАЕТ ТОЖЕ, ВСЕ ТЕПЕРЬ ОН НАХУЙ НИКОМУ НЕ НУЖЕН! ПИШЕМ МИКРОКОНТРОЛЛЕРЫ НА ПЫХЕ
Аноним 18/01/18 Чтв 18:05:07  1121889
>>1121888
Какая блять пыха? Не видел, там SCRATCH РАСТЕТ! Перекатываемся на него аки колобки.
Аноним 18/01/18 Чтв 18:07:42  1121896
>>1121829
Нужно указать при компиляции флаги GOOS и GOARCH и в них указать необходимую архитектуру ОС, короче погугли
Аноним 18/01/18 Чтв 18:17:19  1121907
>>1121896
>env GOOS=windows GOARCH=amd64 go build
Получилоась, работает! Спасибо, братишка, век багов не видать!
Аноним 18/01/18 Чтв 18:27:42  1121913
>>1121907
Круто, на гитхабе где-то есть библиотеки, которые автоматически собирают бинарники под все доступные ос
Аноним 18/01/18 Чтв 18:49:24  1121923
А на нем можно написать программку с окошком и кнопочкой? Ну, типа маленькое окошко на экране, в нем надпись Hello, world! А под ней кнопочка OK. Нажимаешь и и окошко закроется..
Аноним 18/01/18 Чтв 18:53:05  1121927
>>1121923
Устанавливаешь VS2017. Открываешь Windows Forms...
Аноним 18/01/18 Чтв 18:57:47  1121930
>>1121927
A Go?
Аноним 18/01/18 Чтв 19:05:07  1121933
>>1121930
Да можно, ну лучше это делать на с#, как посоветовали свыше
https://github.com/avelino/awesome-go#gui
Аноним 18/01/18 Чтв 19:56:00  1121958
Давайте теперь поговорим о смысле существования данного языка. Как мы только что узнали, они не может в GUI. Остается сфера применения для веба, а преимущество языка - многоядерность. Но на вебе совершенно не нужна поддержка многоядерности. На вебе для обработки каждого запроса пользователя запускается новая копия скрипта. При высокой нагрузке, т.е. одновременных запросах от нескольких пользователей, скрипты будут работать на разных ядрах. Узким местом на вебе являются базы данных и каналы связи. Go никак не адресует эти проблемы. Получается, он бесполезен.
Аноним 18/01/18 Чтв 21:06:48  1121999
>>1121958
Ты очумел
1) статическая типизация
2) малое потребление памяти
3) джанго/питон 4000rps, golang 40.000 rps

Естественно, когда маленький сайт, то не нужно а когда почта.маил.ру/дропбокс, etc, где миллионы пользователей, то нада
Аноним 18/01/18 Чтв 21:41:02  1122029
>>1120002
Мечты жс-неосилятора нормальных языков
Аноним 18/01/18 Чтв 21:47:08  1122031
>>1121958
>они не может в GUI. Остается сфера применения для веба
Есть только две сферы: гуи и веб?
Аноним 18/01/18 Чтв 21:55:29  1122034
Benchmark.png (7Кб, 512x320)
>>1121999
Нинада.
Аноним 18/01/18 Чтв 21:57:38  1122037
>>1121999
>статическая типизация
Это его недостаток для веба. Дальше?

>малое потребление памяти
окей. Одно достоинство. Скрипт может отожрать 100mb, но при нынешних 32ГБ памяти этого хватит на обслуживание 300 пользователей одновременно. Сервер ляжет скорее от чего-то другого, чем от недостатка памяти.

>джанго/питон 4000rps, golang 40.000 rps
Что такое rps? Запросов в секунду? Тогда это влажные мечты кукаретика. В реальности будет всего сотня, а дальше ляжет база.
Аноним 18/01/18 Чтв 22:19:15  1122053
>>1121958
Прикручиваешь кути и он сразу может в гуи
>>1122037
1. Спорно, это недостаток только для макак.
2. "Маам, маам, смотри, мой жс/пхп/питон/хуитон говнопроект жрет всего 16 гигов под нагрузкой и течет как похотливая сучка"
ну если ты кроме хоум пейдж и вонючих интернет магазинчиков ничего больше не разрабатыва/не видел, это не значит, что нет систем с большим количеством рпс.
Аноним 18/01/18 Чтв 22:40:35  1122067
>>1122053
>16 гигов под нагрузкой
Я вижу, что ты ничего не разрабатывал, иначе знал бы об ограничении памяти для каждой инстанции.
Аноним 19/01/18 Птн 02:08:40  1122205
Что означают подобные этому фразы в документации?
func Command(name string, arg ...string) *Cmd

-что означает многоточие?
- что означает ежик и Cmd через пробел?
- это можно копировать в код и использовать?
Аноним 19/01/18 Птн 02:16:28  1122210
>>1122205
Многоточие - переменное число переменных
ежик - это указатель
*Cmd - возвращемое значение ( в Го возврат пишется после функции)
Аноним 19/01/18 Птн 02:27:17  1122212
>>1122205
Если на си++, то аналог этого это
*Cmd Command( string name, string arg,...)
Аноним 19/01/18 Птн 02:41:30  1122218
>>1119389 (OP)
Какого хуя присвоение := Это паскаль ебаный блядь? Хули нельзя было нормально сделать?
Аноним 19/01/18 Птн 03:06:30  1122224
>>1122218
Есть и обычное.
Когда через двоеточие, то еще и типизация происходит
Аноним 19/01/18 Птн 03:23:39  1122233
Как класс описать? Или в этом языке такое понятие отсутсвует. Поиск выдает какую-то петушню
type userStruct struct {
}
Аноним 19/01/18 Птн 03:28:15  1122235
>>1122233
Классов нет. Есть структуры.

Если тебе надо объединить структуру с методами, то используется связывание.
Типа так
func(user *userStruct)Method() {
user.UserName = "User"
}
Аноним 19/01/18 Птн 03:32:51  1122236
>>1122235
и как в классе создать защищенный от наследования или изменения параметр (protected, private)?
Аноним 19/01/18 Птн 03:34:58  1122237
>>1122236
private параметры пишутся с маленькой буквы
type userStruct struct {
privateName string
PublicName string
}
Аноним 19/01/18 Птн 03:50:08  1122239
4vjC1rx0OCM.jpg (74Кб, 800x536)
>>1122235
Ну и впизду тогда.
Без классов есть более гибкий и быстрый срр,
А для нормального ООП -- что угодно, начиная с рнр7 для веба и, допустим, Ява для остального.

Нахуй надо-то? Пытаюсь понять.
Аноним 19/01/18 Птн 04:04:57  1122241
>>1122239
Можно создать аналоги классов.
Язык похож на си, но проще по синтаксису, и меньше требует, чем джава
Аноним 19/01/18 Птн 04:37:06  1122248
>>1122237
Разве это поддерживается на уровне компилятора? Из примеров я делаю вывод что НЕТ http://www.golangprograms.com/go-language/struct.html
Аноним 19/01/18 Птн 04:42:42  1122249
>>1122248
Да, поддерживается. Всё что с маленькой буквы доступно только в пределах пакета. "Наружу" для доступа экспортируются только симболы с большой буквы. Это удобно на самом деле: по названию симбола можно сразу сказать будет ли видно его снаружи или нет. Т.е. это касается не только полей структур, а вообще всех сущностей пакета: переменная, постоянная, функция/метод, структура, интерфейс.

Аноним 19/01/18 Птн 11:30:49  1122314
>>1122067
Скоропалительные выводы, как это мило.
Аноним 19/01/18 Птн 11:56:15  1122330
>>1121790
Зарепортил неймфажество и щитпостинг.

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

Короче, насчет ниши - согласен, но вот этот хайп "вау гугл нарисовал такую няшную аватарку давайте перепишем все бекенды на пщ" уже прошел\проходит. В евангелистах остались только шизики вроде опа, лол.
Аноним 19/01/18 Птн 11:56:49  1122331
>>1121888
Щас бы асм с пщ сравнивать, хехмда
Аноним 19/01/18 Птн 11:57:55  1122332
>>1122331
Я просто угарал с логики этих маминов аналитиков.
Го сосет
Аноним 19/01/18 Птн 11:58:39  1122333
>>1121999
>1) статическая типизация
>нет дженериков
>1) статическая типизация
Аноним 19/01/18 Птн 12:02:23  1122335
>>1122333
Бегемоты - круто.
Аноним 19/01/18 Птн 12:05:50  1122336
>>1122332
Так ты соврешенно зря "угарал", не разобравшись, в чем, собственно, логика. Ассемблер был, есть и будет всегда; тот факт, что он в рейтинге падает - следствие прогресса в разработке компиляторов, это ожидаемо и нормально. То же касается, например, и си. А го дарт, ещекакаямаркретолушнаяхуйнянейм - еще не взлетевший язык, и если он в фазе взлетания вместо стабильного роста сдает позиции, то конец немного предсказуем.
Аноним 19/01/18 Птн 16:03:56  1122445
>>1121800
>ниша пщ в целом востребована
И что же это за ниша таинственная никому не известная?
Аноним 19/01/18 Птн 16:08:56  1122450
>>1122445
Всем, в принципе, известная. кроме тебя Высоконагруженные бэкенды, сетевуха, CLI.

Cloudflare гоняют преимущественно код на Go, а у них 10% всего трафика в интернете.
Докер и вся экосистема вокруг него тоже построена на Go.
Кубернетес и разные базы данных, типа cockroach.
Аноним 19/01/18 Птн 16:13:30  1122452
>>1122450
Т.е. для написания узкоспециализированной прокси. Я бы сказал это к веб-разработке отношения не имеет. Докер сдох.
Аноним 19/01/18 Птн 16:17:26  1122454
>>1122452
>Т.е. для написания узкоспециализированной прокси
Нет, я тебе перечислил для чего, не нужно передергивать.

>Докер сдох.
Нет, это не так.
Аноним 19/01/18 Птн 17:17:13  1122469
>>1122452
>Докер сдох.
Откуда дровишки?
Лол кек
Аноним 19/01/18 Птн 19:07:23  1122508
Илья, скажи, что нужно знать/уметь, чтобы джуном взяли? Ну и какого типа и уровня должны быть прожекты на гитхабе?
Аноним 20/01/18 Суб 00:56:12  1122685
>>1122330
Ерланг\еликсир – языки с охуэнно узкой нишей даже относительно пщ, плюс динамические, плюс вм, плюс функциональные. Это все совсем не то.

C похожих языков есть Д, но гц у него тормозное текущее говно из-за того что язык перегружен плюсовыми фичами которое пщ и подметки не годится. И есть ещё пони-last-hope, который вроде бы хорош но целесообразность memory-safety концепций все ещё под вопросом да и хуй знает выберется ли оно вообще когда нибудь из альфы.

В общем для сетевухи у пщ сейчас конкурентов нет и в ближайшее время не предвидится.

мимо-пщ-хейтер
Аноним 20/01/18 Суб 03:05:33  1122713
>>1122452
> Докер сдох.
Да неужто? И когда/как это произошло? А то пацаны не в курсе.
Аноним 20/01/18 Суб 15:13:24  1122850
>>1122685
>Это все совсем не то.
Так я и имел в виду, что вместо переписывания всех бекендов на пщ их теперь переписывают на эликсире, а пщ остается там, где и должен.
Аноним 20/01/18 Суб 15:14:31  1122851
Бля, отправил пост случайно.
>>1122685
>есть ещё пони
Таки есть? Оно вообще шевелится? Что-то про него совсем ничего не слышно.
Аноним 20/01/18 Суб 18:34:43  1122957
>>1122851
На ладан дышит, после того как их контора пытающаяся продавать язык обанкротилась создатель языка сьебал в microsoft research, остальные core-разработчики в основном вяло пилят компилятор и пытаются сделать так чтобы он не сегфолтится на каждый чих.



Аноним 21/01/18 Вск 11:59:08  1123208
>>1122957
Печально, чо. Да хотя и хуй с ним.
Аноним 21/01/18 Вск 18:13:27  1123528
Недавно решил написать мини проектик на Go. Кароч мне нужно место где выместить зло

Тезисно:
- Роберт Пайк - пидор
- Разрабы самого go в целом - долбоебы каких мало
- Комьюнити go - самое макаконасыщенное после комьюнити js
- Язык изобилует уебанскими решениями, которые дауны яростно отставивают

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

gofmt - Революционный удобный тул!! - заорете вы. Пиздец вы дауны - отвечу я. Автоформат есть в любой IDE к любому языку вот уже 30 лет. Но вот жестко захардкодить уебанские, неправильные, неудобные настройки додумались только гоферы-даунята.

Открывающиеся скобки только на той же строке - Ебаный кромешный пиздец. Есть общеизвестный факт: так скобки ставят только билюбознательныекак минимум люди. Натуралы ставят скобки на новой строке потому что преимущества такого подхода очевидны. Но так как авторы go - поголовно состоят в ЛГБТ сообществах и соответственно любят хуйцы, то они блять ЗАХРАДКОДИЛИ скобки как им нравится. Хочешь писать как натурал? А хуй тебе - код не скомпилится.

Путь к репам прям в коде - например import "github.com/go-chi/chi". Ну и ебланы. А если завтра гитхаб накроется? Менять исходники? Дебики блять. Ну ладно, гитхуб напрядли накроется, но более малоизвестных хостинг - изи

В остальном пока язык устраивает, http сервер, роутинг, sql из коробки + язык дизайнился под бекенд, для моего проекта хватает.

>>1119525
>жаваскрыпт мидл кун
Угарнул. Сеньйор джиес примерно равен джуниору в нормальных областях. А теперь оцени свой уровень.
Вообще специализация удел насекомых. Если человек знает один язык\технологиях, то он - макака вне зависимости от зп.

>>1121438
>два аккаунта с положительной кармой
Положительная карма на хабре - зашквар. Адекватные люди все с отрицательное. Хабромакаки в основном братьев по разуму плюсуют
Аноним 21/01/18 Вск 18:19:36  1123545
>>1123528
>GOPATH мог быть придуман только долбоебом. Мудацкое, неудобное и бесполезное решение. Все бы хорошо если бы оно было опциональным. Но, нет оно жестко захардкожено, потому что ятакскозал!

В смысле захардкожен? Всегда можно переопределить.

>>1123528
>Открывающиеся скобки только на той же строке
Кажись, в джаве аналогично принято ( конечно можно по-своему, но желательно именно так). А ты открой питон, еще сильнее забугуртишь.

>>1123528
>Путь к репам прям в коде
Не совсем так. Он у тебя по этому пути скачается, а дальше будет просто лежать в GOPATH/src/github.com/go-chi/chi
Да, если твой проект зависит от другой библиотеки, ты залил его на гит, а потом путь поменялся, то будут проблемы.

Аноним 21/01/18 Вск 18:25:51  1123558
>>1123545
>В смысле захардкожен? Всегда можно переопределить.
Лол. В смысле он есть и проекты должны лежать в нем. А я хочу чтобы рабочий проект на go лежал в одной папке, а личный в другой, а в третьем проекте у меня только часть на go и я хочу чтобы она лежала вместе с проектом. Ну т.е. стандартный кейс.

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

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

>Не совсем так
Да, ты прав. Но всеравно так себе идея, выглядит уж точно не красиво
Аноним 21/01/18 Вск 20:25:35  1123651
>>1123558
>выглядит уж точно не красиво
По-моему дело не в том, что "не красиво", а в том, что когда тебе понадобится по какой-то причине сменить вендора (ну, например скачивать пакеты в CI со своего локального зеркала репа), ты как бы немного соснешь хуйца и пойдешь городить костыли. Самое смешное, блядь, что уже дохульон лет, как это проблема решена (хотя бы у той же джавапетушни с мавеном), уже найдено корректное, блядь, решение проблемы зависимостей и сборки проекта - но нет, нахуя нам это, давайте лучше сделаем гопатх и урлы в коде. Это просто пиздец. И с дженериками один-в-один та же ситуация. Черви-пидоры просто.

другойанон
Аноним 23/01/18 Втр 05:16:49  1124723
>>1121933
А что посоветуешь на каждый день из своего списка?
Аноним 24/01/18 Срд 00:17:37  1125264
Играем в игру. Блиц вопрос-ответ любой технический вопрос на тему языка Go.
Аноним 24/01/18 Срд 09:12:26  1125374
>>1125292
Ненужно.
Аноним 25/01/18 Чтв 01:13:00  1125790
ИТТ

Хочу сделать на Go систему на основе блокчейна для поддержки свободной журналистики: факт-чекинг, пруф-ридинг и поддержка свободных журналистов посредством оплаты востребованных публикаций через любую валюту. Вопрос: стоит ли для этих задач брать именно Go? Мне кажется, что это отличный выбор, но может быть есть инструменты получше для блокчейн сервиса.
Аноним 25/01/18 Чтв 01:26:50  1125794
>>1125790
На чем написан ethereum?
Аноним 25/01/18 Чтв 01:31:45  1125797
>>1125794
На Go.
Аноним 25/01/18 Чтв 04:55:02  1125833
>>1125264
Итак, такой вопрос, почему по супер развивающемся языку, всего 1700 вопросов в неделю а по тому же питону 6000?

https://stackoverflow.com/tags
Аноним 25/01/18 Чтв 04:55:58  1125834
>>1125833
Тьфу 170 а не 1700
Аноним 25/01/18 Чтв 08:06:41  1125853
15123634400810.png (45Кб, 247x250)
>>1125833
>>1125834
Потому что этот супер язык не нужен?
Аноним 25/01/18 Чтв 08:41:28  1125877
Go это такая быстрая и красивая замена питона+асинкио для написания чятиков. Ну ещё на хайпе случайно докеры на нём сделали. Дискасс.
Аноним 25/01/18 Чтв 14:56:49  1126035
>>1125833
го выстрелил в последние три года, а статистика ведется со времен основания сайта.
Аноним 25/01/18 Чтв 15:06:43  1126041
>>1126035
> вопросов в неделю
Неправильно ты маняврируешь, нужно говорить что го такой простой и понятный что по нем и спрашивать нечего.
Аноним 25/01/18 Чтв 15:57:51  1126071
>>1126041
Так и есть, лол.
Аноним 25/01/18 Чтв 17:54:37  1126154
15126670129980.jpg (18Кб, 320x320)
Для чего хорош го, а где его лучше не использовать?
Аноним 25/01/18 Чтв 19:20:03  1126204
> хорош го
Асинхронные чятики, сервера обрабатывающие потоки мелких сообщений.
> не использовать
Там где неприемлим гц, там где охуенно нужны дженерики и прочий хайлевел.
makefile, make, yarn, glide, go Аноним 25/01/18 Чтв 20:57:05  1126294
Screenshot from[...].png (183Кб, 1920x1050)
Добрый день, анон, фронтедер на связи.
Пытаюсь развернуть проект, чтобы посмотреть, как взаимодействует реакт с го, в будущем проекте пригодится
https://github.com/olebedev/go-starter-kit
установил golang, прописал gopath, тестовая прога получилась (hello world), в общем, когда прописываю make install получаю хуйню, как на пике. Гуглеж ничего не дал, все зависимости, насколько могу судить, установлены.
Yarn установлен глобально, glide установлен глобально, просто, почему-то, не хочется видеть @yarn и @glide и иже с ними.
Если просто прописываю yarn install && glide install, все проходит, но, опять же, make server выдает хуиту.
Гуглеж не помог, в чем может быть дело?
Спасибо.
Аноним 25/01/18 Чтв 21:19:17  1126312
>>1126294
Не нужна тебе, Вовка, такая машина
Аноним 25/01/18 Чтв 21:32:14  1126329
А просто glide запускается?

И что будет, если ввести make glide ?
Аноним 25/01/18 Чтв 21:40:36  1126333
>>1126154
Смотри, rule of thumb: Если твой софт будет крутиться на сервере или в виде демона или в виде консольной утилиты, то его стоит писать на Go. Если твой софт требует GUI, то подумай, может быть ты можешь сделать интерфейс на основе веба, тогда браузер станет интерфейсом для твоей программы.
Аноним 25/01/18 Чтв 21:42:03  1126334
>>1126294
Можешь показать мейкфайл?
Аноним 25/01/18 Чтв 21:42:33  1126335
>>1126334
https://github.com/olebedev/go-starter-kit/blob/master/Makefile
Аноним 25/01/18 Чтв 21:44:26  1126337
>>1126335
Точно, туплю. Попробуй

go get ./...
Аноним 25/01/18 Чтв 21:49:05  1126341
>>1126337
Поясни подробнее за `go get ./...` фронтендеру, который первый день с го работает.
Аноним 25/01/18 Чтв 22:01:17  1126351
>>1126341
Это значит "установить зависимости всех пакетов внутри текущей директории.
Аноним 25/01/18 Чтв 22:10:39  1126353
>>1126351
Не помогло, мейк то же выдает.
Попытался новую версию ноды -- чот не то.
Такое чувство, что какой-то ВАЖНЫЙ компонент при установке го или мейка пропустил.
https://medium.com/@patdhlk/how-to-install-go-1-8-on-ubuntu-16-04-710967aa53c9
Это корректный мануал? За исключением GOROOT
Аноним 25/01/18 Чтв 22:26:34  1126365
>>1126353
Ну тебе еще надо glide поставить и походу yarn тоже. Короче ставь!
Аноним 25/01/18 Чтв 22:46:17  1126371
>>1126353
Тебе же явно пишет, что проблема не в го
Поставь glide
Когда поставишь, проверь, запускается ли он командой glide
Аноним 26/01/18 Птн 00:37:23  1126450
>>1126333
С гуй приложениями все понятно. А что насчёт серверных приложений? Го байтоебский же язык. Какого типа приложения можно писать с помощью го?
Аноним 26/01/18 Птн 08:13:47  1126584
>>1126371
>>1126365
>Yarn установлен глобально, glide установлен глобально, просто, почему-то, не хочется видеть @yarn и @glide и иже с ними.
Если просто прописываю yarn install && glide install, все проходит, но, опять же, make server выдает хуиту.
Аноним 26/01/18 Птн 08:54:21  1126595
Знатоки Пщ, расскажите, пожалуйста, что в этом Пщ хорошего, и, главное, что плохого. Для каких областей программирования этот Пщ предназначен, а для каких нет/не очень?
Аноним 26/01/18 Птн 09:20:42  1126600
Речь не про установку
В консоли напиши glide
Он запустился?
Аноним 31/01/18 Срд 01:36:56  1129428
Антон, подскажи, как правильно обработать строку "12753 FGGFDN", в массив нужно отправить только данные до пробела, все что справа от пробела выкинуть, данные справа от пробела имеют разную длину и значения.
Аноним 31/01/18 Срд 02:21:28  1129432
>>1129428
Строку в слайс, из слайса новый слайс с параметрами начала и старта?
Аноним 02/02/18 Птн 02:10:33  1130472
>>1129428
https://golang.org/pkg/strings/#Split
Аноним 02/02/18 Птн 12:42:40  1130657
>>1129432
>>1130472
а регулярки в голанге не в моде?
Аноним 03/02/18 Суб 04:27:53  1131088
>>1130657
регулярки там где хватит сплита?
Аноним 03/02/18 Суб 06:39:56  1131105
>>1130657
Надо делать микросервис с REST API
Аноним 04/02/18 Вск 14:54:49  1132066
Котаны, расскажите, какие must-have тулзы надо иметь для разработки на go в 2018?
- пакетный менеджер или GOPATH + go install наше все?
- управление версиями компилятора или /usr/bin/go норм?
- фреймворк для tdd или стандартного t за глаза?
Аноним 04/02/18 Вск 15:33:28  1132078
>>1132066
>какие must-have тулзы надо иметь для разработки на go в 2018?
>go
>2018
47 хромосому.
Аноним 04/02/18 Вск 15:34:45  1132079
>>1132078
go это новый php, проще говоря стало дохуя вакансий на нем и платят хорошо. Стало быть любить го не нужно.
Аноним 04/02/18 Вск 16:19:42  1132098
>>1132079
> >47 хромосому.
>go
>дохуя вакансий
>платят хорошо
У тебя уже есть главная тулза - поздравляю.
Аноним 04/02/18 Вск 16:25:51  1132109
>>1132098
Ты можешь опровергнуть эти высказывания?
Аноним 04/02/18 Вск 18:51:13  1132200
Пацаны, в тред таки врывается тот самый Юмпутун, я тут смотрю вы вообще забыли про Голанг, всего 10 тредов за 4 года, не очумели ли, не изучать язык 21 века? Хер я вас позову на свое радио-т.
Аноним 05/02/18 Пнд 08:22:30  1132582
>>1132079
>go это новый php
Ебнутый? Ты хотя бы сравни эти два языка. PHP - высокоуровневой язык с сильным ООП. Го - низкоуровневной. В нем даже классов нет. Это как Си. В вебе нет места Си.
Аноним 05/02/18 Пнд 08:32:48  1132586
>>1132200
>радио-т
Редкостное говно, 90% тем - го, эпл, пиар какой нибудь параши.
Аноним 05/02/18 Пнд 10:42:27  1132673
>>1132582
Я не сравниваю языки с техническое точки зрения, я сравниваю степень говноедства основной массы пользователей.
Аноним 05/02/18 Пнд 10:53:15  1132682
>>1131088
ну хуй знает. А зачем тебе остальные подстроки, полученные в результате сплита?
Аноним 05/02/18 Пнд 12:17:36  1132744
>>1122034
странная пикча. php 7.1+ в семь раз быстрее питона в вебе, а на пике это не так
Аноним 05/02/18 Пнд 15:05:38  1132877
>>1132744
>php 7.1+ в семь раз быстрее питона в вебе
Пыходаун as is.
Аноним 05/02/18 Пнд 15:30:40  1132894
>>1132877
https://benchmarksgame.alioth.debian.org/u64q/php.html
плез
Аноним 05/02/18 Пнд 15:46:40  1132904
>>1132894
Лол, я же говорю, пыходаун.
Аноним 05/02/18 Пнд 16:07:09  1132911
>>1132904
По существу подискутировал, молодец
Аноним 05/02/18 Пнд 16:09:03  1132914
>>1132911
О чем с дебилом говорить то? Его нужно просто обоссывать.
Аноним 06/02/18 Втр 00:33:20  1133243
image.png (66Кб, 350x200)
Анон, я честно пробовал такое загуглить, но чего-то даже хз как нормально. Хочу, собирать инфу с разных ресурсов (ну там обрабатывать и все такое) и переправлять в другой серивис, так вот, собирается это все несколькими горутинами допустим раз в 30 секунд каждая + время на обработку и я хочу чтобы отдельная горутина копила это все допустим минуту и отсылала.
Есть ли для этого адеватный паттерн/пример/туториал_для_чайника ?
Аноним 06/02/18 Втр 17:37:57  1133563
>>1133243
bump
Аноним 06/02/18 Втр 18:12:27  1133587
>>1133243
https://blog.golang.org/pipelines
Аноним 07/02/18 Срд 07:57:10  1133851
Golang уже сколько существует? 9-10 лет? А большого распостранения он так и не получил. Из важных програм, написанных на Go, я знаю только Docker. Более того хайп уже года два-три идёт на убыль. Ничего нового в языке не появляется. Даже Java до сих пор развивается. А Go упёрся в границы примитивного мышление своих создателей. Они так и не смогли generics в язык ввести. До сих пор надо использовать кодогенератор. Да это просто пиздец какой-то! Говно этот ваш Go, сраное, вонючее говно! А те, кто его жрут - пидары, ублюдки и говноеды!
Аноним 07/02/18 Срд 09:25:10  1133860
>>1133851
Да не бомбит у меня!
Аноним 07/02/18 Срд 10:11:32  1133870
68747470733a2f2[...].jpg (496Кб, 2867x1632)
68747470733a2f2[...].jpg (243Кб, 2342x1460)
>>1119389 (OP)

Тут на блокчейн платформе для распределённых приложений раздрают токены всем гитхаб юзерам, которым больше года: https://github.com/GenesisCommunity/go-genesis.
Уже эфир обгоняет.
Что думаете, ананасы?
Аноним 07/02/18 Срд 10:16:56  1133874
>>1133870
что терминатор 5 - параша
Аноним 07/02/18 Срд 10:31:52  1133878
Поясните что здесь происходит

[code="go"]
func (c Container) Put(elem interface{}) {
c = (c)[0]
}[/code]

(
c)[0] <- что это за хуйня, блять?
Аноним 07/02/18 Срд 10:33:19  1133880
>>1133878
Блять, макаба ебаная https://pastebin.com/5Er4KbZJ
Аноним 07/02/18 Срд 10:48:10  1133889
>>1133880
Как мы то твоему должны догадаться что такое Container?
Аноним 07/02/18 Срд 11:02:53  1133899
>>1133889
https://play.golang.org/p/v70RyuD78C3
Аноним 07/02/18 Срд 11:05:22  1133900
>>1133899
Или даже так https://play.golang.org/p/q1ubTD4NBIF
Аноним 07/02/18 Срд 11:06:17  1133901
>>1133899
https://play.golang.org/p/gn0lEKXFaIa
Аноним 07/02/18 Срд 11:07:38  1133903
>>1133901
А зачем там скобки?
Аноним 07/02/18 Срд 11:08:54  1133905
>>1133903
Из-за приоритета операторов.
Взятие индекса имеет больший приоритет, поэтому чтобы сначала разыменовать, а потом взять индекс добавляются скобки.
Аноним 07/02/18 Срд 11:10:38  1133908
>>1133905
Спасибо.
Аноним 07/02/18 Срд 11:12:35  1133910
>>1133908
https://play.golang.org/p/bF64_h68fRs
Аноним 07/02/18 Срд 11:57:21  1133938
Такой вопрос:
Я запускаю из кода процесс
cmd := exec.Command("fbi", "-d", "/dev/fb0", "-T", "1", "-noverbose", "-a", "yoba.png")
if err := cmd.Run(); err != nil {
// panic(err)
}
Как мне получить id этого процесса чтобы потом убить его?
cmd.Proccess.Pid возвращает какое-то левый id.
Аноним 07/02/18 Срд 12:01:05  1133941
>>1133938
В гугле забанили?
https://play.golang.org/p/zU_cucDb2Tq
Аноним 07/02/18 Срд 12:54:24  1134000
>>1133941
Это только с Start() работает? С Run() не работает.
2018/02/07 09:53:41 failed to kill: os: process already finished
Аноним 07/02/18 Срд 12:56:53  1134003
>>1134000
Ну ты в глаза долбишься? Почитай документацию-то или хотя бы ошибку.
Run() запускает и синхронно дожидается выполнения. Ошибка тебе говорит о том что ты пытаешься прибить процесс который уже закончился. А он ясен хуй закончился, потому что ты вызвал метод, который дожидается завершения процесса.
Аноним 07/02/18 Срд 13:00:01  1134011
>>1134003
Хорошо, тогда такой вопрос. Я вызываю определенный процесс с помощью Run(). После запуска он висит и в определенное время мне нужно его убить. Как это сделать?
Аноним 07/02/18 Срд 13:01:25  1134018
>>1134011
Что значит висит? Статус какой?
Аноним 07/02/18 Срд 13:04:22  1134021
>>1134018
Ну он работает. fbi - это утилита, которая передает во фреймбуффер картинку. Покуда процесс работает картинка будет отображаться. В определенный момент мне нужно сменить картинку, для этого я собираюсь убить процесс со старой картинкой и запустить с новой.
Аноним 07/02/18 Срд 13:09:08  1134028
>>1134021
Вероятно он форкается сам. Кури доки. К го треду это отношения не имеет.
Аноним 07/02/18 Срд 13:12:41  1134031
>>1134028
Да как не имеет-то? Я в коде запускаю стороннюю программу. Получаю ее PID. Потом с помощью sudo kill <PID> пытаюсь ее убить, а у меня это не получается потому что PID левый, а запущенная программа продолжает работать. Go мне дал PID какой-то хуйни, а не того процесса, который я запустил. А ты говоришь не имеет отношения.
Аноним 07/02/18 Срд 13:32:13  1134039
>>1134031
Блять, какой же ты тупой. Перечитай еще раз все что тебе уже написали и уебывай.
Аноним 07/02/18 Срд 13:36:25  1134040
>>1134031
https://www.kraxel.org/cgit/fbida/tree/fbi.c
На, читай исходники, мудила. Смотри как он форкается.
Аноним 07/02/18 Срд 13:37:39  1134042
>>1134040
Какие исходники, какой си? Я даже не знаю что означает "форкается".
Аноним 07/02/18 Срд 13:39:09  1134043
>>1134042
Откуда вы такие лезите?
Аноним 07/02/18 Срд 13:40:40  1134044
>>1134043
Я, например, только начал в линукс вкатываться. Откуда остальные лезут - не знаю.
Аноним 07/02/18 Срд 13:43:17  1134045
>>1134044
https://en.m.wikipedia.org/wiki/Fork_(system_call)
Почитай для саморазвития
Аноним 07/02/18 Срд 13:45:37  1134046
>>1134045
Спасибо.
Аноним 07/02/18 Срд 14:38:20  1134074
> В определенный момент мне нужно сменить картинку, для этого я собираюсь убить процесс со старой картинкой и запустить с новой.
exec.Command("killall", "fbi")
?
Аноним 07/02/18 Срд 14:42:08  1134078
>>1134074
Вообще подход довольно днищенский. Нормальный человек бы взял биндинги к либе и сделал обработку картинки внутри процесса.
Аноним 07/02/18 Срд 14:49:14  1134086
>>1134074
да че там, давай уж сразу, pkill f
Аноним 07/02/18 Срд 14:49:16  1134087
>>1134074
Пока так и делаю. Но между завершением предыдущего процесса и запуском нового на дисплее проскакивает консоль. Поэтому хочу сначала вывести новую картинку поверх старой, а потом закрыть старую.
Аноним 07/02/18 Срд 14:52:45  1134095
>>1134078
>Нормальный человек
>взял биндинги к либе
Какой либе? xlib? Нет спасибо.
Аноним 07/02/18 Срд 14:57:34  1134100
>>1134087
Поэтому хочу сначала вывести новую картинку поверх старой, а потом закрыть старую.
exec.Command("killall", "--older-than","1ms","fbi")
Убивает все fbi старше чем
1ms - одна милисекунда.
Аноним 07/02/18 Срд 15:00:44  1134102
>>1134100
То что нужно!
Аноним 08/02/18 Чтв 11:24:13  1134573
Привет, котоны. Запилил небольшой веб-сервер и возникла проблема. Если бинарник запускать вручную, то все работает хорошо. Если же прописать его запуск в rc.local, то вместо главной страницы я получаю
Сайт не отправил данных.
ERR_EMPTY_RESPONSE
Почему так?
Аноним 08/02/18 Чтв 12:25:05  1134590
15156551109652.jpg (54Кб, 604x542)
>>1119389 (OP)
Тред, можно ли с помощью Go реализовать что-то типа графической оболочки и связующего элемента для БД?
Есть БД с заказами, работниками, запросами, процедурами, триггерами и хотелось бы это все завернуть с помощью Go.
Можно ли так, подскажите соурсы или альтернативы реализации.
Спасибо.
Аноним 08/02/18 Чтв 12:59:27  1134610
>>1134590
Можно с помощью веб-интерфейса. Или тебе десктопное приложение нужно?
Аноним 08/02/18 Чтв 14:26:40  1134667
>>1134590
На этом тоже можно
Go + Qt + Mysql
Аноним 08/02/18 Чтв 16:13:13  1134733
>>1134610
Десктоп нужно, на веб-интерфейсе уже делают люди.
Аноним 08/02/18 Чтв 16:24:06  1134741
>>1134667
Будет отлично еще вариантов услышать, посмотрю каждый.
Аноним 08/02/18 Чтв 18:28:46  1134876
>>1134590
https://github.com/avelino/awesome-go#gui
посмотри в списке, может что приглянется.
Под десктоп я бы делал, так по приоритету (больше -> меньше)
Native gui (C# WPF / Cocoa Obj-C) -> C++ Qt / Imgui -> Electron -> Все остальное.
Ну если, ты только с Go дружишь, можешь попробовать go-imgui (ибо go-qt уже посоветовали). Ну если честно, то go и гуй, это такое себе (вот через пару лет, можно будет глянуть, а пока мало либ).
Аноним 09/02/18 Птн 07:32:51  1135163
Антон, скажи что там с работкой на го? Хочу побаловаться этой хипстерской хуйней, но не могу въехать. Смысл этого языка? Пилить круды? Настоящий хайлоуд? Системное проганье? Игрули? Мобилы?
Аноним 09/02/18 Птн 09:24:01  1135175
>>1135163
>Пилить круды? Настоящий хайлоуд? Системное проганье?
Вот это точно, на счет остального не знаю. Круды пилятся легко, для хайлоада подходит потому как язык компилируемый и довольно шустрый. На счет системного проганья - сам проверил, сделал несколько встраиваемых систем с использованием го. На самом деле нормальные люди пилят на си, но я не люблю си ибо он стар, неуклюж и сложен. На го все то же делается гораздо проще и быстрее.
Аноним 09/02/18 Птн 11:01:42  1135189
>>1133851
K8s, etcd
Аноним 09/02/18 Птн 16:46:18  1135439
>>1135175
Я крудописер, делаю MVP, если что-то выстреливает, то потом становится тормозным гавном потому что языки интепретируемые, смогу ли я легкостью рельсы перескачить на го? Ну так чтобы пару либ и всё работало из коробки, минимум приседаний.
Аноним 09/02/18 Птн 17:01:40  1135449
>>1135439
На счет рельсы ничего сказать не могу, но вот
>чтобы пару либ и всё работало из коробки
это про него. В первом веб-приложении, что я запилил на го я использовал всего две либы: для MySQL и для маршрутизации, остальное из коробки. MVC-модель составил сам, написал несколько функций для удобства и получился очень компактный фреймворк.
Аноним 10/02/18 Суб 18:33:04  1136054
>>1135175
> си ибо он стар, неуклюж и сложе
Сейчас системное прогонье нужно делать на Rust. В сравнении с ним Go слишком медленный.
Аноним 10/02/18 Суб 18:34:26  1136057
>>1136054
И не только системное. Вебня, игры, да все что угодно лучше на расте, чем на го.
Аноним 10/02/18 Суб 18:42:39  1136063
>>1136057
>Вебня
Нет. Как раз для веба Rust подхожит совсем плохо. Слишком низкоуровневой. Впрочем, и Go не намного лучше. На вебе правят бал совсем другие.
Аноним 10/02/18 Суб 18:49:08  1136066
>>1136063
http://diesel.rs/
Ты просто попробуй.
Аноним 10/02/18 Суб 18:49:39  1136067
>>1136066
Тьфу, блять, не тот линк.
Вот правильный: https://rocket.rs/
Аноним 10/02/18 Суб 18:54:06  1136072
>>1133870
Уже сегодня аккаунт со всеми репозиториями удален. Даже гитхаб-странички еще не обновились, лол: >>1136060
Аноним 10/02/18 Суб 18:57:07  1136074
>>1136067
>Rocket doesn't have built-in support for databases yet
ясно
Аноним 10/02/18 Суб 19:01:22  1136079
>>1136074
Ну и нахуй оно нужно? diesel во все поля.
Аноним 10/02/18 Суб 19:04:59  1136080
>>1136079
А еще ООП нету
Аноним 10/02/18 Суб 19:25:49  1136096
>>1136080
ООП не нужно. Плюс оно там есть.
Аноним 11/02/18 Вск 02:43:01  1136400
Карочи не палите годноту, пусть жрут свою ноду )))
Аноним 11/02/18 Вск 06:25:17  1136422
>>1136080
Вместо ООПа там куда более мощная система типов.
Аноним 11/02/18 Вск 13:01:17  1136493
>>1136422
> Мощная система типов
> GO
> Отсутствие шаблонов
> Ебашу для каждого типа дублирующую функцию

Аноним 11/02/18 Вск 13:58:01  1136520
>>1136493
> Ебашу для каждого типа дублирующую функцию
> Доказываю всем что дженерики не нужны!
Аноним 11/02/18 Вск 14:12:57  1136538
>Не нужно пиздеть про толстые бинарники, их размер значительно уменьшается одним маленьким Makefile.

Анон, просвяти про флаги для билда
Аноним 11/02/18 Вск 14:19:14  1136546
>>1136493
Вообще-то разговор про раст был. Там все есть.
Аноним 13/02/18 Втр 23:18:58  1138466
Screenshot 2018[...].png (124Кб, 1402x602)
Screenshot 2018[...].png (101Кб, 1640x602)
14820972860070.png (24Кб, 649x570)
> Готред всплывает со дна только с залетным жирдяем решившим постебаться с говноедов от скуки
> Индекс популярности пщ стремительно падает даже на фоне мертворубей
> Работодатели неспособные найти пщ кодеров готовы сами переучивать хоть скрпитодетей на го
Что-то пошло не так? Гуглу нужно ещё хайпануть малехо?
Аноним 13/02/18 Втр 23:22:26  1138470
>>1138466
Вакансий стало довольно много, поэтому и хантят. А то что вниз пошло, ну пошло и пошло. В последнее время много нового появилось, и раст и свифт. Так что неудивительно что фрагментация увеличивается.
Аноним 14/02/18 Срд 11:46:26  1138639
>>1138466
Так-так, что тут у нас? ааа, это же ТАЙОБЕ. Где всегда растет какая-нибудь ху* VB .NET, PL/SQL, SQL - programming language =), так ладно html5 еще не завезли туда.
Опаньки, внезапно падают web-oriented языки, серьезно?
Javascript - падает. Это вообще, смешно. У нас наверное все конференции теперь про VB .NET, а вовсе не про React/Angular/Vue/Aurelia/ Node/Express/Koa/Hapi/Docker/Heroku/AWS и еще 10к веб-технологий и веб-сервисов.
Аноним 14/02/18 Срд 11:50:07  1138640
>>1138639
Я еще могу понять Си растет, ибо IoT, ROS, Robotics, Embedded devices, Smart Homes, Python extensions (CPython). Но еп... JS падает, ну нах...
Аноним 14/02/18 Срд 12:59:38  1138678
1509350673678.png (296Кб, 1250x2781)
>>1138640
А что не так?..
«Фреймворки» это и есть вершина айсберга, как с посраллем было.
Аноним 16/02/18 Птн 06:48:41  1140035
Кто-нибудь сталкивался с такой поеботой в Голанде? Возникает, если в хелловорлде указать не main пакет. Должна же быть по идее другая ошибка, а тут вообще нихуя не понятно. Кстати, при первой попытке запустить с неверным названием пакета, просил установить эту самую ntvdm, после которой началась эта ошибка.
Аноним 16/02/18 Птн 06:48:58  1140036
image.png (8Кб, 394x169)
>>1140035
Забыл картинку.
Аноним 16/02/18 Птн 09:32:24  1140063
>>1138640
>IoT, ROS, Robotics, Embedded devices, Smart Homes
Не в России
Аноним 16/02/18 Птн 16:28:39  1140303
>>1140036
> указать не main пакет
> линкер собрал exe без головы
> голый объектный модуль
> Мастдай определил его как 16 бинтый DOS файл и попытался запустить.
Как то так.
Аноним 19/02/18 Пнд 13:06:21  1141974
image.png (221Кб, 500x500)
Анон, подскажи бест_практис по написанию высоконагруженых сервисов на Го.

Вот предположим мне надо написать сервис, который будет по одному URL отдавать одну из 400к строк. Особой выборки нет, просто по очереди отавать строку за строкой. и все это где-то 450 запросов в секунуду. Планирую взять какой-нибудь fasthttp. Строки может все в память прочту или использую MySQL просто он уже развернутый есть
Аноним 19/02/18 Пнд 13:06:59  1141975
>>1141974
само собой я не прошу за меня строить, но может ты скажешь чего почитать, куда посмотреть
Аноним 19/02/18 Пнд 23:23:19  1142522
>>1138466
ЙОБА-индекс то еще чудо чудес, нашел чем мериться.

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

Ну и так же не забываем что нет никаких вирт машин и прочих чуда чудес невидимого мира (JIT-компиляции например).

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

>Что-то пошло не так? Гуглу нужно ещё хайпануть малехо?
Так вроде скоро начнут dart всем заливать в уши? Не?
Го это про другое - чисто технический выбор для нагруженных, многоядерных/процессорных систем с асинхронщиной.

Идеальный язык для веб-разработки на сегодня.
Аноним 20/02/18 Втр 02:45:25  1142575
>>1142522
>Так вроде скоро начнут dart всем заливать в уши?
>Идеальный язык для веб-разработки на сегодня.
Проиграл в голос сейчас. До вашей деревни все с лагом в пять лет доходит, да?
Аноним 20/02/18 Втр 03:28:24  1142581
>>1142575
Вроде какой-то выпук и вроде старался, но нифига не понятно. Что сказать то хотел?
Аноним 20/02/18 Втр 05:28:10  1142594
>>1142522
Поясни тогда, почему Go в 2 раза медленнее пишет в файл , чем java?? Попробовал записать 200.000.000 цифр
Аноним 20/02/18 Втр 08:45:11  1142609
Что для создания GUI используете?
Аноним 20/02/18 Втр 09:00:47  1142614
Что такое дженерики?
Аноним 20/02/18 Втр 11:57:38  1142667
>>1142614
генераторы кода.

например захотел ты, чтобы твоя функция была универсальной к любым параметрам (которые ты задумал).
Вместо того, чтобы писать сто раз:
f Add(int a, int b)
{
return a +b;
}
f Add(float a, float b)
{
return a +b;
}
f Add(short a, short b)
{
return a +b;
}
f Add(double a, double b)
{
return a +b;
}
___
можно просто написать в том же (C++):
template<typename Type>
Type f(Type a, Type b)
{
// ну и здесь ты напр. обрабатываешь, какие-то эксклюзивные ситуации связанные с конкретным типом.
return a + b;
}
Аноним 20/02/18 Втр 12:09:42  1142671
>>1142667
Но ведь это легко заменяется пустым интерфейсом?
Аноним 20/02/18 Втр 12:16:27  1142675
>>1142671
Ты проебываешь типобезопасность. Вместо статической проверки типов на этапе компиляции, ты получаешь проверку в рантайме, которая может покрашится.
Аноним 20/02/18 Втр 13:56:10  1142724
>>1142594
Говнокод в студию!
Аноним 20/02/18 Втр 13:58:17  1142725
>>1142667
Чтобы завести дженерики, нужно сначала завести перегрузку функций
Аноним 20/02/18 Втр 13:59:09  1142726
>>1142725
Хуйни не неси. В расте нет перегрузки функций, но есть дженерики, например.
Аноним 20/02/18 Втр 14:00:05  1142727
>>1142675
С какого перепуга будет крашется? (если конечно ты сам в условиях панику не добавишь, но паника это не "крашится")
Аноним 20/02/18 Втр 14:17:00  1142734
>>1142726
Что за новый тренд, не могут осилить перегрузку функций (ну конечно же, очередное "ненужно")
Аноним 20/02/18 Втр 14:17:27  1142735
>>1142726
Что выглядит убого.
Аноним 20/02/18 Втр 15:38:29  1142779
>>1142734
Для чего тебе нужны перегруженные функции, приведи пример.
Аноним 20/02/18 Втр 16:32:46  1142801
>>1142609
Бамп.
Аноним 20/02/18 Втр 16:41:28  1142813
>>1142614
Гугли "параметрический полиморфизм".

>>1142725
Неверно.
Аноним 20/02/18 Втр 16:52:04  1142821
>>1142779
Ухты, вопрос из девяностых!!!
Чтобы на однотипное действие, с разной сигнатурой функций - было одно имя.

Банально, рассмотрев перегруженные функции в API ты сразу можешь бегло понять с чем эта функция работает вообще, а не ломать голову, как там автор ее назвал.
Аноним 20/02/18 Втр 16:53:29  1142823
>>1142801
Зачем тебе гуи в 2018? Возьми браузер и пили свои формочки под каким-нибудь ангуляром (или что сегодня там в моде).
Аноним 20/02/18 Втр 16:54:24  1142824
>>1142821
Вопрос решается передачей объекта с конфигом или как в го, набором функций с разными именами.
Когда у тебя одна и та же функция решает разные задачи в зависимости от типов аргументов, это так же плохо, как использовать одну переменную для совершенно разных задач.
Аноним 20/02/18 Втр 17:10:04  1142838
>>1142724
package main

import (
"bufio"
"strconv"
"os"
)


func check(e error) {
if e != nil {
panic(e)
}
}

func main() {
f, err := os.Create("file.txt")
check(err)
defer f.Close()


w := bufio.NewWriter(f)

for i := 0; i<= 100000000; i++ {
w.WriteString(strconv.Itoa(i)+"\n")
}

w.Flush()
}
Аноним 20/02/18 Втр 17:10:50  1142839
>>1142838
Какой размер буфера в го и в жаве?
Аноним 20/02/18 Втр 17:23:20  1142850
>>1142823
Браузер? Программирование деградирует.
Аноним 20/02/18 Втр 17:41:19  1142869
>>1142850
Только программисты, и го тому яркий пример.
Аноним 20/02/18 Втр 18:10:29  1142883
>>1142824
>Вопрос решается передачей объекта с конфигом
Больше магии и разовых объектов для простых функций, о да. Снова разрабы решили не париться и переложили бойлерплейт на плечи программистов, а те и рады.

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

Аноним 20/02/18 Втр 18:11:55  1142885
>>1142883
Просили привести пример. Примера нет. Нет и предмета разговора.
Передача явного параметра удобней чем рысканье по докам в попытках разобраться какую из 30 версий метода вызывают.
Аноним 20/02/18 Втр 18:17:23  1142891
>>1142839
Java:

FileWriter actually uses its own fixed-size 1024 byte buffer. The BufferedWriter on the other hand, show that it uses and 8192 byte buffer size (default), which can be configured by the user to any other desired size.

В го по умолчанию 4096, ну если даже буффер на 2 помножить, то скорость не меняется
Аноним 20/02/18 Втр 18:31:12  1142910
>>1142675
type assertion же есть.
Аноним 20/02/18 Втр 18:34:22  1142912
>>1142910
Оно работает в рантайме. Нет нужды проверять в рантайме то, что прекрасно можно проверить в компайл-тайме. Когда ты последний раз копипастил slice tricks?
Аноним 20/02/18 Втр 19:53:07  1142994
>>1142883
Перегрузка функций - условно-абсолютное зло и антипаттерн, как и, например, гото. Это просто плохая идея. Не путай перегрузку функций с параметрическим полиморфизмом ("дженерики" на языке быдла).

Единственный оправданный кейс для перегрузки - изменение поведения в зависимости от числа переданных аргументов.
Аноним 20/02/18 Втр 19:56:44  1143002
>>1142667
Спасибо
Аноним 20/02/18 Втр 20:00:28  1143007
>>1142994
>кококок нинужно!! яскозал!!
Аноним 20/02/18 Втр 21:24:11  1143062
>>1142885
>Передача явного параметра
Чего???

>в попытках разобраться какую из 30 версий метода вызывают.
Ох лол
Аноним 20/02/18 Втр 21:26:44  1143064
>>1143062
Ты уже покажешь реальный пример, где перегрузка решает проблему лучше альтернативных вариантов, или так и будешь ололокать?
Аноним 20/02/18 Втр 21:30:41  1143065
>>1142885
>Просили привести пример. Примера нет. Нет и предмета разговора.
Пример чего? Перегруженный функций? Ты совсем упоротый?
Аноним 20/02/18 Втр 21:31:46  1143067
>>1143065
Да, будь добр. Покажи проблему и как она решается при помощи механизма перегрузки.
Аноним 20/02/18 Втр 21:44:34  1143075
>>1142994
>Единственный оправданный кейс для перегрузки - изменение поведения в зависимости от числа переданных аргументов.
Ляпнул и сразу наружу весь свой опыт "программиста" вывалил.
Или джава-джун, который видел только как джависты компенсируют отсуствие дефолтного значения у аргумента, или же скрипто-макака, где толком не было реальной работы с типами.
Что же вас в раст то тянет, в системный то язык, с таким опытом??
Аноним 20/02/18 Втр 21:47:24  1143080
>>1143075
Если уж на то пошло, то в расте нет и дефолтных значений. Есть только Default трейт, который один хер требует явной передачи параметра. varargs в целом удобная фича, когда она используется в стиле ...rest.
Аноним 20/02/18 Втр 21:57:06  1143084
>>1143064
Каких альтернативных вариантов? Ну раз ты такой способный, на:
Что лучше:
save(User)
save(id, name)
save(ContainerUsers)
save(WebForm)


или же:
saveFromUser(User)
storeFromNativeData(id, name)
preserveFromUserList(ContainerUsers)
persistenceFromWebForm(WebForm)


Так что тут лучше смотрится? Одно-именный метод, выполняющий из разных "структур данных" но одно сохранение, или же маскарад наименований, которые делают одно и тоже, но не факт что называются одинаково (и не факт что будут начинаться с "save")
Аноним 20/02/18 Втр 22:01:30  1143085
>>1143080
Ну парни вообще отличились, что я могу сказать. С вечным желанием сделать что-то необычное, показать свою уникальность - они, конечно, справились. Но нужно ли это "не такое как все" изящества на рынке - конечно нет. Люди продукты пилят, а не стараются перед друг другом отличиться.
Это имхо, а так конечно же сейчас больше зависит от того, сколько хайпа может зависти на тот или иной язык.
Аноним 20/02/18 Втр 22:04:01  1143088
>>1143084
fn<T: Into<User>> save(user: T)
То что ты не знаешь как нормально можно решить проблему и при этом сделать её расширяемой, не означает что предложенное тобой говнорешение хорошее.
Аноним 20/02/18 Втр 22:15:03  1143091
>>1143088
Я специально добавил разные структуры данных, которые не могут быть использованы с обобщением (раз уж пугает слово "дженерики") ибо алгоритм работы разный, так же эти данные не могут быть "обернуты" в полиморфизм.

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



Аноним 20/02/18 Втр 22:17:57  1143092
>>1143091
>Так что уноси свое говно
Надеюсь ты понял, что обобщение тут не работает, это понимание придет со временем, когда начнешь по-настоящему программировать, а не учить один лишь синтаксис у языков, чтобы казаться умным.
Аноним 20/02/18 Втр 22:18:14  1143094
>>1143091
Мань, в твоем случае надо лезть в модуль где твой save лежит и добавлять частный случай. В том варианте который показал я ты просто где тебе нужно пишешь реализацию для своего типа данных.
Например
impl Into<User> for (i32, String)
чтобы скармливать в метод кортежи вида
save((32, "shit"))
Аноним 20/02/18 Втр 22:25:08  1143100
>>1143094
Хватит маневрировать, я показал как удобно читается API с перегрузкой, с разными структурами данных. И что это будущее наступило еще в годах восьмидесятых. Нам глубоко пофигу - частный там случай или нет, нам важно куда-то "заперсистить" имеющиеся у нас данные и мы лишь выбираем подходящую сигнатуру (зная заведомо что наш сервис-объект отвечает за сохранение).

Понятно что если ты увидишь
saveFromUser(User)
persistenceFromWebForm(WebForm)

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

И хватит меня троллить (хотя не исключаю факта что ты просто тупой), в жизни не думал что буду кому-то объяснять - какой удобный кейс - эта перегрузка
Аноним 20/02/18 Втр 22:28:15  1143104
>>1143100
>в жизни не думал что буду кому-то объяснять - какой удобный кейс - эта перегрузка
Если ты реал программист, а не синтаксический червь, расскажи, где вам такое в уши заливают, что вот перегрузка зло, исключения зло, ...все зло, а писать когда как в 70-е круто и модно?
Аноним 20/02/18 Втр 22:29:32  1143107
>>1143104
>а писать когда как в 70-е круто и модно?
фикс:
а писать код как в 70-е круто и модно?
Аноним 20/02/18 Втр 22:31:24  1143108
>>1143100
Тебе уже объяснили, что твой костыль хуевый и решается нормально другими средствами.
По факту в приведенном тобой примере метод сохранения делает одну полезную вещь: кладет какие-то данные, предположим, в базу. При написании нормального ортогонального кода, ты отделяешь все юз кейсы, связанные с конвертацией данных, для того, чтобы метод сохранения непосредственно данных не зависел от того, что ты решил добавить новую форму.
Аноним 21/02/18 Срд 00:41:28  1143186
>>1143007
-> /b

>>1143075
Ты совершенно не понял, о чем речь. Можешь перечитать пост, можешь не перечитывать. Кстати, это тред про го, а не про раст.

>>1143084
Вот это тот самый ужас, о котором я говорил. Скриптоманькам, впрочем, не привыкать. Кроме того, уровень владения английским как бы намекает на уровень владения навыками программирования.

>>1143104
Перегрузка и исключения (aka "гото") - это как раз артефакты из 70-ых. С тех пор прошло много времени.
Аноним 21/02/18 Срд 00:42:23  1143187
>>1143108
Поддвачну вот этот пост и отмечу, что это буквально первая вещь, которой учат в любой книжке или курсу по написанию программ.
Аноним 21/02/18 Срд 01:14:44  1143194
Парни, что вы думаете насчет зарплат у гоферов? (~+15% java, python...) Чому так? Хайп? Зачем дяде платить больше за хайп, если его интересуют только $? (не гугл офк)
Аноним 21/02/18 Срд 01:16:27  1143195
>>1143187
Сам себя похвалил? Узбагойся
Аноним 21/02/18 Срд 01:37:54  1143212
44444.jpg (23Кб, 600x600)
>>1143108
Тебе показали для чего перегрузка нужна, а не как нужно апи писать.
Если тот "сэйвер" не имеет состояния, он как раз выполнен в лучших традициях современного программирования ("анемичная модель предметной области").
Но, опять же, тебе показали для чего нужна перегрузка с разными структурами данных, хера ты там додумываешь какое-то свое поведение какому-то псевдо-коду и рассуждаешь потом, что это плохо, ты вменяемый вообще?? (если настолько упорот, замени save на build и будет тебе билдер, но опять же, не маневрируй, тебя тут учат именно перегрузке)

А теперь важное (реально теорема и доказательство)
Перегрузка не нарушает никаких таинственных знание по проектированию, банально компилятор делает тоже самое - добавляет к именам функций некий свой хэш (зависит от указанных типов в аргументах) типа "save$isl()" или "save$kjLL()" (теперь имя функции это не только его прямое имя но и типы аргументов - то есть сигнатура)
доказательство
Никак это не может повлиять на проектирование (и быть антипаттерном каким-то) потому, что абсолютно без разницы - определяется ли метод по одному только имени - или же по сигнатуре (имени и типам в аргументов)


Аноним 21/02/18 Срд 01:42:08  1143214
>>1143212
>метод по одному только имени - или же по сигнатуре (имени и типам в аргументов)

То есть (разжую для самых самых) в твоем расте или в го идентификатором функции является это:
saveFromSome(int, float)
а в нормальных языках это:
save(int, float)

И никак это ни на что не влияет. НИКАК
Аноним 21/02/18 Срд 01:50:39  1143218
>>1143194
Вероятно один гофер делает полезного кода больше, чем мартыхи наворачивающие один фреймворк на другой усложняя проект на пустом месте.

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

Если одним программистом можно заменить целую команду месителей грязи - то я бы ему платил +15-30% $
Аноним 21/02/18 Срд 09:10:42  1143270
>>1143212
Ладно мань. Накопишь опыта, поймешь что не так в твоем видении мира. Пока что ты предъявил говнокод в качестве обоснования фичи, которую сейчас не тащат в современные языки. Мы тут все прекрасно знаем как работает перегрузка и многие ей пользуются в тех же скриптовых языках повсеместно. Но это не значит что от этого она стала хорошей идеей.
Аноним 21/02/18 Срд 10:21:42  1143283
>>1143195
Чини детектор, обиженный.

>>1143212
>это хороший стиль проектирования, потому что под капотом компилятор делает то же самое
Гениальная цепочка рассуждений, тут только в /me отправлять. Ты, конечно, молодец, что уже в школе интересуешься всем, за хайпом следишь и все такое, но этого недостаточно, чтобы не быть школотроном.
Аноним 21/02/18 Срд 12:44:28  1143351
>>1143218
Этот манямирок гоферов.
Аноним 21/02/18 Срд 15:52:01  1143445
>>1143084
А в го для такой задачи разве не используется интерфейс?
Аноним 21/02/18 Срд 15:53:15  1143446
>>1143445
Использует, но это слишком сложно для адептов говнофичей.
Аноним 21/02/18 Срд 19:31:52  1143695
>>1143270
>Накопишь опыта
>в твоем видении мира.
Тебе привели железные доказательства того, что два различных идентификатора функции НИКАК НЕ ВЛИЯЕТ НИ НА ЧТО (только на восприятие, если ты неопытный программист и не понимаешь что такое сигнатура функции)

Так что хватит маневрировать, не позорься. Просвещайся, пока мне не лень тебя кормить.
Аноним 21/02/18 Срд 19:42:14  1143702
>>1143351

Я соглашусь с тобой сразу как будет норм ответ на >>1143194

Пока топовый ответ: >>1143218

Язык убогий, нормальных адекватных облегчающих вещей нет -> качество/скорость будет ниже, но зачем платить больше за это.
Аноним 21/02/18 Срд 20:01:21  1143712
>>1143186
> С тех пор прошло много времени.
Лол блять. Все эти ваши охуенные абстракции до сих пор внутри живут на сишке и этих goto. Ебаные макаки везде.
Аноним 21/02/18 Срд 20:29:03  1143746
>>1143712
>до сих пор внутри живут на сишке
Ты не поверишь, но сишка до сих пор компилируется в машинный код, машинный код до сих пор исполняется на процессорах, процессоры до сих пор из транзисторов, ну и вообще там до сих пор электрончики туды-сюды прыгают, прикинь? Ты не понимаешь значение слова "абстракция", но для байтослесаря это нормально, так что не парься; байтослесарь - не программист.
Аноним 21/02/18 Срд 20:30:11  1143748
>>1143695
Тебя уже даже в других тредах детектят и обоссывают, лол, кто бы говорил про "не позорься". мимо
Аноним 22/02/18 Чтв 07:58:02  1144062
>>1143746
Лол, как раз наоборот. Человек, пишущий на высокоуровневых языках не программист.
Аноним 22/02/18 Чтв 12:29:49  1144152
>>1144062
Помню в юности, встретил такого "программиста", он мне рассказывал, что даже ассемблер это все фигня, а реал тру пишут на машинном коде и я развесив уши слушал и верил.

Как же приятно встретить таких специалистов тут.
Аноним 22/02/18 Чтв 12:30:51  1144153
>>1143748
Лол, спрятался и тихо сам собой бугуртит, слили уже тебя, иди в другой тред лови фантомов.
Аноним 22/02/18 Чтв 15:44:54  1144248
>>1144153
Чини детектор, неудачник.

>>1144062
Ну, хорошо, слово "разработчик" подходит больше, уговорил. От "программиста" веет проперженными труханами и усики-пропуск-в-трусики.
Аноним 25/02/18 Вск 04:46:44  1145637
>>1122218
Уже давно ходит тема, что использование = ис бед бай дизайн из-за того, что оператор сравнения есть ==, я думаю лет там через 10 все переменные будут чисто через : юзаться
Аноним 25/02/18 Вск 11:22:58  1145674
>>1145637
Жирный, уйди.
Аноним 25/02/18 Вск 11:35:06  1145679
>>1122218
чтобы компилятор различить объявление от присввоения. Хуй знает почему нельзя было сделать автоматически, наверное чтобы неявностей по типу очепятался-проебал пересенную/содержимое было меньше
Аноним 25/02/18 Вск 11:41:19  1145682
>>1145679
Блять, ну вы и мудаки.
:= это оператор для объявления переменной с автовыводом типа. Присвоение делается через =
Аноним 25/02/18 Вск 11:45:31  1145685
>>1145682
а я, блять, что написал, мудила ты пиздоглазая
Аноним 25/02/18 Вск 11:46:54  1145686
>>1145685
> s := "2"
> s := toInt(s)
Вот зачем.
Аноним 25/02/18 Вск 12:47:39  1145706
>>1145686
ну тогда объясни почему нельязя было это на обычное присвоение повесить
Аноним 25/02/18 Вск 12:48:54  1145707
>>1145706
Мань ну ты че?
Потому что в приведенном мною примере используется shadowing. Если бы там было простое присвоение, ты бы получил ошибку компилятора о том, что ты пытаешься стринг в инт пихнуть.
Аноним 25/02/18 Вск 13:47:00  1145735
>>1145707
нет, не получил бы, просто сменился бы тип. Как в скриптопараше сделано.
Аноним 25/02/18 Вск 13:49:52  1145736
>>1145735
Это не скриптопараша. Здесь ты типы указываешь явно. А значит и смену типа ты тоже указываешь явно.
Аноним 25/02/18 Вск 13:52:50  1145738
>>1145735
Потому что в го статическая типизация
>>1145686
Разве этот код будет работать? Тип присваивается единожды
>>1145706
Чтобы различать, когда у нас создается новая переменная с типом, который возвращает функция, и переменная, у которой тип известен.

Аноним 25/02/18 Вск 13:58:52  1145740
>>1145738
Будет, но придется новый лексический скоуп добавлять
https://play.golang.org/p/PzsEzv6LhrK
Аноним 25/02/18 Вск 14:50:05  1145762
>>1145740
Ну так будет, но это немного не тот случай.
Аноним 25/02/18 Вск 15:27:01  1145784
>>1145738
>статическая типизация
Ненужное говно без задач. Сажи треду.
Аноним 25/02/18 Вск 15:29:24  1145788
>>1145784
Одноизвильный дебилоид подъехал. Куда уж мы без вашего мнения-то.
Аноним 25/02/18 Вск 16:25:38  1145807
>>1145788
Даже в Java планируют отказаться от статической типизации к 12й версии, потому что это уже давно устарело.
Аноним 25/02/18 Вск 16:26:44  1145808
>>1145807
> Java
> Считать говно уровно кобола хорошим примером
Аноним 25/02/18 Вск 16:44:44  1145819
>>1145807
Шизик, ты почему режим не соблюдаешь? Опять какой-то бред несешь.
Аноним 25/02/18 Вск 17:44:54  1145859
932309542.jpg (22Кб, 413x395)
>>1145807
Аноним 25/02/18 Вск 21:53:38  1145984
000000000000000[...].png (150Кб, 500x441)
>>1145807
Хоть чел и толстит, но все же, я тоже стал задумываться - нафига статическая типизация. Нет, конечно, строгая типизация нужна (чтобы не складывать строки с числами), но нафига статическая?

>Якобы она помогает ловить самые страшные ошибки и прям еще на этапе компиляции.
Блин, да так и так тесты писать. Типа нужно больше в тестах страдать? Да нет, зачастую в динамических языках тесты еще короче, за счет динамизма исполнения (и не нужно байткод или рефлексию теребить ради динамизма). И если ты пишешь функции через if/switch, где сразу отбрасываешь все кроме нужных типов, то вообще заморачиваться не нужно (да и никто никогда в этих юнит тестах особо и не заморачивается). И да, на всякие null ситуации статик-господам тоже нужно делать проверку (прям кусочек динамической радости в их суровом псевдо-статичном мире).

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

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

PS.
Ну еще и эта мода с автовыводом типов - без IDE вообще не разобраться что там вернулось с функции, так что визуально получается та же динамическая причуда, но со страданиями (бегаешь мышкой по коду и гладишь каждую переменную, хотя ты вроде как взял язык со статик типизацией).
Аноним 25/02/18 Вск 21:56:23  1145987
>>1145984
У меня к тебе пару вопросов:
1) Какой максимальный объем проекта, который ты писал? В строках кода.
2) Писал ли ты когда-нибудь на хаскеле или другом подобном языке, где система типов гораздо более мощная, чем то говно, которое есть в жаве
Аноним 25/02/18 Вск 22:42:21  1146001
>>1145987
>1) Какой максимальный объем проекта, который ты писал? В строках кода.
С линейкой не бегаю, да и как считать когда у тебя на пол страницы портянка из доков (особенно в интерфейсах) или в чужом проекте (наверное любители помериться ЧСВ придумали какую-то линейку для системы контроля версий, но я не в курсе)? Скажу, что пишу более 12 лет (прям работаю, а не там в школе бэйсик в тетрадке рисовал или дома игрался), проекты были разные и очень большие и видел всю энтропию с которой обрастает любой код (зачастую из-за проблем документации и каких-то разъясняющих моментов для всей команды).
Так что тут вопрос скорее в том, как решать проблему возрастающей сложностью и то что статические типы не особо тут и помогают (так как на большой проект у тебя будет херова туча абстрактных сущностей, которые ты тупо в голове не удержишь чтобы даже понять, а в динамик языке у тебя всегда по сути будут либо контейнеры (перечисления), либо дата-структуры (данные), либо примитивы - чаще строки, булев и целые числа).

>2) Писал ли ты когда-нибудь на хаскеле или другом подобном языке, где система типов гораздо более мощная, чем то говно, которое есть в жаве
Чем тебе более "мощная" система типов спасет? Как я уже говорил, проблема и не в типах, а в возрастающей сложности. Единственное что тут может спасти - это обобщаться сложность (абстрагировать, упрощать, сводить к общему). Есть ли в хаскеле инструменты или парадигмы ФП позволяющие делать это? В ООП есть (это особо ярко видно когда в методах почти декларативно (можно сказать - на боле высоком уровне) делаются вызовы какие-то объектов и таких вызовов не много и иногда даже нет управляющих конструкций)
Аноним 25/02/18 Вск 22:48:27  1146009
>>1146001
...один момент.
Я не хочу сказать, мол вот что-то есть в ООП, а в ФП этого нет и типа плохо, "зафасадить" можно в любой парадигме это и так понятно. Я как раз спрашиваю есть ли какие-то свои другие инструменты в ФП? Потому что если нет, то ничем это от того же ООП не будет отличаться (куева туча сущностей и сидишь собираешь пазл по этим типам)
Аноним 25/02/18 Вск 22:49:46  1146010
>>1146001
Тебе определенно стоит изучить ФП. Расписывать не буду - раз у тебя 12 лет опыта, то ты гуглом пользоваться, наверное, умеешь. Сейчас со стороны прям очевидно, что у тебя достаточно узкий кругозор не хочу обидеть, извини, если что.

мимо
Аноним 25/02/18 Вск 22:52:17  1146012
>>1146010
Дваждую. Это как пытаться объяснить нахуя нужен дворак, человеку который привык пользоваться кверти.
Аноним 25/02/18 Вск 23:30:56  1146029
>>1145984
>Пока очередная жесть компилится - скрипт уже падает в райнтайме
Пофиксил.
Срач динамика vs статика - это надежды против гарантий, почему последнее в разработке крупных систем предпочтительнее, надеюсь, объяснять не нужно. Наличие null в текущем виде - очевидный проеб для современного языка, дизайнеры того же свифта оказались более обучаемыми.
Я вообще охуеваю от того, что эта тема так часто поднимается. Разве не очевидно, что если что-то можно спихнуть на надежный кудахтер, который не ошибается и не устает - то это сделать нужно? Никто же не спорит, что ci/cd - это пиздато. Перенос проверок из райнтайма в компайлтайм - то же самое.
Аноним 25/02/18 Вск 23:42:47  1146031
>>1146029
Более того, тесты придуманы не для того, чтобы проверять типы, чем должен заниматься компилятор.
Тесты придуманы для того, чтобы проверять логическую корректность кода, дизайнить интерфейс до его реализации и для дублирования логики другими словами, опять таки для увеличения надежности.
Аноним 25/02/18 Вск 23:46:49  1146033
>>1146010
Ну так объясни. Я прекрасно имею представление о ФП, я просто не понимаю, что ты хочешь там выдать за серебряную пулю?

На самом деле ни ООП и тем более ни ФП (без обид, но многие ФП-сторонники и не щупали больших проектов) не имеет инструментария для решения задач такого уровня.

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

Можно ли так сделать (обобщить/абстрагировать) это в ФП до такого уровня - да конечно можно, можно и в ООП. Но возвращаясь к нашей теме - статическая типизация тут роли не играет вообще и никак не поможет.

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

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

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

Не хочу холиварить, но за 12 лет опыта, можно проанализировать весь опыт и понять - что писать приложение быстро и просто - куда важнее долбежки в типы, рефлексию, дженерики и паттерны (некоторые).
Аноним 25/02/18 Вск 23:53:36  1146034
>>1146033
Типичная необучаемая обезьяна. Скриптопараша в игровых движках нужна, для того, чтобы
1) Максимально сократить срок получения результата для вещей, которые подбираются опытным путем. Нет нужды пересобирать все двигло для обновления логики поведения моба. За 12 лет ты мог заметить что кресты пиздец как долго собираются
2) Логику часто пишут геймдизы и прочие люди, которые вообще в рот ебали это ваше программирование. Еще для них придумали блюпринты. Может ты тоже будешь на блюпринтах теперь кодить? Быстро и просто, никакой долбежки!
Аноним 26/02/18 Пнд 00:17:38  1146043
>>1146034
Как же тебя разорвало. Пример с играми, был просто примером из реального мира, о том как решают проблемы со сложностью и о том как та самая типизация там и ненужна вообще (и даже мешает - пример с долгой компиляцией С++).
Нечто подобное делается и в крупных приложениях, достигая декларативного эффекта, но пример оттуда был бы какой-то абстрактный (поэтому я показал пример на играх).

То есть, мы обсуждаем проблему типизации и о том как она не нужна (и даже теряется в крупных проектах, так как требование к тестам увеличивается и так), а ты мне отвечаешь как делают игры - как тут можно вообще диалог вести, когда ты даже не держишь нить разговора?
Аноним 26/02/18 Пнд 00:20:06  1146044
>>1146031
>Более того, тесты придуманы не для того, чтобы проверять типы
Лол, проиграл чуток с этого мастера знаний. Тесты придуманы чтобы проверять программу на ошибки (корректность работы программы), а что там стало причиной ошибки, дело третье.


Аноним 26/02/18 Пнд 00:27:39  1146048
>>1146033
>Ну так объясни.
Я же сказал, что не буду объяснять. Если тебе интересно, то ты и без меня можешь сам во всем разобраться, текста на эту тему написаны гигабайты. Ни о какой серебряной пуле я не говорил, и никакого "своего мировоззрения" я не обозначал и отстаивать не собираюсь; к апологетам type-oriented programming я тем более никакого отношения не имею. Я сказал ровно то, что постом выше написано.

Если у тебя есть какие-то конкретные вопросы, я постараюсь помочь, но катать пасты на изъезженные темы мне элементарно лень.
Аноним 26/02/18 Пнд 00:28:33  1146049
>>1146044
Тесты не проверяют программу на корректность.
Аноним 26/02/18 Пнд 00:35:05  1146050
staticmaster.png (411Кб, 800x403)
>>1146029
Очередная вера в то, что проблема типов самая яркая проблема в программирование.
То что программа падает в рантайме не самое страшное для динамического языка, у динамического языка выше шанс появления плавающих ошибок - то есть, чтобы писать корректно на динамическом языке - скилл должен быть выше.
Гордиться тем, что компилятор показывает, что ты где-то всрал тип данных (корректность данных для динамического языка) - ну просто верх скила разработки, да?
Аноним 26/02/18 Пнд 00:41:49  1146054
>>1146048
>Я же сказал, что не буду объяснять.
В разговор то зачем влез тогда?
>Если тебе интересно, то ты и без меня можешь сам во всем разобраться
В чем разобраться то? Я говорю нет там инструмента, мол фигня полная, и типы не решают (кроме аутизмо-проблемы). Да и вроде (точно не помню) само ФП к типам никого отношения не имеет, матанская парадигма, далекая от мира железок в пк.
>текста на эту тему написаны гигабайты.
Ох, какой манямир. Тут ты меня на лопатки положил буквально.

Вы все такие из ФП маневровые? :)
Аноним 26/02/18 Пнд 00:43:44  1146055
>>1146049
В золотой фонд цитат.
Аноним 26/02/18 Пнд 00:48:58  1146056
>скилл должен быть выше
Сильное заявление. Ну ты понял, превозмагатель.
Корреляции со скилом не вижу. Мы всё же не в 60 году на перфокартах программируем, когда один раз написал и ждешь неделю. Программу ты запустишь и проверишь на работоспособность в большинстве случаев. Ошибка выявленная на этапе компиляции вылезет ещё до запуска программы. Это экономит время. Время - деньги. Всё просто. Потому, кстати, nullable references и были названы ошибкой на миллиард. Хорошо, что всего через 50 лет в современных языках и это проверяется на этапе компиляции. Значит ли это что нужно обмазываться типами как сумасшедший и пытаться выявить все возможные ошибки на этапе компиляции? Нет. Разумно использовать возможности компилятора для облегчения себе работы? Да.
Аноним 26/02/18 Пнд 00:49:59  1146057
>>1146056
>>1146050
Аноним 26/02/18 Пнд 00:50:24  1146058
>>1146050
>Очередная вера в то, что проблема типов самая яркая проблема в программирование.
Это где я такое писал? Про "яркость" проблемы ни слова не было, было про то, что статика > динамика.
>Гордиться тем, что компилятор показывает ... верх скила разработки,
Это где я такое писал? Ты частенько приписываешь мне что-то левое, на что в сообщении не было даже намека, это что-то в твоем динамическом мирке опять попуталось?
Особенно проиграл с "верх скила разработки". Намакачил такой везде нужные типы данных в динамикодрисне, обмазал тестами и побежал одноклассникам хвастаться, это же ебовый скилл, не то, что у статикодебилов, да? Лолблядь.
Аноним 26/02/18 Пнд 01:07:51  1146067
>>1146054
Ты какую-то хуйню несешь. С тобой пытались нормально поговорить, а ты реагируешь, как школьник. Алсо, я не из ФП, а ты долбоеб 1с-ник.
Аноним 26/02/18 Пнд 01:08:35  1146069
>>1146055
Подпиши "Капитан Очевидность". Алсо, можешь почитать какую-нибудь книку про тестирование - столько золотых цитат для себя откроешь, что охуеешь просто.
Аноним 26/02/18 Пнд 01:10:59  1146070
>>1146056
>скилл должен быть выше
>Ошибка выявленная на этапе компиляции вылезет ещё до запуска программы
А должно быть так: Ошибка выявленная на этапе тестирования.
Видишь в чем разница? И каких результатов может достичь тестированием в противовес одной только компиляции (на которую все так надеются и готовы даже время свое разменять)?!
Вот понимание этого и есть "скилл должен быть выше", так что юзай пока языки со статической типизацией.

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


>Особенно проиграл с "верх скила разработки".
С точки зрения типов, динамическое программирование это работа с "высокополиморфными" типами данных. Понятно, что тут уже компилятор тебе не поможет и на плечи программиста ложиться дополнительные условия - более качественное покрытие тестов, более качественное написание документации и предоставляемой информации по всем типам с которыми работает функция.
Конечно это скил выше.
Аноним 26/02/18 Пнд 01:20:12  1146073
>>1146070
Скажи ещё, что прокомментировать каждую строчку = скил. Нет, братишь, это проёб времени. Ты под скилом какие-то левые вещи подразумеваешь, отношения к непосредственно программированию не имеющие. Писать документацию я могу и джуниора посадить. Ух у него скил вырастет! Здоровый сука!
Аноним 26/02/18 Пнд 01:33:22  1146075
>>1146073
Представь ты берешь на работу программиста и открываешь его код. Ты видишь отсутствие или огрызки документации, отсутствие или частичное покрытие тестов (или некачественное их покрытие).
Какое сразу мнение о нем будет как о программисте?
Конечно это часть работы программиста и даже понимание того что это часть твоей работы - это уже плюс в скилл.
Тесты - гарант качества твоего кода (хотя бы что оно вообще работает), а дока - это описание работы твоего кода (для остального коллектива, ты же не один программист. Да и даже для тебя через год)

Аналогия (если совсем туго) - электрик провел проводку - но не сделал принципиальной схемы подключения, это часть его работы? - да. Является ли это показателем уровня его профессионализм? - да. Даже если он там красиво подключил все и все правильно подключил.
Аноним 26/02/18 Пнд 01:35:50  1146076
>>1146075
Попробуй писать код понятный без коментариев. Вот там и будет скил, малыш.
Аноним 26/02/18 Пнд 01:37:41  1146077
>>1146075
>электрик провел проводку - но не сделал принципиальной схемы подключения
>писать документацию я могу и джуниора посадить.
И электрик посадит джуна принципиальную схему рисовать, лол.
Аноним 26/02/18 Пнд 01:41:01  1146078
>>1146076
>Попробуй писать код понятный без коментариев. Вот там и будет скил, малыш.
Ох, ты походу еще не знаешь что такое формат для автогенерации кода типа javadoc или phpdoc..., ты думаешь я о каких-то комментариях пишу, типа к коду обычные такие, да? Ахах, жесть. Вот вам и скилл
Аноним 26/02/18 Пнд 01:43:40  1146080
>>1146078
>fix
>автогенерации кода
автогенерации доки
Аноним 26/02/18 Пнд 09:16:38  1146166
>>1146070
>Тебе не нужно это писать, это же выводы по твоим словам
А ты сосешь хуй, это же выводы по твоим словам.
>Если же я ошибся, поправь меня, скажи, почему мне тогда стоит пожертвовать
Как из того, что ты "ошибся" (я не писал, что типизация - самая главная проблема погроммирования), следует убеждение тебя же в превосходстве статический типизации? Как ты код с такой логикой пишешь?
>пожертвовать гибкостью динамического языка, мета-программированием, высоким уровнем полиморфизма типов
Да ничем ты не жертвуешь, все то, что в динамикодрисне ты делал неявно, в статике ты просто делаешь явно на уровне кода. Что параметрический полиморфизм, что аннотации к типам. Ты ведь когда пишешь код, в голове держишь инфу, что вот эта переменная должна быть строкой, а вот эта - булом? Нет, блядь, я документацию на это напишу, но аннотации мне поставить трудна, не допущу, чтобы грязный комплухтер облегчил мне жизнь. А нужно зарефакторить код или дописать - так начинаем рыться в доках, чтобы восстановить в голове как там чо, не дай бог нам типизация в этом деле поможет.
Гарантии > надежды. Твоя "гибкость" - это гибкость ошибаться. Именно поэтому тебе стоит пожертвовать этой "гибкостью".
>Понятно, что тут уже компилятор тебе не поможет и на плечи программиста ложиться дополнительные условия
Школьный хоркор. Без ci/cd тоже нужно больше руками делать, выкинем его, покажем одноклассниками свою скилловость.
У меня просьба, можешь без пиздежа написать, сколько на каком языке профессионально погромировал за деньги и какова была твоя роль?
Аноним 26/02/18 Пнд 09:18:41  1146168
Даунидзе пхп-макака с 12 летним стажем, расскажи почему все крупные конторы из жс мира внедряют статическую типизацию?
Miscrosoft = Typescript
Google = Dart
Facebook = Flow
Может быть они знают чего-то, чего не знаешь ты?
Аноним 26/02/18 Пнд 09:54:23  1146185
>>1146168
Ты не понял. Динамическая типизация - это для элиты. Для скиловых ребят. А всякие макаки пишут на статике. Дураки потому что, которым не суждено подняться до уровня великих динамических программистов. Ну правда же мам? Мам, ну правда же!
Аноним 26/02/18 Пнд 21:00:22  1146556
>>1146185
Ну так и есть же - статика для глупых. Размен времени написания кода и теребоньканьем компилятора, ради отлова базовых ошибок.
Пока питоно-макака завершает проект, какой-нибудь джава господин накручивает еще одну фабрику на фабрику фабрик.

Не даром го послал все нафиг и сделал быструю компиляцию и ложил болт на джинерики (что в действительности является говно-хаком в мире Статики<Фигатики>).

>>1146168
А нафига с говно-ФП носились в 2010?? Нахуя с асинхронной херней носятся, которая оправдана только для хайлода и чатиков (зато каждый школьник теперь знает как это важно в его пет-проекте). Просто хайп на хайпе. Появиться еще что-то, будут так же 5-10 лет теребонькать.
Аноним 26/02/18 Пнд 21:10:18  1146569
>>1146556
Пишу абстрактную фабрику абстрактных фабрик абстрактных билдеров абстрактных сущностей. И хули ты мне сделаешь, омежка?
Джава-боярин
Аноним 26/02/18 Пнд 21:27:06  1146596
>>1146168
>Facebook = ReasonML
Пофиксил.

>>1146556
Ты очень тупой и иррациональный. Либо у тебя просто слишком мало знаний, либо ты сейчас по факту всерьез отрицаешь научный метод, математику и логику.
Аноним 26/02/18 Пнд 21:33:48  1146605
>>1146596
>Ты очень тупой и иррациональный.
Жесткое утверждение, хм...
>Либо у тебя просто слишком мало знаний,
Пошли сомнения, возможно...
>либо ты сейчас по факту всерьез отрицаешь научный метод, математику и логику.
Ох, тут нужно больше авторитетов озвучить, даже может имена ученных, чтобы казаться еще более внушительным и убидительным.

Диагноз: НЕБОМБИТ
Аноним 26/02/18 Пнд 21:34:41  1146607
>>1146569
>Пишу абстрактную фабрику абстрактных фабрик абстрактных билдеров абстрактных сущностей. И хули ты мне сделаешь, омежка?
>Джава-боярин
Ничего страшного в этом нет, главное не стыдить себя за это.
Аноним 26/02/18 Пнд 22:07:37  1146627
>>1146605
>убидительным.
Собственно, хорошо подытоживаем все твои посты в этом треде.
Аноним 26/02/18 Пнд 22:28:24  1146631
>>1146556
>теребоньканьем компилятора, ради отлова базовых ошибок.
Чего его теребонькать - он сам в фоне работает. Я так понимаю что линтерами ты тоже не пользуешься. Но что взять с убогого?
И да, ради отлова ошибок опечаток и прочего дерьма. Я же не дурак на каждый чих прогонять тесты.
>Пока питоно-макака завершает проект
Проект на вечер. Ну вот тут всё и стало понятно. Динамикодрисня отлично подходит для написания write-only скриптиков. Файлики там перекинуть, лэндинг с анимцией. О какой-либо работе в команде и поддержке речи не идёт. Что там наворотили эти макаки хуй поёмешь. Проще заново надристать за пару вечеров, да ещё и бабоса с заказчика поиметь.
Аноним 27/02/18 Втр 09:05:31  1146751
>>1146627
Тот случай, когда все еще пригорает, но мозгов хватает только докопаться до кокографии (и это на двачах то...). Спрячься уже, хватит растекаться по треду
Аноним 27/02/18 Втр 09:39:49  1146765
>>1146631
>Я же не дурак на каждый чих прогонять тесты.
В том то и был месседж, что тесты ты можешь прогнать, скажем, в конце работы и все, а компиляция каждый раз обязательна и в большом проекте она всегда ощутима, даже на ваших джавах (на го может тоже, не видел крупного проекта на го).

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

>Динамикодрисня отлично подходит для написания write-only скриптиков.
Как раз таки нет, лет наверное 10-15 назад (а может и раньше), скрипты вообще ощущались как новой вехой в программирование (даже были писаки про новый уровень программирование, после высокоуровневого). Получалось то, что от кода требовалось больше гибкости за меньшие усилия и вот скрипты как раз под это все удачно заходили.
Но в реале, в ИТ правит маркетинг и глупость (и юность), поэтому люди теперь готовы долбаться в обобщенное программирование (дженерики), в рефлексию, даже ковырять байткод, и все ради того, чтобы сделать шаг назад и юзать компилятор.
Я понимаю что где-то кто-то залил в уши про эту статику, но если прям реально взвесить - проверку типов или мета-программирование, то ответ будет очевиден (к сожалению, думать своей головой в ИТ не принято).
Аноним 27/02/18 Втр 09:42:51  1146766
>>1146765
Ты так и не ответил, сколько на каком чзыке профессионально занимался разработкой.
Аноним 27/02/18 Втр 10:10:44  1146768
>>1146765
Мудила, расскажи как ты пишешь тесты для интерфейсов. И как ты потом это говно рефакторишь.
Аноним 27/02/18 Втр 10:39:24  1146785
>>1146766
>Ты так и не ответил
Ты спрашивал?
Работа:
С++ - 4 года
Java - 8 лет

Халтура и петпроеты (если не глупый, то поймешь что пересекаются):
php - 5-6 лет (сейчас нет),
python - 5-6 лет (по сей день)
go - 2 года (по сей день)
ну js под фронт когда надо, не помню когда в веб залез, наверное лет 9-10

А вообще трудно считать, если в пхп я там много писал, то в го сейчас больше ковыряюсь чем прям пишу (как, наверно, многие тут)
Аноним 27/02/18 Втр 10:43:10  1146787
>>1146768
>тесты для интерфейсов
А ты одаренный.
Аноним 27/02/18 Втр 10:54:11  1146800
>>1146751
Чини детектор, макака.
Аноним 27/02/18 Втр 11:00:59  1146801
https://research.swtch.com/vgo-import
> Of course, deleting an old function works only when all the uses can be found, or when users understand that they are responsible for keeping up with changes, as was the case in a research system like Plan 9. For exported APIs, it's usually much better to leave the old name and old behavior intact and only add a new name with new behavior. Rich Hickey made the point in his “Spec-ulation” talk in 2016 that this approach of only adding new names and behaviors, never removing old names or redefining their meanings, is exactly what functional programming encourages with respect to individual variables or data structures. The functional approach brings benefits in clarity and predictability in small-scale programming, and the benefits are even larger when applied, as in the import compatibility rule, to whole APIs: dependency hell is really just mutability hell writ large. That’s just one small observation in the talk; the whole thing is worth watching.

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

https://www.youtube.com/watch?v=oyLBGkS5ICk
Аноним 27/02/18 Втр 11:05:55  1146802
>>1146801
Мудак который не осилил теоркат, поэтому придумал своих ебаных терминов для кривого решения уже решенных задач?
Аноним 27/02/18 Втр 11:43:02  1146813
>>1146802
Зарепортил не осилившего английский школьника.
Аноним 27/02/18 Втр 11:57:58  1146820
>>1146801
Это же О из солида.
Аноним 27/02/18 Втр 12:02:50  1146828
>>1146785
А, теперь понятно, джавадебил настрадался и решил, что все языки со статической типизацией такие же деревянные, как и джава, и что в этом виновата типизация.
Аноним 27/02/18 Втр 12:03:26  1146830
>>1146765
Разве скомпилированное не работает быстрее, чем скрипт?
Аноним 27/02/18 Втр 13:01:15  1146853
>>1146820
Вообще-то это про package management и versioning вы тут все принципиально не читаете то, что написано?, но сама базовая идея, конечно, та же самая. Классы, правда, обычно не версионируются.
Аноним 27/02/18 Втр 13:01:58  1146854
>>1146830
В общем случае - нет. Некорректно вообще сравнивать какую-то абстрактную производительность в вакууме какого-то абстрактного "скомпилированного" и абстрактного же "скрипта".
Аноним 27/02/18 Втр 14:11:37  1146899
>>1146828
Только вот в Джаве от статической типизации откажутся в 12й версии. Сначала сделают её опциональной, а потом и вовсе задепрекейтят. А годауны будут продолжать сосать.
Аноним 27/02/18 Втр 14:43:42  1146913
>>1146853
Ты не поверишь, но солид применим не только к классам, там вообще речь о модулях. А модулем можеть быть даже небо, даже Аллах.
Аноним 27/02/18 Втр 15:54:10  1146943
>>1146913
Я потому и сказал, что базовая идея та же (их, этих базовых идей, в программировании вообще не так уж и много). А статья гофера и рилток кложуриста - про конкретную проблему с пакедж менеджерами и версионированием зависимостей.

Про SOLID уже полвека как все вроде бы знают, а версионированных апи библиотек что-то не особо видно.
Аноним 28/02/18 Срд 23:15:14  1147748
Что случилось с gopherjs dom?
Сайт мертв, пакет удален.
Только хотел поковырять изоморфность.
Аноним 01/03/18 Чтв 03:41:43  1147811
>>1147748
Предполагаю, что начали отпочковываться хайпанутые, которые обычно держаться на хайпе 2-3 года, а как только язык становиться мейнстримом, бегут куда-то (но это не критично).
Аноним 01/03/18 Чтв 04:41:23  1147820
>>1146899
> от статической типизации откажутся в 12й версии

Cсылку на roadmap, пиздабол. То что у тебя в голове голоса от чего то отказываются, не считается. На 10/11 еще с планами не определились.
Аноним 01/03/18 Чтв 05:16:03  1147821
>>1147820
Не трожьте его, он думает что он тролль.
Аноним 01/03/18 Чтв 06:41:00  1147834
>>1123528
> Путь к репам прямо в коде
Вот тут ты и обосрался
Аноним 01/03/18 Чтв 12:05:05  1147907
>>1123528

> gofmt
Ты понимаешь слово "унификация"?

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

> Путь к репам прям в коде
Ну это толсто. У тебя на компе директории так называются "github", "gitlab", whatever you want. С гитхаба ты тянешь, тем же go get или др. PM-амими. (go dep, vgo). А боишься, что Github отключат, так поставь себе gogs, не будь нищенкой.
Аноним 01/03/18 Чтв 14:44:00  1147982
>>1147811
Всё в порядке, видимо сервер падал.

>>1123528
>GOPATH
Можно менять в любой момент, делать для каждого проекта.
>gofmt
Удобно, но опять таки не заставляют пользоваться?
>Путь к репам прям в коде
Есть vendor, в разработке go dep

Аноним 01/03/18 Чтв 16:27:56  1148025
Поясните мне кто-нибудь почему это говно так популярно? Процедурное программирование в 2к18? Вы охуели чтоли там? Где замыкания, где монады?
Аноним 01/03/18 Чтв 16:34:14  1148032
>>1148025
Во-первых, не очень популярно (выше уже обсуждали, что он второй год как теряет позиции, еще не успев взлететь). Во-вторых - гугл же, маркетинг, вот это все. Языки становятся популярными только благодаря маркетологам больших корпораций.
Аноним 01/03/18 Чтв 17:12:48  1148045
>>1148025
>Поясните мне кто-нибудь почему это говно так популярно?
Назови еще один компилируемый язык со сборщиком мусора и стабильной версией.
>Процедурное программирование в 2к18?
Никто не мешает писать в декларативном или ОО.
>Где замыкания?
Они внезапно есть. Как и анонимные функции, и функции высшего порядка.
Аноним 01/03/18 Чтв 17:16:39  1148046
>>1148032
А еще язык простой и легкочитаемый.
Аноним 01/03/18 Чтв 17:22:17  1148049
Этот говноланг и пару лет не протянул. Гугл накручивал изо всех сил, но в итоге рыночек опять порешал.Все крупные кампании, которые поддались маркетингу, сейчас в спешке переписывают свои поделия на чем угодно, лишь бы оно не было на го
Аноним 01/03/18 Чтв 17:43:22  1148058
>>1148045
>Назови еще один компилируемый язык со сборщиком мусора и стабильной версией

Rust же

>Они внезапно есть. Как и анонимные функции, и функции высшего порядка

глянул на их фп. После Scala выглядит как говно
Аноним 01/03/18 Чтв 17:51:44  1148061
>>1148058
>Rust
>со сборщиком мусора
А ну всё спасибо до свидания
Аноним 01/03/18 Чтв 18:02:06  1148068
>>1148061
>А ну всё спасибо до свидания

а ну извините наизусть все нюансы не знаю. там да нету сборщика мусора, но ты и условия поставил в которые только Go может и вписывается. А нахуя эта компилируемость тебе нужна, если JVM выебет го по скорости все равно
Аноним 01/03/18 Чтв 19:14:40  1148118
>>1148046
>простой
Нет.

>легкочитаемый.
Ну, для тех, кто не видел ничего, кроме крестов, - да, легкий синтаксис может казаться культурным шоком и божьим откровением. А я бы вот не стал называть "легкочитаемым" язык без параметрического полиморфизма, например. Вообще, это хуево, когда язык оценивают иррационально, по таким вот субъективным характеристикам - "читаемый", "легкий", "приятный", "лого прикольное))" - потому что хрошие показатели по этим характеристикам есть заслуга маркетологов, а не инженеров.
Аноним 01/03/18 Чтв 19:17:57  1148120
>>1148045
>Назови еще один компилируемый язык со сборщиком мусора и стабильной версией.
Ты не поверишь, но java, scala, clojure, kotlin, swift, ocaml, haskell, erlang, elixir... ничего не забыл?
Аноним 01/03/18 Чтв 19:25:46  1148130
>>1148120
> ничего не забыл?
паскаль
Аноним 01/03/18 Чтв 19:28:54  1148132
>>1148049
>переписывают свои поделия на чем угодно, лишь бы оно не было на го
Пруфы?
Аноним 01/03/18 Чтв 19:33:50  1148133
>>1148130
Черт. Это фиаско, братан. Вирт не простит.
Аноним 01/03/18 Чтв 19:45:53  1148140
>>1148120
Зачем ты перечисляешь парашу на виртуальных машинах?
Аноним 01/03/18 Чтв 20:18:22  1148148
>>1148132
Илюша, please.
Аноним 01/03/18 Чтв 21:08:47  1148175
>>1148132
dropbox переписали хранилище с го на rust потому что при высоких нагрузках сжирает всю память
Аноним 01/03/18 Чтв 21:34:16  1148185
>>1148175
Будем честны.
1 Не переписали хранилище, а одну из подсистем.
2 Переписали потому что хотелось поиграться с новой технологией.
Аноним 01/03/18 Чтв 21:51:14  1148193
>>1148140
Я перечисляю
>еще один компилируемый язык со сборщиком мусора и стабильной версией.
Аноним 01/03/18 Чтв 21:56:04  1148196
>>1148175
>>1148185
Как обычно
Ожидание:
>Все крупные кампании, которые поддались маркетингу, сейчас в спешке переписывают свои поделия на чем угодно, лишь бы оно не было на го

Реальность:
>Дропбокс переписал одну из подсистем, причем большая часть кода осталась на го
Аноним 01/03/18 Чтв 23:10:54  1148250
>>1148120
В свифте rc.
Аноним 01/03/18 Чтв 23:18:27  1148263
>>1148250
Так, и?
Аноним 01/03/18 Чтв 23:45:44  1148288
>>1148120
Дебил, да хоть кресты c Boehm GC.
Аноним 02/03/18 Птн 09:29:31  1148385
>>1148263
В условиях был сборщик мусора.
Аноним 02/03/18 Птн 15:51:45  1148515
>>1148385
Ну, и в чем противоречие?
Аноним 02/03/18 Птн 19:55:52  1148632
>>1148515
В свифте нет сборщика мусора.
Аноним 02/03/18 Птн 20:09:54  1148642
>>1148632
>В свифте rc.
>В свифте нет сборщика мусора.
У тебя диссоциативное расстройство личности, или что?
Аноним 02/03/18 Птн 20:27:22  1148653
>>1148642
https://en.wikipedia.org/wiki/Automatic_Reference_Counting
Учи теорию, заебал.
Аноним 02/03/18 Птн 20:37:07  1148656
>>1148653
Ну это не стандартный gc, это более умная вещь.
Аноним 02/03/18 Птн 20:43:10  1148659
>>1148656
Да нет, gc по сути умнее. При arc тупо есть счетчик ссылок для каждого объекта, и как только он опускается до нуля - объект пидорят из памяти. Никаких тебе проходов по графу, ничего такого.
Аноним 02/03/18 Птн 20:53:54  1148665
>>1148656
>Ну это не стандартный gc, это более умная вещь.
Охуеть вообще, тебя кто, вшивого, в интернет выпустил?
Аноним 02/03/18 Птн 21:02:43  1148671
>>1148665
>пук
Аноним 02/03/18 Птн 21:28:26  1148698
>>1148671
>обосрался и не может остановиться
Аноним 02/03/18 Птн 21:30:26  1148699
Вы чу сука вы че?! RefCounting у него не GC.
Аноним 02/03/18 Птн 21:38:44  1148704
>>1148699
Если не жрёт кучу ресурсов и не парализует работу приложения во время сборки мусора, то это не считается за сборщик мусора, понял, питух?
Аноним 02/03/18 Птн 21:56:09  1148724
>>1148653
Я уже выучил, а ты?

>>1148699
Ньюфаги, сэр.
Аноним 02/03/18 Птн 22:06:41  1148740
Screen Shot 201[...].png (529Кб, 1278x1606)
>>1148699
>>1148724
С очень ебовой натяжкой можно ARC отнести к garbage collection, но в любом свифтокоммьюнити за это тебя обоссут. По сути самого понятия гарбадж нет, он не копится. Ну и вспоминаем из-за чего начался срач

>>1148120
>со сборщиком мусора

Нет сборщика мусора в свифте.
Аноним 02/03/18 Птн 22:36:54  1148754
>>1148740
Ебать, да ты упоротый, раз компьютер сцаенс по гугловой выдачи строишь.

>понятия гарбадж нет, он не копится
Ой тупооой.



>ARC differs from tracing garbage collection in that there is no background process that deallocates the objects asynchronously at runtime.[3] Unlike garbage collection, ARC does not handle reference cycles automatically. This means that as long as there are "strong" references to an object, it will not be deallocated. Strong cross-references can accordingly create deadlocks and memory leaks. It is up to the developer to break cycles by using weak references.[4]
Аноним 02/03/18 Птн 22:45:53  1148760
>>1148754
И причём тут циклы? Это не мусор. Это результат проёба программиста.
Аноним 02/03/18 Птн 22:46:10  1148761
>>1148754
Читать умеешь, зачем ты цитируешь то, что подвтерждает мои слова? Если на объект есть сильная ссылка, то это не гарбадж, объект ипользуется кем-то.
Ты ведь понимаешь, что в твоей же цитате разделяют ARC и GC? Английский знаешь?
>ARC differs from tracing garbage collection in that there is...
Аноним 02/03/18 Птн 22:59:54  1148769
>>1148761
Затем, что там прямо говорится - ARC отличается от трассирующей [сборки мусора бла бла. Да, это та же сборка мусора, про которую спрашивали в начале нити, да, она воплощена в алгоритме, а не в автономной сущности (сборщик мусора - объектов с обнуленным счетчиком), да это более слабая стратегия сборки мусора (циклы, блокирующая обработка, невозможность кастомизации), так что не знаю чем здесь гордиться.
Аноним 02/03/18 Птн 23:04:21  1148770
>>1148769
Давай ты перестанешь вилять и ответишь, в свифте есть сборщик мусора?
Аноним 02/03/18 Птн 23:06:12  1148772
>>1148770
Очевидно, нет. А сборка мусора есть. Все счастливы. Fin.
Аноним 02/03/18 Птн 23:10:28  1148773
>>1148772
Нет, сначала расставим все по местам. Раз уж ты написал
>это та же сборка мусора, про которую спрашивали в начале нити
ткну тебя носом в то, с чего начался спор. Вот этот пост >>1148120
>Назови еще один компилируемый язык со сборщиком мусора и стабильной версией.
>swift
Заметь, там сборщик мусора. Вот теперь конец.
Аноним 02/03/18 Птн 23:13:45  1148777
>>1148045
>Назови еще один компилируемый язык со сборщиком мусора и стабильной версией.
SBCL, лол
Аноним 02/03/18 Птн 23:21:24  1148782
>>1148777
Objective-C, Swift
Аноним 02/03/18 Птн 23:30:11  1148783
>>1148782
Here we go again.
Аноним 02/03/18 Птн 23:52:45  1148792
>>1148783 Про SBCL есть че?
Аноним 03/03/18 Суб 00:09:43  1148800
>>1148792
Слишком другой.
Аноним 03/03/18 Суб 00:22:58  1148805
image.png (360Кб, 1200x1200)
Аноним 03/03/18 Суб 00:27:57  1148806
15200257786410.png (325Кб, 1200x1200)
>>1148805
Аноним 03/03/18 Суб 00:37:31  1148811
image.png (362Кб, 1200x1200)
>>1148806
Аноним 03/03/18 Суб 00:59:45  1148815
15200257786410.png (333Кб, 1200x1200)
>>1148811
Аноним 03/03/18 Суб 01:12:31  1148820
image.png (383Кб, 1200x1200)
>>1148815
Аноним 03/03/18 Суб 01:18:16  1148821
15200287514090.png (348Кб, 1200x1200)
>>1148820
Аноним 03/03/18 Суб 01:26:00  1148825
image.png (420Кб, 1200x1200)
>>1148821
Аноним 03/03/18 Суб 01:51:13  1148827
>>1148825
он прекрасен!
Аноним 03/03/18 Суб 02:22:54  1148833
bgabig.png (40Кб, 150x250)
новый маскот пщ
Аноним 03/03/18 Суб 13:32:00  1148929
>>1148773
Давай сначала ты в анонах путаться перестанешь.
Аноним 05/03/18 Пнд 15:19:38  1150019
Чем заменить while ( !feof(stdin) ) {
int c = getchar();}
Нужно посимвольно считывать строку до \n
Аноним 14/03/18 Срд 14:48:27  1155596
Когда следующая версия Go выходит? Где почитать о планах развития?
Аноним 14/03/18 Срд 16:21:40  1155629
>>1119389 (OP)
>Не нужно пиздеть про толстые бинарники, их размер значительно уменьшается одним маленьким Makefile.
Какие make-опции нужны, чтоб уменьшить?
Аноним 14/03/18 Срд 16:56:42  1155647
>>1155596
>Go 1.10 (February 2018)
>Go 1.9 (August 2017)
>Go 1.8 (February 2017)
>Go 1.7 (August 2016)
>Go 1.6 (February 2016)
>Go 1.5 (August 2015)
Даже не знаю.
Аноним 14/03/18 Срд 18:00:16  1155708
>>1155647
Следующая будет 1.11 или 2.0?
Аноним 15/03/18 Чтв 09:11:21  1155955
>>1155647
Выпускают каждые пол-года. Шо есть, то и вываливают.
Аноним 15/03/18 Чтв 09:22:10  1155957
Анон, объясни популярно, нахрена нужен GOPATH? Нигде нету такой хуйни, а в Го есть. Почему было нормально не сделать как в жабаскрипте node_modules, или в питончике viritualenv? Да вообще, решений заебись сколько на любой вкус. GOPATH - это же как член гвоздем к стене прибить. Я недавно попробовал Go в Atom пощупать, а оно потребовало этот сраный GOPATH. Я хочу с разными проектами работать, что мне каждый раз перезапускать Atom с другой GOPATH?
Аноним 15/03/18 Чтв 09:38:36  1155958
>>1155957
Я подозреваю, что просто напохуй на говне и палках сделали, чтобы заработало побыстрее, а потом случилось "Нет ничего более постоянного, чем временное", а хомяки растащили как есть.
Аноним 15/03/18 Чтв 10:06:17  1155970
>>1155957
>Нигде нету такой хуйни, а в Го есть.
Попизди мне тут, в питонах PYTHONPATH есть.
Аноним 15/03/18 Чтв 11:33:02  1156009
>>1155957

java classpath. и ничего. Придумали Maven, который прекрасно с этой хуйней работает.
Аноним 16/03/18 Птн 08:22:53  1156542
>>1155970
Ты должно быть особо тупой индивидуум, если не понимаешь разницу между PYTHONPATH и GOPATH.
Аноним 16/03/18 Птн 09:32:24  1156555
>>1156542
Ты, должно быть, хипстор-смузихлёб, если даже не умеешь в абстракции.
Аноним 17/03/18 Суб 12:53:41  1157198
>>1123651
>уже найдено корректное, блядь, решение проблемы зависимостей и сборки проекта - но нет, нахуя нам это

Это в принципе исчерпывающее описани говна.

Говно это сплошные nih костыли и хуевые решения проблем, которые уже 10-20-30-40 лет как решены.

Эти долбоебы выдумали свой ассемблер, который как бы не ассемблер, но как бы и не ir в духе llvm. То есть они предумали ir для каждой архитектуры в отдельности, чтоб было проще компилировать из одних сырцов в разные аритектуры, но не смогли в единый ir.

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

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

https://medium.com/@arschles/go-experience-report-generics-in-kubernetes-25da87430301

И главное в дугих языках это все давно уже решено. Ну, впрочем, вперед, хайптрейн.
Аноним 17/03/18 Суб 14:29:43  1157269
>>1157198
>https://medium.com/@arschles/go-experience-report-generics-in-kubernetes-25da87430301
Просто пиздец. Шел 2018 год...
Аноним 19/03/18 Пнд 20:03:11  1159114
Почему Go-вноеды такие сектанты?
Вчера нашел тему на хабре, где шизик на полном серьезе говорит, что Go лучше, т.к. в нем нет тернарного оператора и нормальной обработки исключений, из-за чего сложнее писать говнокод. Пиздец просто, только выиграли, нахуй.
Аноним 19/03/18 Пнд 21:28:48  1159184
Писал тут недавно сервис, который слушал события, клал их в очередь и по-разному обрабатывал и всё у меня было зашибись пока не оказалось, что в какой-то ситуации происходит сверхдолгий блокирующий вызов, который надолго ложит обработчик, переполняя очередь и всё такое (подозреваю, кстати, дефолтный http-клиент, вроде как он по умолчанию не выставляет таймауты и ждёт ответа вечно).
Я сначала захотел сделать пул воркеров, чтобы если один замрёт - остальные продолжили обрабатывать сообщения, но потом понял, что таким макаром могут зависнуть вообще все воркеры, особенно, если блокирующий случай часто повторяется.
Начал инвестигейтить вопрос - и такое ощущение, что стартовавшую горутину извне убить вообще нереально, если она сама не очнётся. Все эти tomb'ы, pkg/context и прочие ориентриованы на то, что горутина сама в какой-то момент проверит, и, если ей пришёл сигнал сдохнуть - самовыпилилась.
Что за хуйня, анон? Я действительно не могу убить застакавшийся процесс (ну бывает такое, да)? Как вообще стоит поступать в таких ситуациях?

Я пока придумал два варианта:
1) Поднять x go-демонов и процесс-супервизор, который будет за ними следить. Демоны будут слушать сообщения и рапортовать о взятых и завершённых задачах (например, в простенькую базеечку), а он, если какой-то демон долго не отвечает, будет фигачить туда sigkill и запускать обработчик заново. Точно сработает, но тогда я как бы лишаюсь основного плюса го, "легкой" конкурентности/многопоточности, прямо в среде прилжения - с тем же успехом, я и на богомерзком php напишу то же самое.
2) Спавнить ещё один go'шный процесс через какой-то гипотетический аналог fork, прокидывать туда данные через сокет и пусть он их обрабатывает; Если замрёт и не ответит через указанное время - sigkill ему, ибо нехуй. Это выглядит немного получше, так как сами демоны получаются более легковесными да и fork, если есть, сократит время бутстрапа. Ну и можно гошные плагины заиспользовать, вроде, механизм похож. Минусы примерно те же самые, приходится городить какой-то хак, вместо того, чтобы язык помогал мне решать мою задачу.
3) Запускать отдельную горутину-супервизор, которая считает время исполнения каждой задачи - и если она больше таймаута - отсылает туда cancel и, не дожидаясь завершения обработчика, порождает новый. По логике, "старый" обработчик когда-то отвиснет и, или сразу отпадёт, или закончит выполнение и отпадёт всё равно. Это тот вариант, на котором я остановился, потому что он тупо проще (заиспользовал, кстати, go-playground/pool). Вижу такие минусы: во-первых, "зависающие" горутины копятся; во-вторых, нарушается порядок выполнения задач (мне пришли две задачи, А и Б. Воркер взял задачу А, завис на полчаса. Через минуту супервизор понял, что происходит неведомая хуйня и стартанул нового воркера, который взял и успешно обработал задачу Б. А через двадцать девять минут воркер один отлагал и закончил с задачей А. В итоге, последовательность обработки событий была нарушена).

ЧЯДНТ?

P.S. Гуру, которые мне сейчас скажут, что нужно просто писать код без дедлоков и прочих радостей: бывают проекты, на которых работает туева хуча разработчиков, и я не хочу, чтобы построенный мной сервис застакался оттого, что какой-то молодец написал
```
mutex.Lock()
defer mutex.Lock()
```
в своём обработчике.
Аноним 19/03/18 Пнд 21:29:34  1159185
>>1159184
Бля, три варианта, не два. Первые два просто придумал, третий написал.
Аноним 19/03/18 Пнд 22:18:20  1159212
>>1159184
>стартовавшую горутину извне убить вообще нереально
Стандартная практика: передаёшь ей в параметрах quit <-chan struct{}{} и через for-select слушаешь этот канал и делаешь return, посылая туда пустую структуру, когда тебе надо.
Аноним 19/03/18 Пнд 22:52:37  1159247
>>1159212
Чувак, ну я же об этом и говорю, стандартная практика именно такая, но она подразумевает, что я сам должен через for-select "услышать" сигнал остановки и отреагировать на него. А теперь представь, что горутина заблокирована: там или time.Sleep(time.Second * 1000000), или бесконечный цикл, или дедлок с бесконечным ожиданием никогда не открывающегося мьютекса. В этом случае горутина реально зависнет и ничто не сможет её "отвесить", ни изнутри (ибо блокирующая операция), ни снаружи (похоже, что в го нет способа прерывать потоки насильно).
Аноним 19/03/18 Пнд 23:13:55  1159268
.jpg (62Кб, 736x736)
>>1159247
>>1159184
Go крута.
Аноним 19/03/18 Пнд 23:46:36  1159292
>>1159247
Мне как и анону выше не хочется упускать шанс поиздеваться на goвном, но тут по-моему ты сам немного тупишь. У тебя гоблоки бегают на тред-пуле - конечно ты не можешь запускать там блокирующие операции, ибо от этого все треды быстро заблокируются.
Аноним 20/03/18 Втр 00:09:24  1159315
.png (258Кб, 1500x1500)
>>1159292
Сам ты говно, go язык goбов.
Аноним 20/03/18 Втр 09:44:32  1159429
>>1159315
goмиков.
Аноним 20/03/18 Втр 09:56:45  1159432
>>1159429
Гоморутины.
ехидный колобок.жпг
Аноним 20/03/18 Втр 10:00:01  1159433
>>1159432
Goморутины, начавшись, не могут остановиться, если сами того не захотят.
Аноним 20/03/18 Втр 10:14:25  1159441
>>1119389 (OP)
гомункл
Аноним 20/03/18 Втр 10:15:04  1159442
>>1159441
Goбилен с goдом.
Аноним 20/03/18 Втр 13:09:35  1159517
>>1159184
>и такое ощущение, что стартовавшую горутину извне убить вообще нереально

наслаждайся кооперативной многозадачностью
Аноним 20/03/18 Втр 14:24:46  1159568
Прошел тур по Go. Завтра собеседование, подскажи, что могут спросить, что надо ещё знать и поясните, как работают горутины? Я так понял несколько горутин асинхронно выполняются в 1 треде?
Аноним 20/03/18 Втр 14:36:42  1159578
Django разработчик в треде. Месяц назад увлекся golang'ом, по вечерам пилю хэлло ворды, но оч. хочется сделать, что-нибудь посерьезнее.

Есть вот такая идея -- сделать агрегатор цен на видеоигры с фильтрацией по физическая|диджитал копия. API cервер и пауков на Go, фронт на react. Что можете посоветовать посмотреть из фрэймворков?

p.s. Если кто-то захочет помочь запилить проектик в коопе, то замечательно <strike>телега: @GrigoriyMikh</strike>
Аноним 20/03/18 Втр 15:23:16  1159598
>>1159578
Н И Ч Е Г О
И
Ч
Е
Г
О

Зачем нужны фреймворки в го, тебе стандартной библиотеки и самых легких роутов не хватает?
Аноним 20/03/18 Втр 15:36:43  1159603
>>1159578
Бери https://github.com/kataras/iris (он сейчас считается самым популярным) и не слушай уебанов, которые сейчас понабегут и начнут советовать написать всё с нуля.
Аноним 20/03/18 Втр 15:50:14  1159613
687474703a2f2f7[...].jpg (111Кб, 814x380)
>>1159603
Fasthttp - это, конечно, хорошо. Но какой в этом смысл, если ты пользуешься токсичными фреймворками?
Аноним 20/03/18 Втр 16:23:46  1159641
>>1159603
мне вот https://github.com/labstack/echo приглянулся. Очень минималистичный интерфейс для написания rest api. Чем iris интересен?
Аноним 20/03/18 Втр 16:24:40  1159642
>>1159603
А про пауков,что скажешь? Есть какие-нибудь годные фреймворки?
Аноним 20/03/18 Втр 17:31:37  1159680
>>1159598
А миддлвары самому писать?
Аноним 20/03/18 Втр 17:37:41  1159682
>>1159578
>GrigoriyMikh
Бабу-то нашёл на дваче поебаться? Или так и жрочишь свои циферки на Каггле?
Аноним 20/03/18 Втр 21:18:45  1159768
Перекат

https://2ch.hk/pr/res/1159767.html
https://2ch.hk/pr/res/1159767.html
https://2ch.hk/pr/res/1159767.html
Аноним 21/03/18 Срд 10:58:48  1159971
>>1159641
Просто идиоматичный и популярный фреймворк. Все основные фичи вида middleware, авторизации и прочего уже есть в виде отдельных пакетов, меньше руками писать. Тестами покрыт, стабилен.
Остальное - вкусовщина.
Про echo тоже хорошие вещи слышал, если нравится - бери.
Аноним 24/03/18 Суб 22:27:33  1162068
>>1159971
> Все основные фичи вида middleware, авторизации и прочего уже есть в виде отдельных пакетов, меньше руками писать
чем лучше Gin ?
Аноним 25/03/18 Вск 11:23:05  1162226
>>1162068
Кардинально - ничем. Уже игрался с ним - впечатления нормальные.
В го-мире, как я понимаю, существует много web-фреймворков (Iris, Gin, Echo, тысячи их), которые предоставляют приблизительно один набор фич и очень похожую модель работы с ними.
Поэтому выбирай тот, который тебе нравится + имеет нужны фичи из коробки (тот же basic auth, работу с JWT, т.п.)
Отдельный момент - это популярность, смотри, чтобы фреймворк не загнулся оттого, что единственному контрибьютору надоело.
Жупоглазые выблядки Адекват 04/04/18 Срд 01:56:05  1167715
Как же вы блять заебали со своим го.... Го Го Го Го
Еще один невьебенный роутер на го, еще одна невьебенно удобная хуйня с тонной говно рантайма что бы вы могли сделать очередное говно подделие которое насилует сетевуху во все щели. Раньше новые люди в програмировании слушали рок и писали на голых или крестанутых сях с чувством с толком и с умом а теперь куча всяких имбицилов-хиптеров получив язык для обезьяны пишут на ебаном го слушают руский реп и порятся в очко.
Аноним 16/04/18 Пнд 01:57:55  1174684
>>1167715
А ты шаришь


Топ тредов
Избранное