▲ | 10000truths 3 days ago | |||||||
Because now, anything that wants to read that config has to be written in Python. You've chained yourself to a stack just for a dynamic config. I ran into this issue at a previous job, but with a service that leaned heavily on hundreds of Django models. It made it impossible to use those models as a source of truth for anything unless you used Python and imported a heavyweight framework. It was the biggest blocker for a C++ rewrite of the service, which was really bad because we were having performance issues and were already reaching our scaling limits. Declarative configs are preferable for keeping your options open as to who or what consumes them. For cases where config as code is truly necessary, the best option is to pick something that's built for exactly that, like Lua (or some other embedded scripting language+runtime with bindings for every language). | ||||||||
▲ | lifeisstillgood 2 days ago | parent | next [-] | |||||||
I would tread carefully around this (although you know the specifics !). Simply being tied to one language is rarely a bad thing - at a certain point in a company size growth, having a common language and set of tools (logging, dbase wrappers etc) acts as a force multiplier beyond individual team leads preferences. I would be interested in exactly what scaling issues you hit but I would ask if Inwere financing the company if overcoming scaling problems in python would cost less and lead to better cadence than a migration to C++ | ||||||||
| ||||||||
▲ | halfcat a day ago | parent | prev [-] | |||||||
> impossible to use those models as a source of truth for anything unless you used Python Django models are just a SQL database under the hood. Is there a reason you couldn’t just connect to the database from C++? |