home.social

#raii — Public Fediverse posts

Live and recent posts from across the Fediverse tagged #raii, aggregated by home.social.

  1. Ottawa puts $8.5 million behind 40 Atlantic Canadian AI projects

    Evan Solomon announces support for Université de Moncton, Volta Labs, Digital Nova Scotia, and others.
    The federal…
    #NewsBeep #News #Ottawa #acoa #AI #AtlanticCanada #CA #Canada #digitalnovascotia #EvanSolomon #Funding #govt #Halifax #novascotia #raii #universitédemoncton #volta
    newsbeep.com/ca/512265/

  2. CRTP должен умереть? АйТир Лист идиом и фичей C++: от худших к лучшим

    C++ — язык с долгой памятью. В нём до сих пор живут идиомы и приёмы, которые когда-то спасали разработчиков, а сегодня нередко мешают писать безопасный, быстрый и поддерживаемый код. Мы продолжаем использовать макросы, CRTP или iostream «по привычке», не всегда задумываясь о цене — сложности поддержки, скрытых багах, просадках производительности и времени команды. Разобраться, что в современном C++ действительно стоит брать в прод, а что пора оставить в прошлом, — важная задача для инженера, который не хочет тащить legacy в 2026 год. Привет, Хабр! Недавно мы запустили шоу «АйТир Лист». В каждом выпуске берём одну тему из мира разработки и раскладываем её по тир-листу — от FAIL до GOD. В первом выпуске разбирали open source для фронтенда , а во втором выпуске — обсудим непростую тему фич и идиом С++. Приглашённые эксперты — Антон Полухин, эксперт-разработчик C++ платформы городских сервисов Яндекса, и Даниил Черепанов, архитектор редакторов МойОфис. Будет субъективно, местами провокационно и точно полезно — чтобы вы посмотрели на привычные инструменты свежим взглядом и осознанно выбирали, на чём писать следующий проект.

    habr.com/ru/companies/ncloudte

    #c++ #мойофис #crtp #namespaces #лямбды #raii #исключения #variadic_templates #модули #pimpl

  3. CRTP должен умереть? АйТир Лист идиом и фичей C++: от худших к лучшим

    C++ — язык с долгой памятью. В нём до сих пор живут идиомы и приёмы, которые когда-то спасали разработчиков, а сегодня нередко мешают писать безопасный, быстрый и поддерживаемый код. Мы продолжаем использовать макросы, CRTP или iostream «по привычке», не всегда задумываясь о цене — сложности поддержки, скрытых багах, просадках производительности и времени команды. Разобраться, что в современном C++ действительно стоит брать в прод, а что пора оставить в прошлом, — важная задача для инженера, который не хочет тащить legacy в 2026 год. Привет, Хабр! Недавно мы запустили шоу «АйТир Лист». В каждом выпуске берём одну тему из мира разработки и раскладываем её по тир-листу — от FAIL до GOD. В первом выпуске разбирали open source для фронтенда , а во втором выпуске — обсудим непростую тему фич и идиом С++. Приглашённые эксперты — Антон Полухин, эксперт-разработчик C++ платформы городских сервисов Яндекса, и Даниил Черепанов, архитектор редакторов МойОфис. Будет субъективно, местами провокационно и точно полезно — чтобы вы посмотрели на привычные инструменты свежим взглядом и осознанно выбирали, на чём писать следующий проект.

    habr.com/ru/companies/ncloudte

    #c++ #мойофис #crtp #namespaces #лямбды #raii #исключения #variadic_templates #модули #pimpl

  4. CRTP должен умереть? АйТир Лист идиом и фичей C++: от худших к лучшим

    C++ — язык с долгой памятью. В нём до сих пор живут идиомы и приёмы, которые когда-то спасали разработчиков, а сегодня нередко мешают писать безопасный, быстрый и поддерживаемый код. Мы продолжаем использовать макросы, CRTP или iostream «по привычке», не всегда задумываясь о цене — сложности поддержки, скрытых багах, просадках производительности и времени команды. Разобраться, что в современном C++ действительно стоит брать в прод, а что пора оставить в прошлом, — важная задача для инженера, который не хочет тащить legacy в 2026 год. Привет, Хабр! Недавно мы запустили шоу «АйТир Лист». В каждом выпуске берём одну тему из мира разработки и раскладываем её по тир-листу — от FAIL до GOD. В первом выпуске разбирали open source для фронтенда , а во втором выпуске — обсудим непростую тему фич и идиом С++. Приглашённые эксперты — Антон Полухин, эксперт-разработчик C++ платформы городских сервисов Яндекса, и Даниил Черепанов, архитектор редакторов МойОфис. Будет субъективно, местами провокационно и точно полезно — чтобы вы посмотрели на привычные инструменты свежим взглядом и осознанно выбирали, на чём писать следующий проект.

    habr.com/ru/companies/ncloudte

    #c++ #мойофис #crtp #namespaces #лямбды #raii #исключения #variadic_templates #модули #pimpl

  5. CRTP должен умереть? АйТир Лист идиом и фичей C++: от худших к лучшим

    C++ — язык с долгой памятью. В нём до сих пор живут идиомы и приёмы, которые когда-то спасали разработчиков, а сегодня нередко мешают писать безопасный, быстрый и поддерживаемый код. Мы продолжаем использовать макросы, CRTP или iostream «по привычке», не всегда задумываясь о цене — сложности поддержки, скрытых багах, просадках производительности и времени команды. Разобраться, что в современном C++ действительно стоит брать в прод, а что пора оставить в прошлом, — важная задача для инженера, который не хочет тащить legacy в 2026 год. Привет, Хабр! Недавно мы запустили шоу «АйТир Лист». В каждом выпуске берём одну тему из мира разработки и раскладываем её по тир-листу — от FAIL до GOD. В первом выпуске разбирали open source для фронтенда , а во втором выпуске — обсудим непростую тему фич и идиом С++. Приглашённые эксперты — Антон Полухин, эксперт-разработчик C++ платформы городских сервисов Яндекса, и Даниил Черепанов, архитектор редакторов МойОфис. Будет субъективно, местами провокационно и точно полезно — чтобы вы посмотрели на привычные инструменты свежим взглядом и осознанно выбирали, на чём писать следующий проект.

    habr.com/ru/companies/ncloudte

    #c++ #мойофис #crtp #namespaces #лямбды #raii #исключения #variadic_templates #модули #pimpl

  6. [Перевод] RAII в современном C++: как правильно организовать автоматическое управление ресурсами

    Привет, Хаброжители! Сегодня мы приготовили для вас перевод статьи про RAII в современном C++. Вы узнаете как правильно организовать автоматическое управление ресурсами. В современном C++ управление ресурсами — это ключевая составляющая корректности программы, затрагивающая память, дескрипторы файлов, блокировки и все внешние системы, с которыми приходится взаимодействовать вашему коду. Начинающие программисты часто полагают, что при работе с C++ требуется активно очищать память вручную, пользуясь командами new, delete, malloc или free. Но на самом деле в современном C++ эта работа строится существенно иначе.

    habr.com/ru/companies/piter/ar

    #c++ #raii #автоматическое_управление #управление_ресурсами

  7. Inside of an actor, we can't assume `deinit` is isolated. If anything, we ought to assume the opposite.

    Since there's no easy way to express "release all owned resources", the actual change I'm being nudged towards is: express ONLY resource ownership with a new type. There, you can use deinit.

    This is #RAII from C++, but in Swift.

  8. [Перевод] Линус Торвальдс: Критика C++ — Комплексный анализ

    Линус Торвальдс, создатель (и великодушный диктатор) Linux, всегда с особой критикой относился к C++, объясняя почему он отвергает его в разработке ядра Linux. Но он не просто резко высказывается против использования C++, а приводит ряд аргументов, которые мы с вами сегодня и рассмотрим.

    habr.com/ru/companies/otus/art

    #c++ #linux #Линус_Торвальдс #ядро_Linux #исключения_в_c++ #RAII #управление_памятью #ооп #абстракции_в_программировании

  9. [Перевод] Линус Торвальдс: Критика C++ — Комплексный анализ

    Линус Торвальдс, создатель (и великодушный диктатор) Linux, всегда с особой критикой относился к C++, объясняя почему он отвергает его в разработке ядра Linux. Но он не просто резко высказывается против использования C++, а приводит ряд аргументов, которые мы с вами сегодня и рассмотрим.

    habr.com/ru/companies/otus/art

    #c++ #linux #Линус_Торвальдс #ядро_Linux #исключения_в_c++ #RAII #управление_памятью #ооп #абстракции_в_программировании

  10. [Перевод] Линус Торвальдс: Критика C++ — Комплексный анализ

    Линус Торвальдс, создатель (и великодушный диктатор) Linux, всегда с особой критикой относился к C++, объясняя почему он отвергает его в разработке ядра Linux. Но он не просто резко высказывается против использования C++, а приводит ряд аргументов, которые мы с вами сегодня и рассмотрим.

    habr.com/ru/companies/otus/art

    #c++ #linux #Линус_Торвальдс #ядро_Linux #исключения_в_c++ #RAII #управление_памятью #ооп #абстракции_в_программировании

  11. [Перевод] Линус Торвальдс: Критика C++ — Комплексный анализ

    Линус Торвальдс, создатель (и великодушный диктатор) Linux, всегда с особой критикой относился к C++, объясняя почему он отвергает его в разработке ядра Linux. Но он не просто резко высказывается против использования C++, а приводит ряд аргументов, которые мы с вами сегодня и рассмотрим.

    habr.com/ru/companies/otus/art

    #c++ #linux #Линус_Торвальдс #ядро_Linux #исключения_в_c++ #RAII #управление_памятью #ооп #абстракции_в_программировании

  12. RAII 2.0: RAII как архитектурный инструмент в C++

    Идиома RAII — давно зарекомендовал себя как удобный способ автоматического управления ресурсами в C++. Обычно мы применяем его для управления памятью, файловыми дескрипторами или мьютексами. Однако что, если расширить понятие RAII до управления не только физическими ресурсами, но и логическими контрактами и состояниями системы? В этой статье я хочу поговорить о том, как RAII можно использовать для контроля жизненного цикла асинхронных операций, транзакций или подписок, гарантируя их корректное завершение или откат до прежнего состояния.

    habr.com/ru/articles/901092/

    #С++ #RAII #Жизненный_цикл #Подписки #Транзакции #Безопасность_кода #управление_ресурсами #паттерны #Логический_контракт

  13. RAII 2.0: RAII как архитектурный инструмент в C++

    Идиома RAII — давно зарекомендовал себя как удобный способ автоматического управления ресурсами в C++. Обычно мы применяем его для управления памятью, файловыми дескрипторами или мьютексами. Однако что, если расширить понятие RAII до управления не только физическими ресурсами, но и логическими контрактами и состояниями системы? В этой статье я хочу поговорить о том, как RAII можно использовать для контроля жизненного цикла асинхронных операций, транзакций или подписок, гарантируя их корректное завершение или откат до прежнего состояния.

    habr.com/ru/articles/901092/

    #С++ #RAII #Жизненный_цикл #Подписки #Транзакции #Безопасность_кода #управление_ресурсами #паттерны #Логический_контракт

  14. RAII 2.0: RAII как архитектурный инструмент в C++

    Идиома RAII — давно зарекомендовал себя как удобный способ автоматического управления ресурсами в C++. Обычно мы применяем его для управления памятью, файловыми дескрипторами или мьютексами. Однако что, если расширить понятие RAII до управления не только физическими ресурсами, но и логическими контрактами и состояниями системы? В этой статье я хочу поговорить о том, как RAII можно использовать для контроля жизненного цикла асинхронных операций, транзакций или подписок, гарантируя их корректное завершение или откат до прежнего состояния.

    habr.com/ru/articles/901092/

    #С++ #RAII #Жизненный_цикл #Подписки #Транзакции #Безопасность_кода #управление_ресурсами #паттерны #Логический_контракт

  15. RAII 2.0: RAII как архитектурный инструмент в C++

    Идиома RAII — давно зарекомендовал себя как удобный способ автоматического управления ресурсами в C++. Обычно мы применяем его для управления памятью, файловыми дескрипторами или мьютексами. Однако что, если расширить понятие RAII до управления не только физическими ресурсами, но и логическими контрактами и состояниями системы? В этой статье я хочу поговорить о том, как RAII можно использовать для контроля жизненного цикла асинхронных операций, транзакций или подписок, гарантируя их корректное завершение или откат до прежнего состояния.

    habr.com/ru/articles/901092/

    #С++ #RAII #Жизненный_цикл #Подписки #Транзакции #Безопасность_кода #управление_ресурсами #паттерны #Логический_контракт

  16. Man, I wish Rust had the 'defer' keyword 😞
    Wait...

    🦀 **scopeguard**: A Rust library for a convenient RAII scope guard.

    🌀 Has a defer! macro.

    🔥 Runs a closure on scope exit, even if a panic occurs.

    ⭐ GitHub: github.com/bluss/scopeguard

  17. Man, I wish Rust had the 'defer' keyword 😞
    Wait...

    🦀 **scopeguard**: A Rust library for a convenient RAII scope guard.

    🌀 Has a defer! macro.

    🔥 Runs a closure on scope exit, even if a panic occurs.

    ⭐ GitHub: github.com/bluss/scopeguard

    #rustlang #library #defer #scope #raii #guard #programming #pattern #opensource

  18. Man, I wish Rust had the 'defer' keyword 😞
    Wait...

    🦀 **scopeguard**: A Rust library for a convenient RAII scope guard.

    🌀 Has a defer! macro.

    🔥 Runs a closure on scope exit, even if a panic occurs.

    ⭐ GitHub: github.com/bluss/scopeguard

    #rustlang #library #defer #scope #raii #guard #programming #pattern #opensource

  19. Man, I wish Rust had the 'defer' keyword 😞
    Wait...

    🦀 **scopeguard**: A Rust library for a convenient RAII scope guard.

    🌀 Has a defer! macro.

    🔥 Runs a closure on scope exit, even if a panic occurs.

    ⭐ GitHub: github.com/bluss/scopeguard

    #rustlang #library #defer #scope #raii #guard #programming #pattern #opensource

  20. Man, I wish Rust had the 'defer' keyword 😞
    Wait...

    🦀 **scopeguard**: A Rust library for a convenient RAII scope guard.

    🌀 Has a defer! macro.

    🔥 Runs a closure on scope exit, even if a panic occurs.

    ⭐ GitHub: github.com/bluss/scopeguard

    #rustlang #library #defer #scope #raii #guard #programming #pattern #opensource

  21. Having worked a few weeks now with that uses __attribute__ (cleanup) , I am disappointed to say that it's an insignificant improvement.

    Why?

    Because you need to remember to annotate every variable, and sometimes cleanup is not what you want, leading to double-free.
    At least the freeing is declared next to the variable, so that's nice.

    But this still sucks compared to imposed on the type, where you don't need to remember.

  22. Resource acquisition is initialization.

    Her blir det liv.

    #raii #raii

  23. Blogged: Use Scope Guards to Prevent Resource Leaks

    Modern #C++ has many neat #RAII-based solutions for managing resources. However, every now and then one needs to manually make sure that some code is run when a resource is not needed anymore. One great solution to this problem is a #ScopeGuard. I've surprisingly rarely seen them used in practice!

    lukas-barth.net/blog/scope-gua

    #cpp #cplusplus

    (Note: Replies to this post will be visible as comments on the blog.)

  24. @jaredwhite Yeah I am wondering if it would make more sense to have a separate community protocol for initialization.

    I'm very strongly of the opinion that you should never be able to get a reference to an uninitialized object (I think this is sometimes called #RAII?) Unfortunately that ship sailed for web components a long time ago. Constructors are worthless in this context too (and terrible per blog.dwac.dev/posts/ctor/). So maybe a protocol around initialization would help, whether that is or isn't `defer-hydration`.

  25. @jhx You asked for it, so I'll answer it:

    Imho, C++ design is broken from the very beginning. It wanted to provide #OOP language constructs, still maintaining full #C compatibility (which already failed many years ago, cause the languages took different roads).

    It combines #exceptions (IMHO generally a bad idea) with explicit resource management (an *awful* idea, forcing you to use #RAII which will in turn mandate creation of purely "technical" classes, just to manage resources).

    It wanted #generics, but that's impossible without breaking C compatibility, so it came up with #templates, actually a #preprocessor on steroids.

    Overloading also doesn't fit into the simple C library ABI (where #linker symbols are named just like the function), so it came up with "name mangling" ... which is especially horrific because it is *not* standardized.

    Ah well, I could go on 😂

  26. Il #C ci piace, ma sentiamo spesso la mancanza di un meccanismo di #RAII nel linguaggio. Per fortuna, molti compilatori consentono di implementarne uno con relativamente poco sforzo.

    Perciò il buon @micia ha pensato di buttare giù un articolo per mostrare come farlo e spiegare il nostro punto di vista.

    Qualcuno abbastanza volenteroso da condividere commenti e dirci se abbiamo sbagliato nulla, prima di pubblicarlo sul nostro sito?

    #CProgramming #Programming

    codeberg.org/1414codeforge/art