Enjoying abusing babel ast traverse library.
Full blown automated refactoring envy is strong now.
Enjoying abusing babel ast traverse library.
Full blown automated refactoring envy is strong now.
Метапрограммирование 2.0: макросы и генерация кода в современном мире
Забудьте про скучные «Hello, World». Макросы и шаблоны давно стали полноценными инструментами архитектора кода: от хитрых C++-шаблонов до процедурных макросов Rust и Java-аннотаций, автоматически генерирующих целые фреймворки. В этой статье мы рассмотрим примеры, где metaprogramming избавляет от рутины и экономит часы работы над проектом. Детали как всегда под катом.
https://habr.com/ru/companies/ruvds/articles/916552/
#ruvds_статьи #метапрограммирование #генерация_кода #макросы #code_generation #Rust #Java #C++ #metaprogramming #шаблонный_код
Метапрограммирование 2.0: макросы и генерация кода в современном мире
Забудьте про скучные «Hello, World». Макросы и шаблоны давно стали полноценными инструментами архитектора кода: от хитрых C++-шаблонов до процедурных макросов Rust и Java-аннотаций, автоматически генерирующих целые фреймворки. В этой статье мы рассмотрим примеры, где metaprogramming избавляет от рутины и экономит часы работы над проектом. Детали как всегда под катом.
https://habr.com/ru/companies/ruvds/articles/916552/
#ruvds_статьи #метапрограммирование #генерация_кода #макросы #code_generation #Rust #Java #C++ #metaprogramming #шаблонный_код
sometimes your metaprogramming radar misses some nice stuff
(and similarly https://github.com/facebookarchive/codemod)
Episode #507 - Application Templates
Did you know Python modules can have a top-level __getattr__ function? Lots of neat tricks you can do with this, but here's one: creating lazy-loading data modules
https://natknight.xyz/lazy-loading-data-modules-in-python-with-one-magic-function
A great writeup on Zig's comptime: https://matklad.github.io/2025/04/19/things-zig-comptime-wont-do.html
I never learned Zig but maybe I should. It's compile time capabilities looks awesome.
A new article on #metaprogramming in #jai is out now on my #blog!
Read it here: https://teiolass.gitlab.io/posts/metaprogramming_cards_1/
Rust: Turtles all the way down
https://makertube.net/videos/watch/65c5ff8a-c744-45cf-a4f2-b49a49105967
New Blog Post!
Fizz Buzz has just enough complexity to demonstrate a principle that is usually tough to understand through toy examples: the open/closed principle.
https://kerrick.blog/tutorials/2025/fizz-buzz-object-oriented-edition/
#blog #programming #WebDev #SoftwareEngineering #Software #Design #OOP #OpenClosedPrinciple #Metaprogramming #Ruby
To any Myrid users: would you mind having to download both the SDK and the donet tool rather than the current combined nuget? #fsharp #metaprogramming
🚀 Free Online Workshop: Meta Programming in Python 🎯
Join our FREE live workshop and master Meta Programming in Python! Learn how to write dynamic, flexible, and efficient code with expert guidance.
📅 Date: 26th & 27th Feb 2025
⏰ Time: 5:00 PM – 7:00 PM (IST)
💻 Mode: Online
🔗 Register Now: https://t.ly/MPPy27
✅ Live Coding & Hands-on Sessions
✅ Expert Q&A
✅ Boost Your Python Skills for Free!
#Python #MetaProgramming #FreeWorkshop #Coding #Tech #NareshIT
If you struggled with the traditional #Prolog courses .. this course was developed for you.
✅ Develop understanding through hands-on bite-size examples.
✅ Talk through how new ideas work, step-by-step.
✅ Avoid terminology and jargon
www.amazon.com/dp/B0BTQ7P69H/
I love this magick:
```
In [1]: import model
In [2]: model.Tooter
Out[2]: model.Tooter
In [3]: model.Tooter.account
Out[3]: <sqlalchemy.orm.attributes.InstrumentedAttribute at 0x7fbf7bd31bc0>
In [4]: model.Tooter.account == 'foo'
Out[4]: <sqlalchemy.sql.elements.BinaryExpression object at 0x7fbf8183a960>
```
This tutorial should be called "You'll Love Scala 3 Even More!" ❤️ #scala #metaprogramming https://www.youtube.com/watch?v=z6dbDqclE34
Документация приложения — дело рук самого приложения
Знакомо ли вам чувство, когда на поддержке есть сервис, о принципах работы которого знает буквально пара человек? В таких условиях очередная задача по миграции с одного решения на другое эквивалентна по-дурацки спродюсированному квесту из ролевой игры: ищем документацию, просматриваем глазами код, вызваниваем тех немногих, кто посвящен в таинства организации компонента системы. В какой-то момент порог негодования в нашей команде достиг критической отметки. Количество сервисов на поддержке приближалось к двум десяткам. Сами же сервисы не развивались, а просто существовали как есть. Более того, никакой общей доменной области, никаких актуальных описаний архитектуры. Мы решили навести порядок и разметить сервисы для понимания их архитектурных компонентов. После обсуждения взяли прицел на автоматизируемый процесс описания системы, а не на ручную поддержку документации. Добро пожаловать под кат — рассказываю о нашем пути, а в конце делюсь ссылкой на библиотеку.
https://habr.com/ru/companies/tbank/articles/878396/
#scala #compiler #metaprogramming #architecture #architecture_components #библиотеки #документация
The Dark Arts of Self-Writing Code: A Journey from DOS to .NET Sorcery
#metaprogramming #dotnet #CSharp #reflection #MSDOS #programmingJourney #codingHistory #softwareDevelopment #TurboPascal #Cplusplus #automation #scripting #batchFiles #AUTOEXECBAT #DOSCommands #expressionTrees #objectConjuring #performanceOptimization #dependencyInjection #entityFramework #serialization #unitTesting #digitalSorcery #advancedProgrammingConcepts #securityInCoding #softwareFrameworks
The Dark Arts of Self-Writing Code: A Journey from DOS to .NET Sorcery
#metaprogramming #dotnet #CSharp #reflection #MSDOS #programmingJourney #codingHistory #softwareDevelopment #TurboPascal #Cplusplus #automation #scripting #batchFiles #AUTOEXECBAT #DOSCommands #expressionTrees #objectConjuring #performanceOptimization #dependencyInjection #entityFramework #serialization #unitTesting #digitalSorcery #advancedProgrammingConcepts