4 ms·
I think that declarative configuration languages scratch the itch of a lot of developer brains, but in practice it doesn’t really matter and using more familiar
by charlotte-fyi 2y ago
I think that declarative configuration languages scratch the itch of a lot of developer brains, but in practice it doesn’t really matter and using more familiar languages is a huge benefit to devex that shouldn’t be overlooked if the goal is to be mainstream. Yes, it requires more discipline on the reviewer front not to create abstractions that are too powerful/footgun-y, but it’s totally possible to write clear, declarative code in a “real” programming language without artificial constraints.
- __MatrixMan__ 2y agoI'm not so worried about my disciplined coworker who just wants to help. If we were all reviewing his code I'd agree with you. The people I want to help are those who are unknowingly reviewing malicious commits, and I think that declarative configuration languages have a part to play there.
- charlotte-fyi 2y agoThis is solved in tools like Pulumi by having a declarative and auditable build artifact as an intermediate step that can be diffed. This seems to solve a lot of the security issues (and is generally a good idea anyway).
- NegativeLatency 2y agoI would still prefer to debug terraform (which is a fair bit more declarative) rather than pulumi
- mtndew4brkfst 2y agoThis is pretty much the same stance many people hold about Pulumi and I never found it compelling there either. In that product's case, the core languages for writing expressions are the languages that IMO have some of the most dysfunctional dependency-management stories in industry (Python, Node/JS/TS, Golang). Since part of the sales pitch of using a general lang is emphasis on code reuse, it rings kind of hollow for me there, and here too.