▲ | webster451 15 days ago | |||||||||||||||||||||||||
I think we are getting close to the peak of "declarative"—or rather, I hope we are near the peak. In my experience, declarative APIs are very powerful abstractions for specific cases where finding the path to the declared state is better left to a machine. This is seldom the case - in most cases, offering the programmer control over the changes leads to better behaviors. Kubernetes and IaC tools lead the way to a declarative state of infrastructure and these add a ton of value. But, they were also incredibly hard to build - it took many years before Kubernetes eventing and control loop abstracts were rock solid. Most CRD-backed implementations suffer from tons and tons of bugs, and most CRDs are not declarative - they abstract away an imperative operation! I guess this is nothing new - "anything in excess is bad". Anyways, I think an imperative approach offers much higher control and predictability at a lower cost. The world inherently is imperative. | ||||||||||||||||||||||||||
▲ | carlmr 15 days ago | parent | next [-] | |||||||||||||||||||||||||
>In my experience, declarative APIs are very powerful abstractions for specific cases where finding the path to the declared state is better left to a machine. This is seldom the case I've been waiting for this top comment for longer than you can imagine. The declarative madness has always bothered me. Sometimes it's easier to maintain when you see the process. And harder to declare the final state. It might look neat, but maintainability beats neatness every day. | ||||||||||||||||||||||||||
▲ | Onavo 15 days ago | parent | prev [-] | |||||||||||||||||||||||||
I mean they just reinvented Prisma and Django | ||||||||||||||||||||||||||
|