Если вы не знакомы с корутинами, то перед прочтением "как оно там устроено под капотом" всё-таки стоит познакомиться с ними. Какой смысл изучать хтонические потроха компилятора, если не представляете, какой результат от них ожидается?
А для человека, который понимает что делают корутины, и хорошо бы как они реализованы в других языках, это вполне полезное описание. В C++ довольно запутаный API, у меня чуть голова не лопнула в своё время даже простенькую реализацию корутин написать.
Нельзя в сетевых сервисах падать от ненадёжного мира. Триста кривых клиентов пришло, процесс от них упал - и отвалились соединения ещё с миллионом. А восстанавливать их долго и дорого.
Go это язык, за который можно посадить среднего джуниора или миддла. Т.к. язык без сложных концепций, то они справятся, а т.к. сборка мусора и никаких навороченных возможностей, то в ногу себе не выстрелят. Очень удобно для компаний, которым надо подешевле пасти побольше разработчиков.
Обратной стороной являются те же сборка мусора и отсутствие навороченных возможностей. Приходится пользоваться одним молотком, потому что других инструментов нет.
"Будет ли это считаться кражей?" - да. Закон обязывает вас вернуть найденое имущество владельцу, или принять меры для его розыска. ГК РФ 227.2: "Если лицо, имеющее право потребовать возврата найденной вещи, или место его пребывания неизвестны, нашедший вещь обязан заявить о находке в полицию или в орган местного самоуправления."
"Сможете ли вы доказать" - это совершенно отдельный вопрос. Если не получается доказать, что вы вор, это ещё не делает вас честным человеком. Просто вы ловкий вор. Конкретно же в данном случае, с наличкой доказать получится разве что если переписать номера или пометить купюры, но вот блокчейн с удовольствием сохранит всю историю того, кому и когда вы продали украденое.
А зачем вам знать количество карт? Карты не надо нумеровать "1,2,3,4...". Если после воображаемой сортировки ряд будет "7,40,12345,999999,10000000", алгоритм сработает точно так же.
Поэтому можно взять любой ДСЧ, генерирующий числа от 0 до N и его использовать. Для большинства практических применений 2^64 вполне хватит с запасом.
https://en.wikipedia.org/wiki/Pentium_FDIV_bug ещё никто не приносил, потому что не застали? К вопросу о золотом стандарте точности :)
AI компании смотрят на вас с недоумением и закупают ещё один грузовик GPU.
Если вы не знакомы с корутинами, то перед прочтением "как оно там устроено под капотом" всё-таки стоит познакомиться с ними. Какой смысл изучать хтонические потроха компилятора, если не представляете, какой результат от них ожидается?
А для человека, который понимает что делают корутины, и хорошо бы как они реализованы в других языках, это вполне полезное описание. В C++ довольно запутаный API, у меня чуть голова не лопнула в своё время даже простенькую реализацию корутин написать.
Если бы вместо `int state_;` там было `enum State { state1, state2, state3 } state_;` -- вам понятнее было бы? Это функционально идентичный код.
Ну какой же это Rust, это Haskell :)
Нельзя в сетевых сервисах падать от ненадёжного мира. Триста кривых клиентов пришло, процесс от них упал - и отвалились соединения ещё с миллионом. А восстанавливать их долго и дорого.
"Ты не должен этого хотеть" (c) Яндекс
Позволю себе процитировать анекдот: "Ути какие мы оптимисты"
Всё вышеперечисленное может быть - и не сработать.
Сейчас вам расскажут про Теслу. Которая, правда, работает ну так... не везде и не всегда.
Я, кстати, сделал для своих поделок на STM32. Не так уж сложно.
Go это язык, за который можно посадить среднего джуниора или миддла. Т.к. язык без сложных концепций, то они справятся, а т.к. сборка мусора и никаких навороченных возможностей, то в ногу себе не выстрелят. Очень удобно для компаний, которым надо подешевле пасти побольше разработчиков.
Обратной стороной являются те же сборка мусора и отсутствие навороченных возможностей. Приходится пользоваться одним молотком, потому что других инструментов нет.
У микрософта платная еда в офисах. По крайней мере была, когда я там работал. У амазона еды не было вообще, поддерживайте местный малый бизнес.
Микрософт платит немного относительно другого бигтеха. Раньше это компенсировалось отсутствием увольнений, а теперь просто платят меньше :)
А разве не все так делают при каждой смене работы? Или вы первые полгода (в лучшем случае) работаете с нулевой отдачей?
"Будет ли это считаться кражей?" - да. Закон обязывает вас вернуть найденое имущество владельцу, или принять меры для его розыска. ГК РФ 227.2: "Если лицо, имеющее право потребовать возврата найденной вещи, или место его пребывания неизвестны, нашедший вещь обязан заявить о находке в полицию или в орган местного самоуправления."
"Сможете ли вы доказать" - это совершенно отдельный вопрос. Если не получается доказать, что вы вор, это ещё не делает вас честным человеком. Просто вы ловкий вор. Конкретно же в данном случае, с наличкой доказать получится разве что если переписать номера или пометить купюры, но вот блокчейн с удовольствием сохранит всю историю того, кому и когда вы продали украденое.
Ага, совсем как бренд Enron. Тоже дорогой, старая же компания, известная.
Ведь каждый раз с музейщиков получали обновлённый документ с ТЗ и доплату за доработки? Правда же получали, исполнитель же не дурак?
Другая книга на похожую тему: Algorithms to live by
https://www.goodreads.com/book/show/25666050-algorithms-to-live-by
А зачем вам знать количество карт? Карты не надо нумеровать "1,2,3,4...". Если после воображаемой сортировки ряд будет "7,40,12345,999999,10000000", алгоритм сработает точно так же.
Поэтому можно взять любой ДСЧ, генерирующий числа от 0 до N и его использовать. Для большинства практических применений 2^64 вполне хватит с запасом.
Попробуйте передать в качестве параметра absl::AnyInvocable. Внезапно, он не копируется.