home.social

#compiletime — Public Fediverse posts

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

  1. С++26 — готов! Итоги встречи ISO C++ в Кройдоне

    Привет! На связи Антон Полухин из Техплатформы Городских сервисов Яндекса. На днях в Кройдоне состоялась встреча международного комитета по стандартизации языка программирования C++, в которой я принимал активное участие. В этот раз (как и в прошлый), всё внимание было сосредоточено на C++26 и… теперь он готов! Осталось пройти формальные этапы в вышестоящих инстанциях ISO, и мы получим C++26 который заслужили. В нём будут: – reflection, – контракты, – SIMD, – линейная алгебра, – расширенные возможности сonstexpr, – hardening, – Hazard Pointer и RCU, – #embed, – executors, – и многие другие полезные вещи. Подробности и новинки

    habr.com/ru/companies/yandex/a

    #contracts #reflection #c++26 #с++26 #с++ #программирование #simd #compiletime #compile_time #hardening

  2. С++26 — готов! Итоги встречи ISO C++ в Кройдоне

    Привет! На связи Антон Полухин из Техплатформы Городских сервисов Яндекса. На днях в Кройдоне состоялась встреча международного комитета по стандартизации языка программирования C++, в которой я принимал активное участие. В этот раз (как и в прошлый), всё внимание было сосредоточено на C++26 и… теперь он готов! Осталось пройти формальные этапы в вышестоящих инстанциях ISO, и мы получим C++26 который заслужили. В нём будут: – reflection, – контракты, – SIMD, – линейная алгебра, – расширенные возможности сonstexpr, – hardening, – Hazard Pointer и RCU, – #embed, – executors, – и многие другие полезные вещи. Подробности и новинки

    habr.com/ru/companies/yandex/a

    #contracts #reflection #c++26 #с++26 #с++ #программирование #simd #compiletime #compile_time #hardening

  3. С++26 — готов! Итоги встречи ISO C++ в Кройдоне

    Привет! На связи Антон Полухин из Техплатформы Городских сервисов Яндекса. На днях в Кройдоне состоялась встреча международного комитета по стандартизации языка программирования C++, в которой я принимал активное участие. В этот раз (как и в прошлый), всё внимание было сосредоточено на C++26 и… теперь он готов! Осталось пройти формальные этапы в вышестоящих инстанциях ISO, и мы получим C++26 который заслужили. В нём будут: – reflection, – контракты, – SIMD, – линейная алгебра, – расширенные возможности сonstexpr, – hardening, – Hazard Pointer и RCU, – #embed, – executors, – и многие другие полезные вещи. Подробности и новинки

    habr.com/ru/companies/yandex/a

    #contracts #reflection #c++26 #с++26 #с++ #программирование #simd #compiletime #compile_time #hardening

  4. С++26 — готов! Итоги встречи ISO C++ в Кройдоне

    Привет! На связи Антон Полухин из Техплатформы Городских сервисов Яндекса. На днях в Кройдоне состоялась встреча международного комитета по стандартизации языка программирования C++, в которой я принимал активное участие. В этот раз (как и в прошлый), всё внимание было сосредоточено на C++26 и… теперь он готов! Осталось пройти формальные этапы в вышестоящих инстанциях ISO, и мы получим C++26 который заслужили. В нём будут: – reflection, – контракты, – SIMD, – линейная алгебра, – расширенные возможности сonstexpr, – hardening, – Hazard Pointer и RCU, – #embed, – executors, – и многие другие полезные вещи. Подробности и новинки

    habr.com/ru/companies/yandex/a

    #contracts #reflection #c++26 #с++26 #с++ #программирование #simd #compiletime #compile_time #hardening

  5. Компилятор C в compile-time

    Если кратко, то цель: компилятор некоторого подмножества языка Си на C++, который работает в compile-time. Компиляция будет происходить в кастомный байт-код для дальнейшего выполнения в ВМ уже в рантайме. Скомпилировать

    habr.com/ru/articles/1018504/

    #c++20 #c++ #ненормальное_программирование #компиляторы #compiletime

  6. 🚀 Oh, Vittorio! You've cracked the code: #C++26 is NOT a magic compile-time unicorn! 🦄 Who knew that obsessing over milliseconds while ignoring the feature bloat would be the ultimate game-changer? 🎮 Apparently, the real enemy isn't templates—it's the Standard Library, lurking in the shadows, plotting to waste your precious time one compile at a time. ⏳😂
    vittorioromeo.com/index/blog/r #C++ #StandardLibrary #compiletime #performance #gamechanger #HackerNews #ngated

  7. Как нарезать Android-монолит с помощью compile-time плагинов?

    Привет на связи Федотов Михаил и Абдульманов Эдуард, мы технические лидеры Android разработки в Альфа-Банке и занимаемся приложением для физических лиц. В этой статье вспомним наш опыт разбиения большого монолитного android приложения на мини-приложения срезки, занимались мы этим уже довольно давно, но тема все равно актуальная. Переход к таким мини-приложениям позволяет ускорить конфигурацию Gradle и уменьшить время компиляции проекта как локально так и на CI. Думаю это будет полезно тем кто интересуется архитектурой android приложений, KSP, Dagger, а также тем у кого крупное многомодульное приложение и есть проблемы с производительностью работы Gradle в проекте.

    habr.com/ru/companies/alfa/art

    #ksp #dagger2 #архитектура #compiletime #performance #inversion_of_control

  8. Как нарезать Android-монолит с помощью compile-time плагинов?

    Привет на связи Федотов Михаил и Абдульманов Эдуард, мы технические лидеры Android разработки в Альфа-Банке и занимаемся приложением для физических лиц. В этой статье вспомним наш опыт разбиения большого монолитного android приложения на мини-приложения срезки, занимались мы этим уже довольно давно, но тема все равно актуальная. Переход к таким мини-приложениям позволяет ускорить конфигурацию Gradle и уменьшить время компиляции проекта как локально так и на CI. Думаю это будет полезно тем кто интересуется архитектурой android приложений, KSP, Dagger, а также тем у кого крупное многомодульное приложение и есть проблемы с производительностью работы Gradle в проекте.

    habr.com/ru/companies/alfa/art

    #ksp #dagger2 #архитектура #compiletime #performance #inversion_of_control

  9. Как нарезать Android-монолит с помощью compile-time плагинов?

    Привет на связи Федотов Михаил и Абдульманов Эдуард, мы технические лидеры Android разработки в Альфа-Банке и занимаемся приложением для физических лиц. В этой статье вспомним наш опыт разбиения большого монолитного android приложения на мини-приложения срезки, занимались мы этим уже довольно давно, но тема все равно актуальная. Переход к таким мини-приложениям позволяет ускорить конфигурацию Gradle и уменьшить время компиляции проекта как локально так и на CI. Думаю это будет полезно тем кто интересуется архитектурой android приложений, KSP, Dagger, а также тем у кого крупное многомодульное приложение и есть проблемы с производительностью работы Gradle в проекте.

    habr.com/ru/companies/alfa/art

    #ksp #dagger2 #архитектура #compiletime #performance #inversion_of_control

  10. Как нарезать Android-монолит с помощью compile-time плагинов?

    Привет на связи Федотов Михаил и Абдульманов Эдуард, мы технические лидеры Android разработки в Альфа-Банке и занимаемся приложением для физических лиц. В этой статье вспомним наш опыт разбиения большого монолитного android приложения на мини-приложения срезки, занимались мы этим уже довольно давно, но тема все равно актуальная. Переход к таким мини-приложениям позволяет ускорить конфигурацию Gradle и уменьшить время компиляции проекта как локально так и на CI. Думаю это будет полезно тем кто интересуется архитектурой android приложений, KSP, Dagger, а также тем у кого крупное многомодульное приложение и есть проблемы с производительностью работы Gradle в проекте.

    habr.com/ru/companies/alfa/art

    #ksp #dagger2 #архитектура #compiletime #performance #inversion_of_control

  11. Reflect-C: Tạo metadata lúc biên dịch để mô phỏng phản xạ (reflection) trong C – không cần plugin biên dịch. Giảm lặp code khi serializing, validate, clone struct bằng cách tách biệt metadata và logic runtime. Dùng recipe header + bộ sinh metadata → code chung cho JSON, binary, v.v. Không cần phát hiện kiểu lúc chạy. Phù hợp API, serialization, công cụ kiểm tra. #C #Reflection #Metaprogramming #CompileTime #JSON #Serialization #C_Plus_Plus #LậpTrìnhC #PhảnXạ #ThờiBiênDịch #SerialHóa

    https://www

  12. 🧩 C++ đã "viết" fan‑fiction của riêng mình! Tác giả xây dựng mô hình bigram Markov chạy hoàn toàn trong thời gian biên dịch bằng constexpr và template metaprogramming. RNG được seed từ __TIME__/__DATE__ bằng FNV‑1a và Xorshift32, mỗi lần compile sinh ra một chuỗi ký tự ngẫu nhiên, không thực hiện tính toán nào khi chạy. Thí nghiệm chứng minh khả năng "dịch" inference vào binary. #C++ #Metaprogramming #Lập_trình #Programming #MetaCPP #CompileTime

    reddit.com/r/programming/comme

  13. @PeterSommerlad
    Right, this is a tough challenge.

    Every time I thought I've found a good solution, tests with multiple compilers (possible thanks of @compiler_explorer) and different use cases, at least one of the requirements isn't met.

    And then there are compiler implementation bugs. As an example: for the majority of msvc updates from the VS2019 timeframe, code execution isn't reliably stopped (or even at all) at compiletime, producting only compiler warnings. Or older gcc is in some cases totally silent, not even producing a single diagnostic.

    Compiletime evaluation is one of the new C++ frontiers where QoI becomes a big differentiator.

    The rules of constant expressions are not an easy read. But understanding them well is a prerequisite for e.g. becoming proficient in C++26 reflection.

    eel.is/c++draft/expr.const

    #cpp #compiletime

  14. It is stardate 01-01-2026T09:00:00, we are approaching unchartered territory. It is unclear what future will bring, but I'm already distracted:

    I feel like I *need* to find a version of the well-known 'assert(boolean-expression)' from the C (and C++) standard library, that is not only compatible to the well-known runtime behaviour, *but also usable in code execution at compiletime*!

    My list of requirements:

    * the expression must evaluate to (void)* when the macro NDEBUG is defined.

    * same when NDEBUG *is* defined, and the boolean expression in the argument to assert evaluates to something that is convertible to bool, with a value of 'true' *in the current evaluation* of said expression.

    * when NDEBUG is defined, and said expression evaluates to something equivalent to 'false', further code execution must be stopped with a diagnostic message. The diagnostic must include the position in source code where the assertion fails during code execution. At runtime, the standards mandate how this is supposed to happen, but are silent about compile time.

    * the assert() expression *must* be 'noexcept(true)'.

    * the implementation must be immune to further advancements in compiler technology and forseeable C++ language changes. (I know, 'forseeable' and 'advancements' are vague at best).

    * the implementation must *not produce* compiler warnings, even at the highest warning levels (like e.g. -Wall -Wextra -Wpedantic -Werror in clang and gcc, or /Wall /WX in msvc). In other words: the assertion must be invisible when its argument passes expectations.

    * ideally, the implementation compiles in C++17 mode. This may require support from the compiler.

    At present, I have an acceptable implementation but I'm not convinced to reliably meet the third and second to last requirements.

    The seemingly obvious candidates for compiletime evaluation - 'static_assert()' or 'throw something' - fail to tick all marks.

    Are there any ideas that I might put to test? I will then replace my current one with yours in my proposed changes Viktor Zverovitch's Żmij library that enable compile-time conversions of floating-point numbers to strings, and see how it fares.

    #cpp #compiletime

  15. Wow, someone decided to sprinkle a dash of #metaprogramming on C# and call it a day. 🤯 Because clearly, what developers needed was more compile-time #wizardry to confuse future archaeologists trying to decipher ancient codebases. 🔮✨
    github.com/sebastienros/compti #CSharp #developerhumor #compiletime #codearchaeology #HackerNews #ngated

  16. Итоги встречи ISO C++ на Гавайях: начинаем полировку стандарта С++26

    Привет! На связи Антон Полухин из Техплатформы Городских сервисов Яндекса. Сегодня я расскажу о ноябрьской встрече Международного комитета по стандартизации языка программирования C++, в которой принимал активное участие. Это была первая из встреч, связанных с «полировкой» C++26. Другими словами, новые фичи C++ пока не появятся — комитет должен только проработать замечания всех стран-участников, включая наши замечания от России. Однако от плана немного отступили и втащили некоторые новинки как ответы на пожелания участников комитета: std::integer_sequence оброс новой функциональностью, а std::format научился в constexpr . Помимо этого, поправили множество багов, перековыряли связку Hardening + Contracts, внесли улучшения во многие части стандартной библиотеки.

    habr.com/ru/companies/yandex/a

    #contracts #reflection #c++26 #с++26 #с++_программирование #simd #compiletime #compile_time #compilergenerated_code #hardening

  17. Ошибки, которые не случились: C++ и compile‑time проверка SQL-запросов

    В этой статье мы посмотрим, как можно реализовать полную compile‑time валидацию SQL‑запросов на основе схемы базы данных, встраиваемой прямо в код. Без магии, без рантайма, без сторонних тулов. Только стандартный C++ и ваша структура БД. Валидация таблиц, столбцов, типов аргументов и их количества — всё на compile‑time. Представьте, если бы компилятор сам указывал «такой таблицы нет», «несуществующий столбец», «несовместимые типы» — до запуска программы. Такой подход полностью устраняет «сюрпризы» во время исполнения и исключает класс ошибок, связанных с генерацией SQL во время работы программы. Ваша программа даже не соберётся.

    habr.com/ru/articles/929052/

    #constexpr #compiletime #C++ #SQLвалидация #consteval #ошибки_компиляции #C++26_возможности #ZeroRuntime #typesafe_SQL #CRTP

  18. Ah, yet another riveting chapter in the never-ending #C++ saga 📚! This time, it's the thrilling tale of #constexpr infiltrating the standard library, because who doesn’t love waiting for the next version of a language to get basic compile-time functionality? 🤷‍♂️ Exciting news for those who find watching paint dry too exhilarating! 🎨
    sandordargo.com/blog/2025/04/3 #C++StandardLibrary #CompileTime #ProgrammingHumor #HackerNews #ngated

  19. Такого «Посетителя» вы ещё не видели — Visitor.NET

    «Посетитель» (visitor) — один из самых сложных паттернов Банды Четырёх. На языке C# для него можно создать множество реализаций, однако все они так или иначе имеют ограничения из-за возникающего динамического приведения типов. В рамках статьи вы погрузитесь в проблематику мультиметодов и увидите новую реализацию паттерна, лишённую озвученных недостатков и открывающую возможность к написанию по-настоящему гибкого и типобезопасного кода!

    habr.com/ru/companies/ruvds/ar

    #ruvds_статьи #csharp #dotnet #patterns #oop #visitor #typesafety #compiletime #acyclic_dependencies_principle

  20. Unlocking the Power of Compile-Time: Exploring the Crystal Macros Module

    Dive into the fascinating world of the Crystal programming language's Macros module, where compile-time magic happens! Discover how developers can leverage macro methods to enhance their code's effici...

    news.lavx.hu/article/unlocking

    #news #tech #Metaprogramming #CrystalLang #CompileTime

  21. Based on the Root Cause analysis by #CrowdStrike, am I wrong, when I think this could have been prevented with a build script or const context in #Rust at compile-time? 🤔

    Incident Root Cause Analysis:
    crowdstrike.com/wp-content/upl

    Build scripts in #RustLang:
    doc.rust-lang.org/cargo/refere

    Examples for build scripts:
    doc.rust-lang.org/cargo/refere

    Also the following crate might come in handy (no build script, but just const context). 🙂

    Konst #crate:
    docs.rs/konst/latest/konst/

    #Compiler #Build #CompileTime

  22. Wow, someone decided to sprinkle a dash of #metaprogramming on C# and call it a day. 🤯 Because clearly, what developers needed was more compile-time #wizardry to confuse future archaeologists trying to decipher ancient codebases. 🔮✨
    github.com/sebastienros/compti #CSharp #developerhumor #compiletime #codearchaeology #HackerNews #ngated

  23. Итоги встречи ISO C++ на Гавайях: начинаем полировку стандарта С++26

    Привет! На связи Антон Полухин из Техплатформы Городских сервисов Яндекса. Сегодня я расскажу о ноябрьской встрече Международного комитета по стандартизации языка программирования C++, в которой принимал активное участие. Это была первая из встреч, связанных с «полировкой» C++26. Другими словами, новые фичи C++ пока не появятся — комитет должен только проработать замечания всех стран-участников, включая наши замечания от России. Однако от плана немного отступили и втащили некоторые новинки как ответы на пожелания участников комитета: std::integer_sequence оброс новой функциональностью, а std::format научился в constexpr . Помимо этого, поправили множество багов, перековыряли связку Hardening + Contracts, внесли улучшения во многие части стандартной библиотеки.

    habr.com/ru/companies/yandex/a

    #contracts #reflection #c++26 #с++26 #с++_программирование #simd #compiletime #compile_time #compilergenerated_code #hardening

  24. Итоги встречи ISO C++ на Гавайях: начинаем полировку стандарта С++26

    Привет! На связи Антон Полухин из Техплатформы Городских сервисов Яндекса. Сегодня я расскажу о ноябрьской встрече Международного комитета по стандартизации языка программирования C++, в которой принимал активное участие. Это была первая из встреч, связанных с «полировкой» C++26. Другими словами, новые фичи C++ пока не появятся — комитет должен только проработать замечания всех стран-участников, включая наши замечания от России. Однако от плана немного отступили и втащили некоторые новинки как ответы на пожелания участников комитета: std::integer_sequence оброс новой функциональностью, а std::format научился в constexpr . Помимо этого, поправили множество багов, перековыряли связку Hardening + Contracts, внесли улучшения во многие части стандартной библиотеки.

    habr.com/ru/companies/yandex/a

    #contracts #reflection #c++26 #с++26 #с++_программирование #simd #compiletime #compile_time #compilergenerated_code #hardening

  25. Итоги встречи ISO C++ на Гавайях: начинаем полировку стандарта С++26

    Привет! На связи Антон Полухин из Техплатформы Городских сервисов Яндекса. Сегодня я расскажу о ноябрьской встрече Международного комитета по стандартизации языка программирования C++, в которой принимал активное участие. Это была первая из встреч, связанных с «полировкой» C++26. Другими словами, новые фичи C++ пока не появятся — комитет должен только проработать замечания всех стран-участников, включая наши замечания от России. Однако от плана немного отступили и втащили некоторые новинки как ответы на пожелания участников комитета: std::integer_sequence оброс новой функциональностью, а std::format научился в constexpr . Помимо этого, поправили множество багов, перековыряли связку Hardening + Contracts, внесли улучшения во многие части стандартной библиотеки.

    habr.com/ru/companies/yandex/a

    #contracts #reflection #c++26 #с++26 #с++_программирование #simd #compiletime #compile_time #compilergenerated_code #hardening

  26. Ошибки, которые не случились: C++ и compile‑time проверка SQL-запросов

    В этой статье мы посмотрим, как можно реализовать полную compile‑time валидацию SQL‑запросов на основе схемы базы данных, встраиваемой прямо в код. Без магии, без рантайма, без сторонних тулов. Только стандартный C++ и ваша структура БД. Валидация таблиц, столбцов, типов аргументов и их количества — всё на compile‑time. Представьте, если бы компилятор сам указывал «такой таблицы нет», «несуществующий столбец», «несовместимые типы» — до запуска программы. Такой подход полностью устраняет «сюрпризы» во время исполнения и исключает класс ошибок, связанных с генерацией SQL во время работы программы. Ваша программа даже не соберётся.

    habr.com/ru/articles/929052/

    #constexpr #compiletime #C++ #SQLвалидация #consteval #ошибки_компиляции #C++26_возможности #ZeroRuntime #typesafe_SQL #CRTP

  27. Ошибки, которые не случились: C++ и compile‑time проверка SQL-запросов

    В этой статье мы посмотрим, как можно реализовать полную compile‑time валидацию SQL‑запросов на основе схемы базы данных, встраиваемой прямо в код. Без магии, без рантайма, без сторонних тулов. Только стандартный C++ и ваша структура БД. Валидация таблиц, столбцов, типов аргументов и их количества — всё на compile‑time. Представьте, если бы компилятор сам указывал «такой таблицы нет», «несуществующий столбец», «несовместимые типы» — до запуска программы. Такой подход полностью устраняет «сюрпризы» во время исполнения и исключает класс ошибок, связанных с генерацией SQL во время работы программы. Ваша программа даже не соберётся.

    habr.com/ru/articles/929052/

    #constexpr #compiletime #C++ #SQLвалидация #consteval #ошибки_компиляции #C++26_возможности #ZeroRuntime #typesafe_SQL #CRTP

  28. Ошибки, которые не случились: C++ и compile‑time проверка SQL-запросов

    В этой статье мы посмотрим, как можно реализовать полную compile‑time валидацию SQL‑запросов на основе схемы базы данных, встраиваемой прямо в код. Без магии, без рантайма, без сторонних тулов. Только стандартный C++ и ваша структура БД. Валидация таблиц, столбцов, типов аргументов и их количества — всё на compile‑time. Представьте, если бы компилятор сам указывал «такой таблицы нет», «несуществующий столбец», «несовместимые типы» — до запуска программы. Такой подход полностью устраняет «сюрпризы» во время исполнения и исключает класс ошибок, связанных с генерацией SQL во время работы программы. Ваша программа даже не соберётся.

    habr.com/ru/articles/929052/

    #constexpr #compiletime #C++ #SQLвалидация #consteval #ошибки_компиляции #C++26_возможности #ZeroRuntime #typesafe_SQL #CRTP

  29. Ah, yet another riveting chapter in the never-ending #C++ saga 📚! This time, it's the thrilling tale of #constexpr infiltrating the standard library, because who doesn’t love waiting for the next version of a language to get basic compile-time functionality? 🤷‍♂️ Exciting news for those who find watching paint dry too exhilarating! 🎨
    sandordargo.com/blog/2025/04/3 #C++StandardLibrary #CompileTime #ProgrammingHumor #HackerNews #ngated

  30. Ah, yet another riveting chapter in the never-ending #C++ saga 📚! This time, it's the thrilling tale of #constexpr infiltrating the standard library, because who doesn’t love waiting for the next version of a language to get basic compile-time functionality? 🤷‍♂️ Exciting news for those who find watching paint dry too exhilarating! 🎨
    sandordargo.com/blog/2025/04/3 #C++StandardLibrary #CompileTime #ProgrammingHumor #HackerNews #ngated

  31. Ah, yet another riveting chapter in the never-ending #C++ saga 📚! This time, it's the thrilling tale of #constexpr infiltrating the standard library, because who doesn’t love waiting for the next version of a language to get basic compile-time functionality? 🤷‍♂️ Exciting news for those who find watching paint dry too exhilarating! 🎨
    sandordargo.com/blog/2025/04/3 #C++StandardLibrary #CompileTime #ProgrammingHumor #HackerNews #ngated

  32. Такого «Посетителя» вы ещё не видели — Visitor.NET

    «Посетитель» (visitor) — один из самых сложных паттернов Банды Четырёх. На языке C# для него можно создать множество реализаций, однако все они так или иначе имеют ограничения из-за возникающего динамического приведения типов. В рамках статьи вы погрузитесь в проблематику мультиметодов и увидите новую реализацию паттерна, лишённую озвученных недостатков и открывающую возможность к написанию по-настоящему гибкого и типобезопасного кода!

    habr.com/ru/companies/ruvds/ar

    #ruvds_статьи #csharp #dotnet #patterns #oop #visitor #typesafety #compiletime #acyclic_dependencies_principle

  33. Такого «Посетителя» вы ещё не видели — Visitor.NET

    «Посетитель» (visitor) — один из самых сложных паттернов Банды Четырёх. На языке C# для него можно создать множество реализаций, однако все они так или иначе имеют ограничения из-за возникающего динамического приведения типов. В рамках статьи вы погрузитесь в проблематику мультиметодов и увидите новую реализацию паттерна, лишённую озвученных недостатков и открывающую возможность к написанию по-настоящему гибкого и типобезопасного кода!

    habr.com/ru/companies/ruvds/ar

    #ruvds_статьи #csharp #dotnet #patterns #oop #visitor #typesafety #compiletime #acyclic_dependencies_principle

  34. Такого «Посетителя» вы ещё не видели — Visitor.NET

    «Посетитель» (visitor) — один из самых сложных паттернов Банды Четырёх. На языке C# для него можно создать множество реализаций, однако все они так или иначе имеют ограничения из-за возникающего динамического приведения типов. В рамках статьи вы погрузитесь в проблематику мультиметодов и увидите новую реализацию паттерна, лишённую озвученных недостатков и открывающую возможность к написанию по-настоящему гибкого и типобезопасного кода!

    habr.com/ru/companies/ruvds/ar

    #ruvds_статьи #csharp #dotnet #patterns #oop #visitor #typesafety #compiletime #acyclic_dependencies_principle

  35. Wow, someone decided to sprinkle a dash of #metaprogramming on C# and call it a day. 🤯 Because clearly, what developers needed was more compile-time #wizardry to confuse future archaeologists trying to decipher ancient codebases. 🔮✨
    github.com/sebastienros/compti #CSharp #developerhumor #compiletime #codearchaeology #HackerNews #ngated

  36. Wow, someone decided to sprinkle a dash of #metaprogramming on C# and call it a day. 🤯 Because clearly, what developers needed was more compile-time #wizardry to confuse future archaeologists trying to decipher ancient codebases. 🔮✨
    github.com/sebastienros/compti #CSharp #developerhumor #compiletime #codearchaeology #HackerNews #ngated