Обновить
9

Пользователь

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

С другой стороны, а часто ли вам нужно понимание, как конкретно работает функция from_chars, при условии, что там нет багов и не нужно это дебажить?

После введения дженериков ряд стандартных пакетов (из очевидного — container) хотелось бы видеть переделанными с пустых интерфейсов на дженерики, что, конечно, сломает обратную совместимость.
Самое то для go2 :)

Про подкасты, я бы ещё добавил soundcloud.com/generictalks

А в го необязательно их использовать. Отлично работает и "ручное" построение графа зависимостей.
Я описывал примеры такого подхода в своей статье на ту же тему вот здесь: https://m.habr.com/ru/company/vivid_money/blog/531822/

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

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

Значит ли это, что вредно есть любую не взрослую рыбу /дичь? Поскольку в любом птенце/не взрослой рыбе/поросёнке по логике должно быть очень много гормонов роста, они же растут :)

А потом попадёшь на сервис, в котором нельзя использовать, скажем, знак подчеркивания и всё пойдёт лесом :(

Не обязательно нагружать гц. Большинство существующих решений для кэширования в го как раз и работают, выделяя просто слайсы байт и храня там объекты, гц тогда туда просто не полезет. Если хочется большего перфоманса, то mmap'ом выделяют память вне гц и через unsafe размещают там данные, чуть опаснее работать, но в целом почему бы и нет, если требования особые. Вроде, у дропбокса были статьи на эту тему.
> Встроенные дженерики, фактически. А вот свои делать нельзя. И делать для них итераторы тоже нельзя
Это не является магией.
Даже не так, сами дженерики не являются магией, потому что принцип их работы очевиден, предсказуем и не требует понимания деталей реализации. Недоступность дженериков для использования пользователями и использование их в стандартной библиотеке тоже не является магией, потому что опять же, понятно, предсказуемо и не нужно ничего дополнительно знать для использования.

К слову, если вы считаете, что отсутствие дженериков это прям недостаток и что не добавили их просто потому, что создатели го — злодеи без чувства прекрасного, то почитайте к примеру про реализации дженериков в других языках и про трейдоффы, на которые приходится идти для этого.
Если кратко, то если делать дженерики в языке мономорфизмом, то есть генерировать на каждый набор параметров свою функцию, то вы сильно замедлите компиляцию (и ещё будут сложности с оптимизациями дженерик-кода) и раздуете бинарники.
А если делать дженерики, как в джаве, то есть делать одну дженерик-функцию, которая принимает абстрактные типы, то придётся принимать поинтеры, то есть, выделять память на хипе, то есть это ударит по перфомансу. И всё ещё будут проблемы с оптимизациями кода, потому что JITа в го как-то и нет :)
В сообществе го сейчас идёт большая дискуссия на тему того, как именно стоит сделать дженерики, чтобы получить больше бенефитов и поменьше всего испортить/замедлить.
> Неопределённое поведение — свойство языков и библиотек в определённых ситуациях выдавать результат, зависящий от реализации компилятора (библиотеки, микросхемы) и случайных факторов

Здесь поведение вполне определено, есть одна явная реализация слайсов и функции append, которая работает вообще всегда одинаково и не зависит от случайных факторов. Зависит от неслучайных факторов, от аргументов (функция зависит от своих аргументов, звучит нормально). Поэтому давайте не делать вбросов насчёт UB в го :)
Но дизайн слайсов при этом действительно содержит опасные и неочевидные сразу места и я готов согласится, что можно было сделать его и как-то поочевиднее с точки зрения пользователя.

Не работал в гугле, но во-первых с ростом уровня зарплаты более чем конкуренты, судя по levels.fyi и прочим.
Во-вторых, множество бонусов, от своей столовой и залов, до множества офисов и возможности переезжать из страны в страну не меняя компании. Бонусы кстати, стоит перевести из натурального вида в денежный и сравнить. К примеру, вы явно наедите обедов на большую сумму. Здесь они бесплатны, значит, вы сэкономили столько то тысяч долларов в год. И так далее. Не говоря уже про страховку.
В-третьих, резюме с гуглом и резюме без гугла — это очень разные вещи "по весу". Одна только работа там не означает, что вы хороший девелопер и вроде как все это знают… Но я лично был свидетелем, как фраза "я работал в гугле и мой опыт говорит о том, что вот так то лучше" моментально выигрывает спор. Особенно в глазах менеджеров, да.
И в четвертых, это связи. В гугле работают тысячи крайне сильных программистов и не только, и знакомство с ними — это тоже огромный капитал. От возможности спросить совета и помощи (даже если вы уже уволились), до возможного инвайта"по знакомству" в перспективный стартап

А где вы в го наткнулись на UB?
И в чем магия стандартных типов? Мне казалось, там всё максимально просто и явно сделано.

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

Мне кажется, что сейчас такой список есть у каждого второго, да и в чем тут сеньорность? Поиграться с мейнстримными технологиями?
Такой студент если и придёт на сеньора, то закономерно запнется на первом же вопросе сложнее helloworld.

Справедливости ради, в го магии не то, чтобы очень много :)
Если не считать ей рантайм со сборщиком мусора и шелудером, конечно.

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


Короче, это сродни истории жабы и гадюки. Трамп плохой, но вроде не заслужил. Соцсети в своём праве, но это тоже плохо. Если всех контролировать — тоже плохо.


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

> А так, наберите в Гугле Go, удивитесь, что он выдаст ссылки именно по Go
Вы же понимаете, что он выдаст вам ссылки именно по го, потому что вы скорее всего гуглили уже кучу программерских вещей и поэтому гугл догадывается, какой контекст вы ищете?
Думаю также, что с C или R тоже есть свои сложности, а также нет ничего плохого в том, чтобы называть язык так, как хочется, тем более, что это задаёт дополнительный контекст.
И да, кстати, домены для языков тоже называются golang.org и www.rust-lang.org вместо каких-нибудь go.it и rust.tech :)

Я правильно понимаю, что если вы встретите человека успешнее, но моложе вас, то перенимать его опыт и вообще учиться на примере вы не будете по причине, хм, первородства? :)

Информация

В рейтинге
Не участвует
Откуда
Москва, Москва и Московская обл., Россия
Зарегистрирован
Активность