В статье как то совершенно не упоминается что внутри мозилки родился и вырос Rust, который и позволил этот самый "квантовый скачок" сделать, упростив многопоточное программирование.
Тогда будут проблемы как у королей прошлого, сейчас относительно бедные люди живут лучше богатейших королей прошлого, относительно удобств (имхо). Выгоднее какую то технологию распространять на всех чтобы в любом захолустье она была доступна, чем получать исключительно самому за бешенные деньги и трястись что однажды будешь находиться слишком далеко от нужных специалистов. Я уже молчу о том что проблемы не стареющего организма нужно коллективно всем врачам мира решать, я предположу что там очень много потенциальных проблем присущих только нестареющему организму.
— Сколько ему?
— 120
— а почему он такой молодой? как его лечить?
Я вообще хотел тонко намекнуть что человечество постоянно сталкивается с новыми проблемами и в общем то вполне себе решает их.
Есть куча вариантов, навскидку:
1. Контроль рождаемости. А зачем плодиться если все и так живут вечно?
2. Компатные автоматические фермы в каждом доме
3. Фермы на океанах
4. Повальная автоматизация всего производства и фермерства в частности
5. Сейчас уже возятся с исскуственным мясом
6. Выдача пищи строго по эффективной диете для всех без исключения. Вариант так себе для тех кто любит поесть разнообразной пищи, но как дополнительный плюс приводит к общему улучшению здоровья у населения (переедать вредно, определенные виды пищи здоровее остальных).
— Более фантастические, но тем не менее вполне логичные
7. Модификация тел для более эффективного потребления пищи и использования имеющейся энергии
8. А что если бессмертия достигли вообще не в биологическом теле? тогда нам нужна энергия вместо пищи, и учитывая ресурсы космоса имхо добыть энергию проще чем конкретные органические соединения.
9. Синтез необходимых органических веществ из неорганических, особенно если термояд будет. Я не химик, но предположу что при достаточном развитии науки и наличии большого количества энергии этот вариант реализуем.
10. В далеком будующем возможно мы научимся менять само вещество, условно говоря убирать и добавлять атомы чтобы получить то что нужно. Опять же я не физик, но считаю ХОТЯ БЫ такие штуки делом времени: en.wikipedia.org/wiki/Molecular_assembler
Как и всегда в такой ситуации человечество найдет способ разобраться с проблемой, так как мы сейчас даже близко не приблизились к эффективному приему, распределению и добычи пищи например.
С другой стороны люди с семьей как правило старше и не любят засиживаться когда их ждут дома, в то время как вольный птиц без семьи может «жить проектом». Ситуации разные бывают.
Зависит от того кому как удобнее воспринимать. Я в 12 засел за книжную библию дельфи, и уже через программирование начал адекватно формулы в школе понимать.
Удобно читать про основы кодинга в своем ритме, а не пытаться на скорость понять тренера.
Про лонгриды и видео — но ведь базовые вещи вам действительно разжевали речью, в школе на уроке или в университете на лекции. Что такое переменная, какие бывают операции над числами и так далее.
Ну вы тут зря всех под одну гребенку подписываете, очень зря. Или вы тут про математику, а не программирование?
0.2 токио вообще по сути был плейграундом для третьей. Не помню ни одной серьезной либы которая поддерживала бы его не в рамках эксперимента. 0.1 и 0.3, причем 0.3 до сих пор сырая.
tokio 0.2 зарелизилась только совсем недавно. Несколько библиотек в альфе (hyper тот же если не ошибаюсь) таргетились на альфу tokio. Вы с futures крейтом не перепутали? Это именно там были эти backwards/compat.
Так и не нашел, потому что дока предлагала методы которых на самом деле у типов не было.
А версии зависимости у вас совпадали? в некоторых крейтах надо явно активировать features чтобы больше было доступно.
P.S. Ситуация с асинхронщиной в расте еще совсем недавно была совсем печальная, но сейчас с async/await стабилизацией все очень бурно становится адекватным (сам слежу за асинхронщиной в расте года так с 2016-го).
А так да, большую часть времени вкатиться в асинхронщину на расте было очень сложно (но поняв базовые концепты все становилось просто). Сейчас с async/await очень скоро все станет гораздо лучше (собственно, уже в какой то мере).
Это не 81514 ошибок в коде, это 81514 сообщений от анализатора. Который как в статье написано требует проверять все на каждый чих, даже там где проверка не нужна. Это раздувает код, тормозит приложение.
Мало того что в каждой из них потенциально проблемы, так еще возможность выбора «не той системы».
Выбор системы в Rust обычно либо явный либо оптимальный. А базовые проверки в no_std можно и ручками разглядеть разок чтобы знать в дальнейшем как они под капотом выглядят. Я уже не говорю о том что есть и unsafe варианты которые дают вам тоже что и в C. Надо perfomance critical — делайте в конкретном месте unsafe. В остальных местах компилятор поможет отловить банальные но очень больные ошибки.
Потому и не возражает против переполнений или чего-то похожего
Rust тоже не возражает в release режиме, а вот в дебаге он вам покажет что вы не правы.
и система кодогенерации у него крайне простая
А я то читал как там все невероятно запутано в компиляторах и его оптимизациях, наверное я не прав.
Да еще как мне тут рассказывают для разных случаев разные проверки. Мало того что в каждой из них потенциально проблемы, так еще возможность выбора «не той системы».
Строго говоря с ними разобраться и «выучить» их быстрее чем разбираться со всеми UB в разных компиляторах на разных платформах C.
Я вижу в элитарности программирования вред. Машины на автопилоте как и умные компиляторы потенциально лучше человека справляются (и работают быстрее).
Я думаю в области программирования и так много задач/проблем чтобы фокусироваться на таких мелочах которые компилятор вполне способен сам отловить.
Тут еще интересный эффект что компилятор Rust меня по сути учит как безопасно и правильно программировать. В свое время лет в 14 я просто не осилил C++ на нормальном уровне ибо там было слишком много мудреных проблем и криптованных ошибок.
Ну и когда продакшен стоит уязвимый из-за hearthbleed который допустили вроде как опытные разработчики (да и всем миром проглядели в исходниках) становится совсем печально.
В статье как то совершенно не упоминается что внутри мозилки родился и вырос Rust, который и позволил этот самый "квантовый скачок" сделать, упростив многопоточное программирование.
— Сколько ему?
— 120
— а почему он такой молодой? как его лечить?
Есть куча вариантов, навскидку:
1. Контроль рождаемости. А зачем плодиться если все и так живут вечно?
2. Компатные автоматические фермы в каждом доме
3. Фермы на океанах
4. Повальная автоматизация всего производства и фермерства в частности
5. Сейчас уже возятся с исскуственным мясом
6. Выдача пищи строго по эффективной диете для всех без исключения. Вариант так себе для тех кто любит поесть разнообразной пищи, но как дополнительный плюс приводит к общему улучшению здоровья у населения (переедать вредно, определенные виды пищи здоровее остальных).
— Более фантастические, но тем не менее вполне логичные
7. Модификация тел для более эффективного потребления пищи и использования имеющейся энергии
8. А что если бессмертия достигли вообще не в биологическом теле? тогда нам нужна энергия вместо пищи, и учитывая ресурсы космоса имхо добыть энергию проще чем конкретные органические соединения.
9. Синтез необходимых органических веществ из неорганических, особенно если термояд будет. Я не химик, но предположу что при достаточном развитии науки и наличии большого количества энергии этот вариант реализуем.
10. В далеком будующем возможно мы научимся менять само вещество, условно говоря убирать и добавлять атомы чтобы получить то что нужно. Опять же я не физик, но считаю ХОТЯ БЫ такие штуки делом времени: en.wikipedia.org/wiki/Molecular_assembler
Как и всегда в такой ситуации человечество найдет способ разобраться с проблемой, так как мы сейчас даже близко не приблизились к эффективному приему, распределению и добычи пищи например.
Удобно читать про основы кодинга в своем ритме, а не пытаться на скорость понять тренера.
Ну вот как раз в tokio который поддерживает async/await пример:
github.com/tokio-rs/tokio/blob/master/examples/print_each_packet.rs#L89-L102
До этого тоже самое но на комбинаторах делалось.
А версии зависимости у вас совпадали? в некоторых крейтах надо явно активировать features чтобы больше было доступно.
P.S. Ситуация с асинхронщиной в расте еще совсем недавно была совсем печальная, но сейчас с async/await стабилизацией все очень бурно становится адекватным (сам слежу за асинхронщиной в расте года так с 2016-го).
А так да, большую часть времени вкатиться в асинхронщину на расте было очень сложно (но поняв базовые концепты все становилось просто). Сейчас с async/await очень скоро все станет гораздо лучше (собственно, уже в какой то мере).
0.2 tokio уже релизнули, остальные библиотеки тоже стабилизируются на 0.2 версии уже.
Rust тоже не возражает в release режиме, а вот в дебаге он вам покажет что вы не правы.
А я то читал как там все невероятно запутано в компиляторах и его оптимизациях, наверное я не прав.
Строго говоря с ними разобраться и «выучить» их быстрее чем разбираться со всеми UB в разных компиляторах на разных платформах C.
А почему он должен так сильно отличаться от C?
godbolt.org/z/am8Bwf
godbolt.org/z/wp6wpu
Но компилятор ловит больше ошибок чем компиляторы C, разве это не повышает надежность?
Я думаю в области программирования и так много задач/проблем чтобы фокусироваться на таких мелочах которые компилятор вполне способен сам отловить.
Тут еще интересный эффект что компилятор Rust меня по сути учит как безопасно и правильно программировать. В свое время лет в 14 я просто не осилил C++ на нормальном уровне ибо там было слишком много мудреных проблем и криптованных ошибок.
Ну и когда продакшен стоит уязвимый из-за hearthbleed который допустили вроде как опытные разработчики (да и всем миром проглядели в исходниках) становится совсем печально.