Программирование


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

Check this out!
<<
Назад | Вниз | Каталог | Обновить тред | Автообновление
161 23 33

Очередной тред про лучший в мире язык GO №4 /go/ Аноним # OP 13/08/19 Втр 23:45:59 14528081
KZkCd7r[1].png (413Кб, 722x609)
722x609
DcvcASxX4AAQv56[...].jpg (146Кб, 1200x1200)
1200x1200
r5548742xfkA[1].jpg (52Кб, 654x625)
654x625
GO (а также Golang, Пщ или просто Го) — современный язык с зелеными потоками на уровне синтаксиса и крутой стандартной библиотекой. Так как делать пакеджи несложно, гитхаб полон пакеджами для абсолютно всего. Батарейки почти как в питоне.

Дженериков нет пока что, эксепшенов нет, просто смирись.

Обработка ошибок получается охуенно через http://github.com/pkg/errors | в приложениях обычно можно просто паниковать на ошибках.
HTTP-сервер для убер максимального маня-хайлоада: https://github.com/valyala/fasthttp

Для вката в Go читай Донован, Керниган "Язык программирования Go", https://www.golang-book.com/, книги из списка https://github.com/dariubs/GoBooks, а также смотрим видео https://www.youtube.com/channel/UC_BzFbxG2za3bp5NRRRXJSw

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

Предыдущий: >>1360787 (OP)
Аноним 14/08/19 Срд 12:15:59 14530332
Аноним 14/08/19 Срд 12:20:56 14530413
Пишу петпроджект, и часть его функциональности решил вынести в отдельную, обособленную либу. Должен ли я использовать vgo на одном или обоих компонентах, или и так сойдет?
Аноним 14/08/19 Срд 13:47:10 14531474
>>1453041
Вопрос из разряда "должен ли я использовать composer, если вынес часть кода в либу на php", "должен ли я использовать npm, если вынес часть кода в либу на nodejs" и так далее.
Аноним 14/08/19 Срд 13:59:13 14531595
>>1453147
>должен ли я использовать npm, если вынес часть кода в либу на nodejs
не должен
Аноним 14/08/19 Срд 15:28:20 14532276
>>1453159
Я придерживаюсь противоположного мнения. Но ты волен говнокодить как тебе душе угодно, особенно в петпроджекте.
Аноним 14/08/19 Срд 21:04:25 14534457
>>1453041
В любом случае, используй vgo, потому что это уже почти стандартный менеджер зависимостей
Аноним 14/08/19 Срд 22:31:12 14534918
>>1453147
Я не совсем правильно сформулировал вопроc. У меня есть библиотека и приложение, которое ее использует. Библиотеку я хочу выложить на гитхаб, я думаю она может быть полезна не только мне.
У обоих компонентов есть свои внешние зависимости, про которые, собственно и идет речь. На данный момент это просто исходники в GOPATH, при том у некоторых пакетов разные комиты на моем домашнем и рабочем компьютере, и все работает одинаково, тесты и там и там проходит.
Но если я жестко задам версию зависимости, и пользователь моей либы сам будет использовать эту же зависимость, но другой версии - это же приведет к увеличению как размера исходников, так и бинаря.
Или я что-то не правильно понимаю?
Аноним 14/08/19 Срд 22:40:00 14534979
>>1453491
В бинарь попадает только использованный код, это раз.
Го модули (как и dep, к слову) нужен в первую очередь тебе самому, для того, чтобы управлять тем, какую именно версию твоей библиотеки ты используешь. Объясню на примере, чем плоха схема с GOPATH:
У тебя есть пакет alpha, который использует пакет beta. Ты сделал go get github.com/.../beta и выкачал себе его.
Потом у тебя появляется пакет gamma, который тоже использует пакет beta. Ты пытаешь скомпилировать gamma и ловишь ошибку, потому что обнаруживаешь, что у пакета beta вышла новая версия, и gamma использует beta v2.
Ты радостно перескачиваешь beta и обнаруживаешь, что gamma начал компилироваться - но теперь пизданулся alpha, потому что он писался так, что использует beta v1.
Получается вот как-то так:

В случае с gopath ты получишь очевидный конфликт, потому что никогда не знаешь, какую именно версию beta тебе сейчас нужно иметь.

Соответственно, для этого тебе и нужен менеджер зависимостей: там как раз и написано:
alpha <- beta v1
gamma <- beta v2

И теперь го будет использовать нужные версии библиотеки (там можно даже не версии, а просто коммиты указывать, по желанию).
Аноним 14/08/19 Срд 22:46:39 145349910
>>1453497
Но это было в принципе про то, нахрена тебе нужен менеджер зависимостей. Когда начнёшь иметь больше 1 проекта в одной системе или попытаешься съехать на другую и обнаружишь что просто go get качает что-то некомпилируемое (потому что go get берёт тупо последний на текущий момент коммит с гитхаба) - поймешь.

Теперь про разницу между dep и го модули (vgo). Классический уже подход (привет композеру, npm-у и т.п.) - это когда менеджер зависимостей качает тебе исходники в папку vendor прямо в твоём проекте и поэтому два не связанных друг с другом проекта не конфликтуют (у каждого свой vendor). Но это засирает систему использованием одних и тех же пакетов кучу раз (особенно npm этим грешит).

Поэтому гоферы придумали го-модули. Они хитро качают пакеты в одну единственную папку на всю систему, но делят их по версиям: GOPATH/pkg/mod/{vendor name}/{package name}/{commit}/...
И это по идее должно снизить нагрузку на систему.
Плюс, vgo даёт тебе возможность в нескольких пакетах в рамках одного и того же приложения использовать один и тот же внешний пакет разных версий. Но это очень редкий случай, я таких почти не встречал.
Аноним 14/08/19 Срд 23:01:49 145350811
>>1453499
>Но это засирает систему использованием одних и тех же пакетов кучу раз (особенно npm этим грешит).
Собственно по этому у меня такой вопрос и возник, по тому что я привык, что в каждом проекте node_modules, который занимает очень много. И у каждого пакета, который я явно указал есть свои зависимости, и в итоге это приводит к тому, что всяких лоудешей и jquery в проекте по 5 разных штук, при том что я их и не добавлял в package.json.
Но про vgo ты меня убедил
Аноним 16/08/19 Птн 14:17:13 145446312
идеи для пет проекта хоть в этот раз подвезут ?
Аноним 16/08/19 Птн 19:34:39 145462813
>>1454463
Никогда не понимал людей, которым нужны идеи для пет проекта.
Ты блять можешь написать ВСЁ. Интернет полон документацией, схемами, мануалами.
Тебя что, ничего в жизни не интересует?
Напиши свой крипто-мессенджер, аналог телеграмма (чтобы end-to-end шифрование). Сделай его распределённым, p2p.
Напиши свой игровой движок, поиграй с друганами в какую-нибудь самописную простенькую херню, 2д шутер.
Напиши свою базу данных, заставь потенциального работодателя охуевать от твоей крутости.
Напиши свой почтовый сервер, используй его и понтуйся перед братюнями.
Нагенерил тебе за полминуты.
Аноним 16/08/19 Птн 23:57:28 145475814
image.png (481Кб, 600x385)
600x385
Аноним 17/08/19 Суб 22:28:54 145533915
ГОспода, есть вопрос как изящнее реализовать без наследования "заглушку".
Программа получает данные, и парсит. Парсинг и всегда один и тот же, а получать данные можно по сети, а можно, в отладочных целях, читать из файла.
В плюсах я бы отнаследовал новый класс, перекрыл функцию получения данных, и создавал нужный класс - с получением данных по сети или с чтением из файла.
Фактически надо, чтоб была возможно в одном единственном месте закоментить одну строчку, разкоментить другую и запустить прогу.
Тк работа идет со структурой, я придумал засунуть в эту структуру указатель на нужную функцию, но может есть более идеологически правильные способы?
Аноним 18/08/19 Вск 00:44:54 145542116
image.png (113Кб, 997x871)
997x871
Аноним 18/08/19 Вск 01:08:18 145543217
>>1454628
> Ты блять можешь написать ВСЁ. Интернет полон документацией, схемами, мануалами.
Например.
То, что дальше - ГОвно.
Аноним 18/08/19 Вск 02:38:59 145545118
>>1454628
> Никогда не понимал людей, которым нужны идеи для пет проекта.
Видимо потому, что у тебя от пет проекта другие ожидания, нежели у других людей. Некоторые, может, хотят что-то полезное или релевантное к их деятельности, чем они реально пользоваться будут, а не упражнение по написанию велосипеда в стол. В глубине души они чувствуют, что код это блоат и программисты должны сидеть в газовых камерах.
Аноним 18/08/19 Вск 03:03:52 145545419
Аноним 18/08/19 Вск 15:34:36 145563120
Ну чего, ГОвноеды, как дела? Все сосете?
Аноним 18/08/19 Вск 15:38:23 145563321
>>1455339
Сам разобрался, cпасибо.
Аноним 18/08/19 Вск 19:12:48 145573622
image.png (11Кб, 113x156)
113x156
Аноним 19/08/19 Пнд 18:35:21 145637023
Аноним 21/08/19 Срд 09:23:16 145732424
>>1452808 (OP)

>> Обработка ошибок получается охуенно через http://github.com/pkg/errors

Кто-нибудь шапку за последние лет 5 обновлял?
Во-первых, этот пакет уехал в STD - "errors".
Да и не часто им пользуются, есть же juju/errors от Canonical.
Аноним 21/08/19 Срд 09:27:31 145732525
>>1457324
Я её почти не меняю, лень заморачиваться

Алсо, до сих пор в своих проектах просто возвращаю ошибку, без дополнительного контекста
Аноним 21/08/19 Срд 09:30:53 145732726
>>1457325

И как дебажить?
Где и кто вернул ошибку?
juju/errors удобная штука, добавляет трейсбек.
Аноним 21/08/19 Срд 10:12:06 145734027
image.png (61Кб, 400x296)
400x296
Аноним 21/08/19 Срд 10:38:40 145735628
>>1457340

Исключения не нужны, они рушат поток исполнения программы, замедляют код и делают его менее очевидным.
(Зря они пошли на поводу у публики и добавили паники).
Аноним 21/08/19 Срд 10:47:49 145735829
15215752130990.png (348Кб, 1200x1200)
1200x1200
>>1457356
Какой поток исполнения они рушат, почему они рушат что-то там у гоферов?

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

>делают его менее очевидным
Мы тут всем коллективом по полу катаемся, то есть
if err != nill {
...
}
Делает код читаеме??

Исключение плохи лишь тем, что их нет в го, как и дженирики, это тупо поинт дизайнеров языка, которые не захотели парится и сделали просто палку, возложив переброску ошибок на руки программистов (как и много другое) собственно сейчас я смотрю научились заворачивать какой-то контекст и даже стектрейс. Я тебе уверяю, еще 2 года назад, меня пытались забанить за то что я доказывал что стектрейс очень важен, а мне говорили нет и вообще я тролль. А я лишь хотел сделать язык чуточку лучше
Аноним 21/08/19 Срд 10:50:20 145736030
>>1457356
>замедляют код
То есть, такая тормозная жесть как defer - это нормально??
Аноним 21/08/19 Срд 11:03:05 145737331
>>1457358
>>1457360

Просто учите матчасть. Я не могу в комментарии вам уместить содержание нескольких книг и десятка статей.
Аноним 21/08/19 Срд 11:24:44 145738832
>>1457358
Через 5 лет, когда им добавят эксепшены и дженерики, они будут с ними носиться, как с откровением, мол, какой же го замечалньный язык, инфа 100%. А пока Пайк говорит нинужно, значит нинужно.
Аноним 21/08/19 Срд 11:27:03 145739033
>>1457388

Дженерики нужны, не представлял, как без них можно жить.
Но как выяснилось можно, но не очень комфортно.
Их добавят.

А исключения - дичь. Вот по ним точно не скучаю.
Аноним 21/08/19 Срд 12:08:04 145741034
>>1457390
> они будут с ними носиться, как с откровением, мол, какой же го замечалньный язык
и тут же, после того как стало известно что добавят дженерики:
Дженерики нужны, не представлял, как без них можно жить, ...можно, но не очень комфортно.

Суслики, вы неисправимы))

По прежнему не берем людей у которых в резюме го указан, это просто эталонный идентификатор невменяемости в ИТ
Аноним 21/08/19 Срд 12:13:01 145741535
image.png (73Кб, 1170x455)
1170x455
>>1457390
Ты не думай что мы забыли ваши косяки, просто на вас стало уже пофиг.
Аноним 21/08/19 Срд 12:31:49 145742836
>>1457410
>>1457415

Мне кажется это синдром обиженнок, признавайтесь, вы пыхеры?
Аноним 21/08/19 Срд 12:34:10 145743137
Аноним 21/08/19 Срд 14:28:42 145760738
CUn-7LuU8AA-8Yp.jpg (89Кб, 600x600)
600x600
>>1457428
Из-за таких как ты, вполне себе хорошая идея языка, имеет херовую реализацию. Если такие как ты не ели бы говно, а требовали, то язык бы развивался и за эти года стал лучше.
Требовали же пакетный менеджер и дженериков - получили? Да!
Поэтому самое худшее в языке - это вы говноеды.
Аноним 21/08/19 Срд 14:35:36 145761239
>>1457607
>goвно
>вполне себе хорошая идея языка
Ебать ты ничтожество, конечно.
Аноним 21/08/19 Срд 15:03:42 145763340
>>1457612
Ты школоло просто, но отвечу, просвещайся.

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

Так что, мой юный друг, идея языка то хороша, а вот дизайн плох и будет он плох пока суслики не перестанут жрать "лень разработчиков" и не потребуют развитие языка.
Аноним 21/08/19 Срд 15:29:43 145765441
>>1457633
Это все есть и прекрасно можно делать в плюсах.
>Отстуствие говно ООП
>б-логика размазывается по десяткам
То есть тебя надо силой заставлять не говнокодить.
Быдло as is.
Аноним 21/08/19 Срд 15:59:39 145767042
>>1457654
>прекрасно можно делать в плюсах.
А, понятно, ты из другой палаты.
Аноним 21/08/19 Срд 16:12:07 145768043
>>1457670
Любая палата лучше говнодебилов (тебя) разве что кроме пыходерьма и прочих одножопий
Аноним 21/08/19 Срд 17:29:21 145775944
>>1457607
> хорошая идея языка, имеет херовую реализацию
Я бы сказал наоборот, Го - отвратительнейшая спека языка с охуенной технической реализацией (gc, гоморутины, компайл в бинарь).
Аноним 21/08/19 Срд 20:03:08 145790045
А нужно ли то, без чего отлично программируется?
В любом языке есть проблемы, тупые места, дискомфорт, места для улучшения.
Аноним 21/08/19 Срд 20:47:06 145793546
>>1457428
Это котлинодаун же. Он по всей борде растекся.
Аноним 21/08/19 Срд 21:01:22 145795447
15274539049140.png (1102Кб, 2400x2400)
2400x2400
Аноним 21/08/19 Срд 21:49:09 145797648
>>1457900
Ага, охуительно без генериков кодится.
Аноним 21/08/19 Срд 22:12:24 145798649
>>1457976
Пустой интерфейс лучше чем дженерики, после этого даже как-то непривично на других языках писать
Аноним 21/08/19 Срд 22:18:01 145799050
Аноним 21/08/19 Срд 22:25:33 145799251
>>1457976
В питоне тоже нет дженериков и ничего
Аноним 21/08/19 Срд 22:32:11 145799752
>>1457992
И типов у переменных.
Аноним 21/08/19 Срд 22:36:30 145800253
>>1457997
Типы у значений есть во всех языках, нет типов у переменных
Аноним 21/08/19 Срд 22:37:01 145800354
Так что лучше в котлин вкатываться или го?
Аноним 21/08/19 Срд 22:38:10 145800455
>>1457997
Чем питоньяче говно:
if isinstance(x, X1Type):
...
elif isinstance(x, X2Type):
...

Лучше type assertion'a в golang
Аноним 21/08/19 Срд 22:39:05 145800556
>>1458003
бля хоть кто-нибудь из крупных компаний использует котлин в проде для бэка? с чего весь этот хайп воокруг него
Аноним 21/08/19 Срд 22:45:19 145801357
>>1458005
>бля хоть кто-нибудь из крупных компаний использует котлин в проде для бэка?
Какая-то компания гугл использует в малоизвестной мобильной разработке
Аноним 21/08/19 Срд 22:47:42 145801558
Аноним 21/08/19 Срд 23:02:38 145802459
>>1458013
>>1458015

я специально в сообщении указал для БЭКА. то что на нём android-приложения хуячат и так понятно
Аноним 22/08/19 Чтв 00:50:42 145808260
>>1458005
Что для тебя крупная компания?
Аноним 22/08/19 Чтв 01:08:15 145810561
>>1458003
Нет никакого котлина, в который можно вкатываться. Котлин это джава
Аноним 22/08/19 Чтв 07:24:54 145817062
>>1458105
Лучшая джава.
Если вы не хотите писать на топорной джаве, и вы явно не альпинист - то котлин ваш выбор.

Котлин - это сишарп в мире jvm
Аноним 22/08/19 Чтв 07:30:23 145817463
>>1458082
Google, Amazon, Facebook, Twitter, Github, IBM и т.д.
Аноним 22/08/19 Чтв 07:37:15 145817764
>>1458082
бля, да на котлин бэкенд-разаботчика даже вакансий нет. в лучшем случае идёт вторым языком к джаве и то таких вакансий 40 штук в Москве. короче понятно, опять нексколько городских сумасшедших напридумывало себе какую-то хуйню в голове.
Аноним 22/08/19 Чтв 07:55:10 145817965
>>1458177
Опять смотрел вакансии в местной газете?
Аноним 22/08/19 Чтв 08:01:31 145818166
>>1458174
Сомнительно.
Джетбрейнс конечно рвет жопу что бы пиарить свой велосипед, но создать фанатиков котлина у них вышло только в отсталом постсовке.

Да и поздно они выкатили эту шляпу, когда они начинали пилить язык - да, сахар! Больше сахара! Ещё больше сахера!
Но у современной джавы тоже появились приятные упрощения, и котлин нахер никому не нужон.
Аноним 22/08/19 Чтв 08:48:47 145819267
>>1457976
Не знаю, зачем вам нужны эти дженерики. Обычно все примеры их использования сводятся к "Зато можно написать функцию сортировки универсальную"
Аноним 22/08/19 Чтв 08:50:55 145819468
>>1458181
Котлин вроде как и универсальный язык, но по факту стал языком разработки под андроид.
>>1458003
Тебе решать: разработка под мобилки или разработка бэкенда
Аноним 22/08/19 Чтв 09:08:08 145819669
спокойствие-буд[...].jpeg (85Кб, 556x556)
556x556
Охуеть, понавылезали тут, в моём программаче.
Вот за что я люблю двач, так это за то, что он помогает понять: вокруг тебя целая куча идиотов с дерьмом в голове. Обычно они молчат и ты об этом не догадываешься, а тут они высказывают что-нибудь вида
> Го и так относительно медленный, что-то среднее между джавой и питоном, до раста там как до китая.
и хоть стой, хоть падай.
блять, относительно медленный для чего? с чем сравнивать? хорошо распаралеленный алгоритм на го будет скорее всего быстрее. линейные вычисления на специализированном железе затащит джава защёт JIT под особенности конкретной тачки. да даже для питона есть уже pypy и прочая хрень. Уже давно почти все языки работают очень шустро, а медленно работает конкретная бизнес-логика говнокод
Отдельно люблю читать, как люди кидаются какашками вообще в любой стек, относительно своего, чтобы показать, что они - такие илитные и пишут на "единственном правильном языке" (с).
В итоге всё сводится к тому, что решает не язык, а навык программиста решить бизнес-задачу так, чтобы её как можно дольше не пришлось переделывать. Можно писать на джаве, потому что удобненько, а выносить узкие места в отдельные маленькие сервисы на го, потому что дикая производительность из коробки. Можно всё на хаскеле херануть, если у тебя в голове команде сидит 100500 функциональщиков.

Срача по поводу дженериков вообще не понимаю, если не строить сотню слоёв абстракций, а писать AS IS (так называемый go way), то они нужны только, действительно, когда нужно тривиальную операцию типа сортировки написать для разных типов. За свою практику встречался с такиими задачами 2.5 раза, с такой частотой можно и скопипастить.
Имплементируй я всякие стратегии, абстрактные фабрики стратегий и так далее - да, было бы больно. Но го попросту не для этого, не надо на нём монолиты писать. Пишите блять конкретный код для того, чтобы расшить конкретные узкие места в вашем проекте и будет вам счастье.
Аноним 22/08/19 Чтв 10:08:24 145822570
>>1458179
Да, чувак, в headhunter. Знаешь такую газету?
Аноним 22/08/19 Чтв 10:26:51 145823771
>>1458177
> идёт вторым языком к джаве
Да потому что, пойми ты, котлин это и есть вторая джава. Котлин на бэке возникает, когда команда джавистов в какой-то момент начинает новый код писать не на джаве, а на котлине, при этом оставаясь на тех же джава-фреймворках, в той же jvm-экосистеме. И джавист может пересесть на котлин буквально за несколько дней, поэтому нет смысла в вакансии что-то требовать как обязательное.
Аноним 22/08/19 Чтв 10:41:36 145824972
Старый-добрый го тред. Обсуждается любая хуйня(раст, котлин), но не го. Люблю пр!
Аноним 22/08/19 Чтв 11:32:36 145828973
>>1458194

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

Полторы калеки вероятно юзают, но мне как-то не попадалось.
Аноним 22/08/19 Чтв 11:33:12 145829074
>>1458249
А что го обсуждать? Давно всё обсудили.
Выйдет 2.0 можно будет и поговорить.
Аноним 22/08/19 Чтв 13:06:43 145835375
>>1458225
Я не выписываю газеты про охоту и рыбалку.
Аноним 22/08/19 Чтв 13:10:25 145835676
>>1458289
Так стал же, причем теперь приоритетный
они убивают джаву, но вместе с джавой улетят на дно все jvm языки
Аноним 22/08/19 Чтв 13:20:45 145836477
>>1458289
Хз, все знакомые джависты, кто юзал котлин, ссутся кипятком и говорят, что это действительно лучше и удобнее. Понятно, что просто сахар, на всё-таки.
Аноним 22/08/19 Чтв 14:05:33 145841478
>>1458364
А лет пять лет назад ссались по скале.
И с тем и другим поиграли, а потом эти языки остались местячковыми решениями.
Аноним 22/08/19 Чтв 14:07:50 145842079
>Мужики, у вас там дженериков нет, лямбд нет, коллекций почти нет, элементов фп нет ну м.б. они и нахуй не нужны да и вообще язык stuck in the 80s
>Да не, давайте лучше введем бинарные и литералы))))) и еще суффикс для комплексных чисел)))000)))0)
гавкнул чет
Аноним 22/08/19 Чтв 15:25:13 145850580
>>1458414
Два чая, олды помнят.
Аноним 22/08/19 Чтв 15:38:51 145851581
image.png (446Кб, 900x675)
900x675
>>1458420
Ну не на жабе же микросервисы делать. Покупать для каждого круд-сервиса по vps (или серваку)

Нету больше хорошей ниши.
Питон и всем динамическое тормозит, раст и С++ не для бизнес-логики
Аноним 22/08/19 Чтв 15:59:36 145852782
>>1458515
Спокойно делаем микросервисы на элике. Основная посуда на рельсах летает. Сейчас вот через неделю на 6.0 перейдем. Вопросы?
Аноним 22/08/19 Чтв 16:13:55 145854083
>>1458515
Не преувиличивайте, у меня был отличный проект на основе spring cloud, ни единой проблемы.
Джава, если умеючи, отлично живёт в контейнере с софт лимит 128мб.
Аноним 22/08/19 Чтв 16:52:25 145856184
>>1458540
Лол, покупаешь себе облачко с 512мб, а у тебя уже 128 нету, просто жаба ради жабы покушала.
На го с 128 можно весь пет-проект в памяти держать, или как минимум 6-8 микросервисов с дробилками поднять. А тут у нас целый спринг поместился.

>Джава, если умеючи, отлично живёт в контейнере с софт лимит 128мб.
Ага, урезаешь хип, начинает чаще ГЦ срабатывать, под нагрузкой все это ускоряется и тупо с каскадным эффектом крашится. За то в 128 поместился.


Аноним 22/08/19 Чтв 16:53:27 145856285
>>1458527
Да можно на брендфаке поднять, мы же говорим про эффективное использование железа, а не то что вы на сервер смогли рельсы поставить.
Аноним 22/08/19 Чтв 18:26:05 145863186
>>1458562
тоже лольнул как чувак флексит своим охуенным стеком с рельсами
Аноним 22/08/19 Чтв 18:38:10 145864187
>>1458420
Ну давай разберём по частям тобою написанное:
>дженерики
не нужны, выше уже объяснили, что пустые интерфейсы ничем не хуже
>лямбд нет
в го есть лямбды, имбецил
>коллекций нет
тут тоже обосрался, в го есть основные коллекции, а остальные не нужны
>элементов фп нет
ты долбоеб? функция в го - это объект первого класса, то что нет map reduce не означает, что в языке нет элементов фп

>Да не, давайте лучше введем бинарные и литералы))))) и еще суффикс для комплексных чисел)))000)))0)
если тебе эти вещи не пригождаются в каждодневной работе, то это прежде всего твои проблемы, макака, иди джсоны перекладывай
Аноним 22/08/19 Чтв 18:50:53 145866188
image.png (22Кб, 371x556)
371x556
Накину "вдохновений" вам в тред
https://github.com/search?l=kotlin&o=desc&q=stars%3A%3E1000&s=stars&type=Repositories

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

И что мы видим?см картинку Go почетно среди топов и имеет 1200 условно-хороших отмеченных людьми либ. При том что язык достаточно молодой.
У раста 193 репы
У котлина 147 репы

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

Аноним 22/08/19 Чтв 18:53:25 145866789
>>1458641

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

Ещё первой версии не было, а на отсутствие дженериков пинали.
Сошлись на том, что они "в принципе" нужны, но в 99% случаев потребность закрывается интерфейсами, причем не пустыми.
Если вам не хватает, то скорее всего у вас проблемы.
Аноним 22/08/19 Чтв 19:03:40 145868390
>>1458661
на котлин даже самы разрабы поленились либы писать, поэтому язык имеет чуть ли не самую скудную стандартную библиотеку
Аноним 22/08/19 Чтв 19:04:38 145868591
>>1458661

Зачем что-то доказывать троллям?
Go свою нишу нашел. Несмотря на свои минусы.
Аноним 22/08/19 Чтв 19:07:42 145868792
>>1458683

А зачем ему либы?
Есть же на джаве?
Аноним 22/08/19 Чтв 19:07:51 145868893
>>1458667
Имхо, лучше уж интерфейсы чем wildcard или рекурсивные дженерики которые в реальности еще не все джависты до конца понимают или умеют их готовить
Аноним 22/08/19 Чтв 19:08:59 145869094
гофер тянет го.jpg (96Кб, 960x540)
960x540
>>1458685
Так я не троллям, я вдохновить хомячков
Аноним 22/08/19 Чтв 19:12:01 145869295
>>1458687
Без либ он просто обертка для джава-тестов (как и груви)
Видимо создали решили сделать ставку на маркетинге, а не либах.
Думаю скоро они поймут на какую лошадь поставили.
Аноним 22/08/19 Чтв 19:42:31 145871796
>>1458692
У котлина есть фатальная ошибка.
Нужно иметь бэграунд джавы, чтобы комфортно кодить на котлине. Без косяков джавы и вообще принятых там обычаев, совершенно не понятны многие странные решения.

У тебя есть дата классы. Думаешь круто, а потом приятно рофлишь что нельзя пронаследоваться в них.
У тебя запрещен return в лямбдах, но есть вариант return@label, в итоге в сорца смотришь как все скачут - очень прагматично.
Еще больше путаницы привносят inline функции со своим return
DSL - мне показались притянуты за уши. Да можно, но достигаются они таким способом, что проще билдер через точку сделать и выглядят всегда однобока
Какая жесть с первичным конструктором и вообще треш какой-то, который заканчивается init, потому что кончилась магия. Человеку не из джава мира, эту магию трудно объяснить. хотя по честному все же можно сделать как в жабе без первичного конструктора
Закрытые классы - просто венец ООП архитектуры.
Нет обёрток над базовыми структурами типа списка [1,2,3] мап {k:v}, но есть костылизация.
Компаньёны - треш
Корутины, вроде пытались сделать лучше, без await, но получилось как всегда.



Аноним 22/08/19 Чтв 19:45:59 145872597
>>1458717
Все жду когда сделают обертку над Go.
Аноним 22/08/19 Чтв 20:17:23 145875798
>>1458725

Был odin, fo, ещё какие-то, все не упомнишь.
Не взлетело.
Аноним 22/08/19 Чтв 20:23:38 145876299
>>1458641
>пустые интерфейсы
Но... статическая типизация...
Аноним 22/08/19 Чтв 21:18:37 1458783100
>>1458762
А причем тут статическая типизация интерфейс? Написано же иное! А ты что утвреждаешь?
Аноним 22/08/19 Чтв 23:41:53 1458876101
>>1458641
>в го есть основные коллекции
Из всех коллекций для нас важнейшими являются list и map прям как Ларри Уолл завещал.

А множества, сортированные коллекции, очереди с приоритетом - это все буржуйские излишества и пролетариям такое не нужно.
Аноним 23/08/19 Птн 00:04:18 1458884102
>>1458876

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

Зачем раздувать стандартную библиотеку?
Аноним 23/08/19 Птн 05:42:21 1458951103
>>1458876
>А множества, сортированные коллекции, очереди с приоритетом
На ваших питонах и жабоскриптах с мапами и списками справляются. Все эти коллекции больше нужны чтобы было что спрашивать на собеседование, чем реальная потребность возникает в коде.
Аноним 23/08/19 Птн 08:56:07 1458974104
Поясните за деплоймент в докер. В го же йоба-горутины, которые по-хитрому запихиваются несколько штук в один системный тред. А докер всю эту годноту заворачивает в еще один слой абстракции, разве это хорошо?
Аноним 23/08/19 Птн 09:09:15 1458984105
>>1458974
Я даже не знаю, что сказать, кроме как "и что?".
Это не создаёт никакого оверхэда на уровне приложения.
Аноним 23/08/19 Птн 09:13:33 1458985106
>>1458984
>не создаёт никакого оверхэда
Инфа 100%?
Аноним 23/08/19 Птн 09:23:04 1458989107
>>1458985
Почитайте как работает докер.
Оверхэд приближается к нулю. 100%.

Аноним 23/08/19 Птн 09:59:59 1459001108
>>1458989
Не путайте чувака.
У докера есть вполне определённый оверхед на сетевое взаимодействие и работу с файловой системой, это легко считается и замеряется.
А вот оверхед на горутины и треды действительно находится на уровне статистической погрешности, потому что докер - это движок контейнеризации, а не виртуализации. Он не эмулирует виртуальную машину, а запускает внутренние процессы в той же машине, просто урезает им доступы и видимость, чтобы добиться изоляции. Соответственно, так как машина та же самая, то и оверхеда нет почти, если ты сознательно не урежешь контейнеру ресурсы.
Но это если говорить про докер на линуксе. Потому что докер на маке и винде запускается в отдельной виртуальной машине с линуксом - в таком случае оверхед, конечно, есть. Но это узкий кейс, когда ты запускаешь контейнер у себя, локально. На сервере у тебя, очевидно, будет линукс и нативный докер, так что всё норм будет.
Аноним 23/08/19 Птн 10:38:11 1459015109
>>1459001

А пруфы можно? У io тоже минимальный оверхэд.
У сети только в режиме nat, но есть возможность вынести сеть на хост. (Вроде так, я не админ - настройками сам не занимался)
Аноним 23/08/19 Птн 11:04:24 1459020110
photo2019-08-22[...].jpg (80Кб, 1280x640)
1280x640
Аноним 23/08/19 Птн 11:23:08 1459048111
>>1459020
Лучше запилите годную шапку с инфой, стёб уже приелся.
Аноним 23/08/19 Птн 11:23:26 1459050112
Аноним 23/08/19 Птн 12:08:38 1459115113
>>1459015
У io всё зависит от используемого storageDriver'а, читай про device mapper и прочие *FS в документации докера, там описаны их особенности.
К примеру, если ты пишешь в монитруемую директорию а у тебя BTRFS, то файлы не попадут сразу на диск, они промежуточно пишутся в журнал, импакт очевиден.
Аноним 23/08/19 Птн 12:10:47 1459117114
>>1459015
А выносить сеть на хост - это очень спорное решение, потому что ты тут же теряешь изоляцию между контейнерами. И ладно, если у тебя только два с половиной контейнера локально, а когда у тебя кластер на проде - то ты от неймспейсов и прочего не уйдёшь уже никуда.
Аноним 23/08/19 Птн 13:33:44 1459229115
>>1458951
какое джунское имхо

то что большое кол во задач где не критична производительность можно решить с помощью мап и листов это очевидно (в пыхе массивов и объектов), но это не отменяет тот факто что в более узких задачах где прохождение по массиву будет намного дольше чем по линкид листу не говорит нам о том что все реализуемые типы данных нужны только что бы дрочить на собесах
Аноним 23/08/19 Птн 14:52:22 1459297116
>>1459229
>где прохождение по массиву будет намного дольше чем по линкид листу
Схерали?? Одинаково будет
Аноним 23/08/19 Птн 15:01:47 1459308117
image.png (25Кб, 912x265)
912x265
>>1459297
на самом деле лучше будет у массива

а на добавлении и удалении ?

очевидно что на 10 - 20 - 30 элементах это будет малозаметно , но например на 100кк 100ккк и тд , думаю суть ты уловил анчоус
Аноним 23/08/19 Птн 15:19:50 1459318118
>>1459308

Блин, только не говорите, что вы не можете написать линкед лист. Нахрена он в стандартной библиотеке? Он что по десять раз на дню нужен?
Аноним 23/08/19 Птн 15:24:19 1459322119
>>1459308
Быстро переобулся. Думаешь не заметили?

Приведи мне пример "а на добавлении и удалении ?" при фантастических "100кк 100ккк" Хотя не нужно, очевидно ты какой-то школьник или взрослый с мозгами школьника, уноси свои 100ккк
Аноним 23/08/19 Птн 15:25:01 1459323120
>>1459229
> какое джунское имхо
> прохождение по массиву будет намного дольше чем по линкид листу
Люблю, когда петушки с гонором обсираются.
Аноним 23/08/19 Птн 15:28:06 1459324121
>>1459318
В том и дело что любые структуры данных, отличные от списка и мапы, надо брать из внешних либ, где они хотя бы поддерживаются, а не заброшены в стд-либ, где для галочки существуют.

Ну или написать самому, раз 100кк и 100ккк данных, это повод научиться программировать самому
Аноним 23/08/19 Птн 18:38:38 1459412122
Как же я благодарен тому, что в го нет полиморфизма, но есть композиция в структурах.
Как же это ООП говнище настапиздела
Аноним 23/08/19 Птн 18:41:12 1459416123
>>1459412
А у вашего котлина, даже наследования нет в дата классах
Аноним 23/08/19 Птн 19:03:18 1459436124
image.png (38Кб, 431x442)
431x442
>>1459412
Это же очущуенно!!!

Да мои маленькие наблюдатели, там везде стринги, так и задумано, это просто пример, в реально жизни так дробить не имеет смысла из-за возможных пересечений данных
Аноним 23/08/19 Птн 20:12:05 1459488125
>>1459229
В стандартный либе го есть linked list
Аноним 23/08/19 Птн 20:27:25 1459497126
>>1459488
Не ври, нет такого листа, "где прохождение по массиву будет намного дольше чем по линкид листу"
Аноним 23/08/19 Птн 20:38:16 1459503127
>>1459497
А, извини, не заметил сразу. Тогда вопросов нет, Роб Пайк - пидорас, не стал добавлять такой лист. Совсем ебанулся со своей простатой языка, ну его нахуй, пойду в котлин, там дела с коллекциями лучше обстоят
Аноним 23/08/19 Птн 21:09:24 1459518128
>>1459503
>пойду в котлин
Не забудь докупить пару планок ОЗУ.
Аноним 23/08/19 Птн 23:04:29 1459621129
>>1458884
>Зачем раздувать стандартную библиотеку?
Потому что такую роскошь как: map[string]int может себе позволить только стандартная библиотека. А остальным как известно: дженерики не нужны.

>>1458951
>На ваших питонах и жабоскриптах с мапами и списками справляются.
Так их никто и не позиционирует как высокопроизводительные языки. У Питона вон попытались выпилить GIL - а потом сказали, да ну нахер нам чистота кода интерпретатора важней.
А Го как раз позиционируется как язык для высокопроизводительных приложений.

Аноним 23/08/19 Птн 23:35:31 1459645130
>>1459621

С питоном отдельная тема.
Никто в него не вливал кучу денег, а текущие кор-разработчики не могут придумать, как избавиться от Гила, без чувствительного замедления однопоточного кода.
Аноним 23/08/19 Птн 23:48:31 1459649131
>>1459645
Ну там были энтузиасты которые выпилили GIL https://www.artima.com/weblogs/viewpost.jsp?thread=214235 .jsp - какая ирония
Да, для однопоточной программы стало хуже, но я уверен, что если бы тогда его все же впилили - сечас бы уже все проблемы были давно решены и у Питона была бы полноценная многозадачность.
Аноним 23/08/19 Птн 23:56:50 1459653132
>>1459645
Блять никого не напрягло, что долбоеб выше высрал полную хуйню насчёт того, что в питоне не коллекций?
Во-первых, лист в питоне может играть роль очереди и стека за счёт методов pop и append, во-вторых, помимо листа и словаря есть ещё такие встроенные коллекции как set, frozenset и tuple. Также, в стандартной либе питона, внезапно, есть пакет collections, который предоставляет ещё несколько коллекций (самые часто используемые из него - deque и Counter).
Наконец, в стандартную либу входит ещё пакет heapq, который включает в себя очередь с приоритетами, пакет bisect, позволяющий поддерживать коллекцию в упорядоченном состоянии, и пакет array, предостовляющий чистые строготипизированные массивы (почти как в си).

В итоге имеем довольно приличный список коллекций, которого хватит в 90% ситуаций, не хватает только, пожалуй, одного связанного списка
Аноним 24/08/19 Суб 05:17:35 1459721133
>>1459621
Лол, го и есть "питон которого не смогли разогнать", одно только йоба наследие циклического импорта о чем говорит да, иногда циклические зависимости нужны

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

Что действительно нужно, так это улучшить обработку ошибок и пакетный менеджер, все.
Аноним 24/08/19 Суб 05:20:26 1459722134
>>1459653
Зачем в питоне вообще какие-то там коллекции? Ты на скорости простого цикла просядишь больше разницу между ними увидишь
Аноним 24/08/19 Суб 06:33:56 1459735135
image.png (15Кб, 543x227)
543x227
Достаточно годные курсы.
Аноним 24/08/19 Суб 07:10:41 1459740136
image.png (44Кб, 513x550)
513x550
image.png (154Кб, 400x371)
400x371
В го есть extension functions!
Аноним 24/08/19 Суб 07:25:29 1459742137
>>1459740
Забавно, но из-за неявно конвертации между новым и старым, можно даже реально так заюзать ну конечно не стоит
https://play.golang.org/p/qSCvqQA-yyh
Для шапки Аноним 24/08/19 Суб 09:17:11 1459755138
Важная концепция для новичков.
1. Горутины в го, после переключения (остановки и продолжения работы), могут возобновить работу в другом системном потоке. Собственно как решит планировщик.

Это исключает перегруженности одного системного потока, как например в js
Для шапки Аноним 24/08/19 Суб 09:21:23 1459758139
Для шапки

2. Сам факт переключение горутин происходит после вызовов функций (то есть вызываешь функции и планировщик решает что-то).

3. Если нужно вызвать переключение (планировщик), например если работаете с цифрами в цикле и не вызываете функций, то можно вызвать runtime.Gosched()
Для шапки Аноним 24/08/19 Суб 09:42:06 1459771140
image.png (25Кб, 381x448)
381x448
image.png (24Кб, 357x445)
357x445
image.png (24Кб, 363x445)
363x445
Аноним 24/08/19 Суб 09:48:45 1459776141
image.png (2371Кб, 2000x1340)
2000x1340
Аноним 24/08/19 Суб 09:50:35 1459779142
>>1459755

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

>>1459758
Переключения горотин происходят не только после вызова функций и ручного вызова goshed. Но вопрос интересный, так что предлагаю погуглить и разобраться самому.
Но как по мне, это скорее вопрос для собеседования, в работе ни разу не приходилось думать об этом.
Аноним 24/08/19 Суб 10:07:03 1459792143
>>1459735
Только нужно не смотреть их, а читать пдф приложения (хоть там и куча опечаток) и ходить оттуда по рекомендованнм ссылкам.
Аноним 24/08/19 Суб 10:38:24 1459823144
>>1459779
Нужно простое изложение работы горутин и чем они буду лучше, скажем в js. Надо показывать достоинства языка новичкам, а то что информация тебе полезна или нет, это малоебучий факт.

>вопрос для собеседования
Надо знать базис, иметь представление как работает все, причем тут твоя работа и собеседование.
Аноним 24/08/19 Суб 10:43:24 1459825145
psapopierdolilo.jpg (139Кб, 700x852)
700x852
>>1454628
>Тебя что, ничего в жизни не интересует?
это
Аноним 24/08/19 Суб 10:45:55 1459827146
>>1459823

При том, что эти обрывочные фразы - непонятное говно или гуглтранслейт. Про goshed вообще неправильно, ты не вкурил.

Аноним 24/08/19 Суб 10:49:53 1459829147
В шапке должны быть перечисленны плюсы го и его фичи.
Статическая строгая типизация, компилируемый, быстрый, рождён быть многопоточных, быстрая компиляция, что там ещё?
И три ссылки. На интерективный тур и на два курса на курсере. И 50 оттенков го с хабра.
Все.

Если материал для новичков, то надо показать преимущества, а не грузить непонятными вырванными из контекста фразами.
Аноним 24/08/19 Суб 10:56:46 1459831148
>>1459829
Компиляция, статик типы...
Это скорее характеристики языка, а не фичи.
Про фичи как раз забывают (хотя бы что с сетью удобно работать или что куча батареек). А про корутины - они видят какую-то магию и им не понятна чем эта магия от других магий отличается.

Новичков - я имел ввиду в языке, а не людей учащих программирование.
Аноним 24/08/19 Суб 11:23:38 1459839149
>>1459829
Какие там курсы на курсере? От мылору что ли?
Аноним 24/08/19 Суб 11:32:42 1459841150
>>1459839
Да, лично мне понравиламь первая часть.
Никаких рассусоливаний по основам, а сразу практический подход. И домашки прикольные были.
Аноним 24/08/19 Суб 11:33:37 1459842151
Аноним 24/08/19 Суб 11:39:54 1459847152
>>1459721
>Дженерики и правда не нужны
1. А для map их зачем сделали?
2. Без дженериков у тебя внутренние структуры данных смогут работать только со ссылками. А так у тебя тот же []int хранит именно int, экономия памяти и перфоманс.
Аноним 24/08/19 Суб 12:14:31 1459853153
>>1459847
Именно потому что контейнеры у тебя уже параметризованы, дженерики тебе и не нужны.

Придут обязательно жабо кодеры и начнут заворачивать абстракцию абстракций и мы получим не поддерживаемый говнокод ~60-80% кода на жабе ничего полезного не делают

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

Реальность:
Среднестатистический программист очень тупой, он видит дженерики у себя в жабе и думает они так же войдут в совершенно другой язык. Ему просто привычно, он верит что будет сидеть на прагматичном языке клепать абстракции и контейнеры, а не решать структурно задачу.
Аноним 24/08/19 Суб 12:17:23 1459854154
>>1459853
И да, дженерик, в жабе а больше я это слово нигде не слышал, у С/С++ другая парадигма, обобщенная, они очень бестолковые и мало что можно сделать из-за затирания типов.
Аноним 24/08/19 Суб 12:30:32 1459865155
image.png (718Кб, 800x1024)
800x1024
>>1459853
>>1459854
Ну и быстрая компиляция, мне куда важнее типов. Я не хочу ждать по 15-600с старта каждый раз, я готов писать руками или юзать приведение типов.

Самый лол, что ни раз видел в жабе, когда человек не справлялся с дженериками или не хотел вилкарды юзать с рекурсивными дженериками, тогда тупо прибегали к Object типу и юзал условно договоренность по типам. Это называют джентльменской типизацией, джентльмены всегда смогут договориться
Аноним 24/08/19 Суб 13:21:19 1459904156
>>1459853
>Именно потому что контейнеры у тебя уже параметризованы, дженерики тебе и не нужны.
Вот только тех же контейнеров тут map + array и все. Ни очередей (вставка/удаление в начало массива очень дорого), ни сортированных деревьев. Я конечно понимаю что для среднестатистического гофера префиксное-дерево адский матан и вообще не нужно, но есть задачи где это нужно. И приходится писать руками и постоянно кастить.


>>1459853
> больше как для контейнеров тебе дженерики и не нужны
Это тебе не приходит в голову, где они ещё может быть полезен контроли типов на этапе компиляции. Но это не значит, что таких вещей нет.


>>1459854
>И да, дженерик, в жабе а больше я это слово нигде не слышал
Ну с твоим кругозором все ясно. Дженерики это частный случай обобщенного программирования и оно есть практически во всех современных языках не кроме го понятное дело. Где-то оно очень мощное типа List, Haskel, Scala, C++, где-то не очень Java, C#. В Ada дженерики появились в 1977. И только в Го дженерики не нужны.
Аноним 24/08/19 Суб 13:53:44 1459924157
>>1459904
>что для среднестатистического гофера
Го юзаю меньше недели, на жабе я 10 лет. Писал такое и в таком, что тебе и не снилось. О чем ты вообще? даже пописал без дженериков немного

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

Смирись - го специфически-статически типизированный язык. Ты же блядь к питонистами не приходишь и не тыкаешь что у них типов нет? Хера ты до го докопался? Golang != Java

И да, типизация не панацея и в реале ловит где-то 1-5% ошибок в коде. Кто писал сложный домен те меня поймут не редко сложный домен реализуют через динамические языки. Поэтому вообще какие-то тут претензии, кто и где вам голову забивает про панацею статических типов?


>C++
>Дженерики
Ой, иди уже отсюда, дженерики он в С++ увидел.
Аноним 24/08/19 Суб 14:54:14 1459967158
>>1459841
https://rutracker.org/forum/viewtopic.php?t=5655300
Вот хороший курс про особенности языка, от этого же автора есть книга, а мылору просто сделали видеометодичку по синтаксису и в конце мини-обзор как сделать простенькое веб-приложение.
Аноним 24/08/19 Суб 15:18:31 1459982159
>>1459967

Я его давно смотрел, но не помню "видеометодичку", а помню как с места в карьер предложили написать конвейерную обработку, потом учили пользоваться поофайлером и в дз предложили оптимизировать программу.
Аноним 24/08/19 Суб 16:45:48 1460046160
>>1459924
>Ой, иди уже отсюда, дженерики он в С++ увидел.
Вот же тупое мудило, даже фразу целиком прочесть не может
>Дженерики это частный случай обобщенного программирования и оно есть практически во всех современных языках
В С++ шаблоны, в Lisp макросы, в C# дженерики, и только в Go - хуй вам.


>Еще раз для контейнеров есть interface{}, с той разницей что на жабе тебе каст компилятор пишет, а тут сам ручками. В итоге тебе обещают какую-то гарантию типов, но замен дают костыльное обобщение
А что же Го не использует interface{} для map и array?


>на жабе я 10 лет. Писал такое и в таком, что тебе и не снилось
Жабацелоп в треде, всем присесть и два раза ку.
Аноним 24/08/19 Суб 17:21:18 1460080161
image.png (39Кб, 300x248)
300x248
>>1460046
>А что же Го не использует interface{} для map и array?
Потому что может себе это позволить. У тебя уже просто походу бомбить, раз ты уже просто херню несешь

>только в Go
Зачем в го дженерики? Нужны ли дженерики в Python?
Почему не компилируется PHP? Почему в java нет функций? Почему пи равен ~3.14? Почему долбаебы продолжают воевать с ветряными мельницами??
Аноним 24/08/19 Суб 17:28:50 1460084162
>>1460046
У меня на яйцах растут большие черные волосы, а у го нет дженериков. Есть вещи, которые нам не нравятся в этой жизни думаю тебе бы тоже не понравились эти волосы, раз не нравится отсутствие дженериков. Поэтому хватит звездеть и пошли писать код на Go, который хорошо утилизирует ресурсы системы.
Настройки X
Ответить в тред X
15000 [S]
Макс объем: 40Mб, макс кол-во файлов: 4
Кликни/брось файл/ctrl-v
Стикеры X
Избранное / Топ тредов