#raii — Public Fediverse posts
Live and recent posts from across the Fediverse tagged #raii, aggregated by home.social.
-
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
https://www.newsbeep.com/ca/512265/ -
CRTP должен умереть? АйТир Лист идиом и фичей C++: от худших к лучшим
C++ — язык с долгой памятью. В нём до сих пор живут идиомы и приёмы, которые когда-то спасали разработчиков, а сегодня нередко мешают писать безопасный, быстрый и поддерживаемый код. Мы продолжаем использовать макросы, CRTP или iostream «по привычке», не всегда задумываясь о цене — сложности поддержки, скрытых багах, просадках производительности и времени команды. Разобраться, что в современном C++ действительно стоит брать в прод, а что пора оставить в прошлом, — важная задача для инженера, который не хочет тащить legacy в 2026 год. Привет, Хабр! Недавно мы запустили шоу «АйТир Лист». В каждом выпуске берём одну тему из мира разработки и раскладываем её по тир-листу — от FAIL до GOD. В первом выпуске разбирали open source для фронтенда , а во втором выпуске — обсудим непростую тему фич и идиом С++. Приглашённые эксперты — Антон Полухин, эксперт-разработчик C++ платформы городских сервисов Яндекса, и Даниил Черепанов, архитектор редакторов МойОфис. Будет субъективно, местами провокационно и точно полезно — чтобы вы посмотрели на привычные инструменты свежим взглядом и осознанно выбирали, на чём писать следующий проект.
https://habr.com/ru/companies/ncloudtech/articles/982972/
#c++ #мойофис #crtp #namespaces #лямбды #raii #исключения #variadic_templates #модули #pimpl
-
CRTP должен умереть? АйТир Лист идиом и фичей C++: от худших к лучшим
C++ — язык с долгой памятью. В нём до сих пор живут идиомы и приёмы, которые когда-то спасали разработчиков, а сегодня нередко мешают писать безопасный, быстрый и поддерживаемый код. Мы продолжаем использовать макросы, CRTP или iostream «по привычке», не всегда задумываясь о цене — сложности поддержки, скрытых багах, просадках производительности и времени команды. Разобраться, что в современном C++ действительно стоит брать в прод, а что пора оставить в прошлом, — важная задача для инженера, который не хочет тащить legacy в 2026 год. Привет, Хабр! Недавно мы запустили шоу «АйТир Лист». В каждом выпуске берём одну тему из мира разработки и раскладываем её по тир-листу — от FAIL до GOD. В первом выпуске разбирали open source для фронтенда , а во втором выпуске — обсудим непростую тему фич и идиом С++. Приглашённые эксперты — Антон Полухин, эксперт-разработчик C++ платформы городских сервисов Яндекса, и Даниил Черепанов, архитектор редакторов МойОфис. Будет субъективно, местами провокационно и точно полезно — чтобы вы посмотрели на привычные инструменты свежим взглядом и осознанно выбирали, на чём писать следующий проект.
https://habr.com/ru/companies/ncloudtech/articles/982972/
#c++ #мойофис #crtp #namespaces #лямбды #raii #исключения #variadic_templates #модули #pimpl
-
CRTP должен умереть? АйТир Лист идиом и фичей C++: от худших к лучшим
C++ — язык с долгой памятью. В нём до сих пор живут идиомы и приёмы, которые когда-то спасали разработчиков, а сегодня нередко мешают писать безопасный, быстрый и поддерживаемый код. Мы продолжаем использовать макросы, CRTP или iostream «по привычке», не всегда задумываясь о цене — сложности поддержки, скрытых багах, просадках производительности и времени команды. Разобраться, что в современном C++ действительно стоит брать в прод, а что пора оставить в прошлом, — важная задача для инженера, который не хочет тащить legacy в 2026 год. Привет, Хабр! Недавно мы запустили шоу «АйТир Лист». В каждом выпуске берём одну тему из мира разработки и раскладываем её по тир-листу — от FAIL до GOD. В первом выпуске разбирали open source для фронтенда , а во втором выпуске — обсудим непростую тему фич и идиом С++. Приглашённые эксперты — Антон Полухин, эксперт-разработчик C++ платформы городских сервисов Яндекса, и Даниил Черепанов, архитектор редакторов МойОфис. Будет субъективно, местами провокационно и точно полезно — чтобы вы посмотрели на привычные инструменты свежим взглядом и осознанно выбирали, на чём писать следующий проект.
https://habr.com/ru/companies/ncloudtech/articles/982972/
#c++ #мойофис #crtp #namespaces #лямбды #raii #исключения #variadic_templates #модули #pimpl
-
CRTP должен умереть? АйТир Лист идиом и фичей C++: от худших к лучшим
C++ — язык с долгой памятью. В нём до сих пор живут идиомы и приёмы, которые когда-то спасали разработчиков, а сегодня нередко мешают писать безопасный, быстрый и поддерживаемый код. Мы продолжаем использовать макросы, CRTP или iostream «по привычке», не всегда задумываясь о цене — сложности поддержки, скрытых багах, просадках производительности и времени команды. Разобраться, что в современном C++ действительно стоит брать в прод, а что пора оставить в прошлом, — важная задача для инженера, который не хочет тащить legacy в 2026 год. Привет, Хабр! Недавно мы запустили шоу «АйТир Лист». В каждом выпуске берём одну тему из мира разработки и раскладываем её по тир-листу — от FAIL до GOD. В первом выпуске разбирали open source для фронтенда , а во втором выпуске — обсудим непростую тему фич и идиом С++. Приглашённые эксперты — Антон Полухин, эксперт-разработчик C++ платформы городских сервисов Яндекса, и Даниил Черепанов, архитектор редакторов МойОфис. Будет субъективно, местами провокационно и точно полезно — чтобы вы посмотрели на привычные инструменты свежим взглядом и осознанно выбирали, на чём писать следующий проект.
https://habr.com/ru/companies/ncloudtech/articles/982972/
#c++ #мойофис #crtp #namespaces #лямбды #raii #исключения #variadic_templates #модули #pimpl
-
[Перевод] RAII в современном C++: как правильно организовать автоматическое управление ресурсами
Привет, Хаброжители! Сегодня мы приготовили для вас перевод статьи про RAII в современном C++. Вы узнаете как правильно организовать автоматическое управление ресурсами. В современном C++ управление ресурсами — это ключевая составляющая корректности программы, затрагивающая память, дескрипторы файлов, блокировки и все внешние системы, с которыми приходится взаимодействовать вашему коду. Начинающие программисты часто полагают, что при работе с C++ требуется активно очищать память вручную, пользуясь командами new, delete, malloc или free. Но на самом деле в современном C++ эта работа строится существенно иначе.
-
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.
-
[Перевод] Линус Торвальдс: Критика C++ — Комплексный анализ
Линус Торвальдс, создатель (и великодушный диктатор) Linux, всегда с особой критикой относился к C++, объясняя почему он отвергает его в разработке ядра Linux. Но он не просто резко высказывается против использования C++, а приводит ряд аргументов, которые мы с вами сегодня и рассмотрим.
https://habr.com/ru/companies/otus/articles/902724/
#c++ #linux #Линус_Торвальдс #ядро_Linux #исключения_в_c++ #RAII #управление_памятью #ооп #абстракции_в_программировании
-
[Перевод] Линус Торвальдс: Критика C++ — Комплексный анализ
Линус Торвальдс, создатель (и великодушный диктатор) Linux, всегда с особой критикой относился к C++, объясняя почему он отвергает его в разработке ядра Linux. Но он не просто резко высказывается против использования C++, а приводит ряд аргументов, которые мы с вами сегодня и рассмотрим.
https://habr.com/ru/companies/otus/articles/902724/
#c++ #linux #Линус_Торвальдс #ядро_Linux #исключения_в_c++ #RAII #управление_памятью #ооп #абстракции_в_программировании
-
[Перевод] Линус Торвальдс: Критика C++ — Комплексный анализ
Линус Торвальдс, создатель (и великодушный диктатор) Linux, всегда с особой критикой относился к C++, объясняя почему он отвергает его в разработке ядра Linux. Но он не просто резко высказывается против использования C++, а приводит ряд аргументов, которые мы с вами сегодня и рассмотрим.
https://habr.com/ru/companies/otus/articles/902724/
#c++ #linux #Линус_Торвальдс #ядро_Linux #исключения_в_c++ #RAII #управление_памятью #ооп #абстракции_в_программировании
-
[Перевод] Линус Торвальдс: Критика C++ — Комплексный анализ
Линус Торвальдс, создатель (и великодушный диктатор) Linux, всегда с особой критикой относился к C++, объясняя почему он отвергает его в разработке ядра Linux. Но он не просто резко высказывается против использования C++, а приводит ряд аргументов, которые мы с вами сегодня и рассмотрим.
https://habr.com/ru/companies/otus/articles/902724/
#c++ #linux #Линус_Торвальдс #ядро_Linux #исключения_в_c++ #RAII #управление_памятью #ооп #абстракции_в_программировании
-
RAII 2.0: RAII как архитектурный инструмент в C++
Идиома RAII — давно зарекомендовал себя как удобный способ автоматического управления ресурсами в C++. Обычно мы применяем его для управления памятью, файловыми дескрипторами или мьютексами. Однако что, если расширить понятие RAII до управления не только физическими ресурсами, но и логическими контрактами и состояниями системы? В этой статье я хочу поговорить о том, как RAII можно использовать для контроля жизненного цикла асинхронных операций, транзакций или подписок, гарантируя их корректное завершение или откат до прежнего состояния.
https://habr.com/ru/articles/901092/
#С++ #RAII #Жизненный_цикл #Подписки #Транзакции #Безопасность_кода #управление_ресурсами #паттерны #Логический_контракт
-
RAII 2.0: RAII как архитектурный инструмент в C++
Идиома RAII — давно зарекомендовал себя как удобный способ автоматического управления ресурсами в C++. Обычно мы применяем его для управления памятью, файловыми дескрипторами или мьютексами. Однако что, если расширить понятие RAII до управления не только физическими ресурсами, но и логическими контрактами и состояниями системы? В этой статье я хочу поговорить о том, как RAII можно использовать для контроля жизненного цикла асинхронных операций, транзакций или подписок, гарантируя их корректное завершение или откат до прежнего состояния.
https://habr.com/ru/articles/901092/
#С++ #RAII #Жизненный_цикл #Подписки #Транзакции #Безопасность_кода #управление_ресурсами #паттерны #Логический_контракт
-
RAII 2.0: RAII как архитектурный инструмент в C++
Идиома RAII — давно зарекомендовал себя как удобный способ автоматического управления ресурсами в C++. Обычно мы применяем его для управления памятью, файловыми дескрипторами или мьютексами. Однако что, если расширить понятие RAII до управления не только физическими ресурсами, но и логическими контрактами и состояниями системы? В этой статье я хочу поговорить о том, как RAII можно использовать для контроля жизненного цикла асинхронных операций, транзакций или подписок, гарантируя их корректное завершение или откат до прежнего состояния.
https://habr.com/ru/articles/901092/
#С++ #RAII #Жизненный_цикл #Подписки #Транзакции #Безопасность_кода #управление_ресурсами #паттерны #Логический_контракт
-
RAII 2.0: RAII как архитектурный инструмент в C++
Идиома RAII — давно зарекомендовал себя как удобный способ автоматического управления ресурсами в C++. Обычно мы применяем его для управления памятью, файловыми дескрипторами или мьютексами. Однако что, если расширить понятие RAII до управления не только физическими ресурсами, но и логическими контрактами и состояниями системы? В этой статье я хочу поговорить о том, как RAII можно использовать для контроля жизненного цикла асинхронных операций, транзакций или подписок, гарантируя их корректное завершение или откат до прежнего состояния.
https://habr.com/ru/articles/901092/
#С++ #RAII #Жизненный_цикл #Подписки #Транзакции #Безопасность_кода #управление_ресурсами #паттерны #Логический_контракт
-
Understanding Memory Management, Part 2: C++ and RAII — https://educatedguesswork.org/posts/memory-management-2/
#HackerNews #MemoryManagement #C++ #RAII #ProgrammingTips #TechInsights #EducatedGuesswork -
The #Zig guys wade into the #Rust in the #Linux kernel brouhaha:
“RAII And The Rust/Linux Drama”, Loris Cro (https://kristoff.it/blog/raii-rust-linux/).
On HN: https://news.ycombinator.com/item?id=42291417
On Lobsters (where Asahi Lina responds): https://lobste.rs/s/hxerht/raii_rust_linux_drama
-
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: https://github.com/bluss/scopeguard
#rustlang #library #defer #scope #raii #guard #programming #pattern #opensource
-
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: https://github.com/bluss/scopeguard
#rustlang #library #defer #scope #raii #guard #programming #pattern #opensource
-
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: https://github.com/bluss/scopeguard
#rustlang #library #defer #scope #raii #guard #programming #pattern #opensource
-
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: https://github.com/bluss/scopeguard
#rustlang #library #defer #scope #raii #guard #programming #pattern #opensource
-
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: https://github.com/bluss/scopeguard
#rustlang #library #defer #scope #raii #guard #programming #pattern #opensource
-
C++OnSea 2024 SESSION ANNOUNCEMENT: The Surprising Power of Small Wrapper Classes by Jørgen Fogh
https://cpponsea.uk/2024/sessions/the-surprising-power-of-small-wrapper-classes
Register now at https://cpponsea.uk/tickets/
-
C++OnSea 2024 SESSION ANNOUNCEMENT: The Surprising Power of Small Wrapper Classes by Jørgen Fogh
https://cpponsea.uk/2024/sessions/the-surprising-power-of-small-wrapper-classes
Register now at https://cpponsea.uk/tickets/
-
Having worked a few weeks now with #C #code 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 #RAII imposed on the type, where you don't need to remember.
-
-
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!
https://www.lukas-barth.net/blog/scope-guards-resource-leaks/?s=fv
(Note: Replies to this post will be visible as comments on the blog.)
-
@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 https://blog.dwac.dev/posts/ctor/). So maybe a protocol around initialization would help, whether that is or isn't `defer-hydration`.
-
@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 😂
-
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?
-
Heyerdahl war sicher, dass die Menschen schon im Altertum die Meere überqueren konnten. Vor 50 Jahren segelte er zum Beweis im Papyrusboot über den Atlantik.
Thor Heyerdahl - Umweltaktivist in den Fußstapfen der alten Ägypter
#Atlantik #Kon-Tiki #Papyrusboot #Pazifik #RaII #ThorHeyerdahl #Überquerung