4 ms·
I want this a lot too, but the way we've built our software stacks has overwhelming path dependence on plaintext. There's a lot of tooling that's a bit broken,
by Felz 7y ago
I want this a lot too, but the way we've built our software stacks has overwhelming path dependence on plaintext. There's a lot of tooling that's a bit broken, like git diffs, because the diffing algorithm can't actually capture what the logical changes really were, but it's close enough so we shrug and move on.
You can see how the accumulation of these little warts starts warping the rest of the devflow. E.g. since git can't do great diffs, it can't do great automatic merges. So we start using dev styles that minimize the pain of merging, and we start emphasizing continuous integration partly to prevent large merge buildups.
It irritates me to no end that the most important part of any code is the symbol names, but we've solidified and ossified those as the literal unchanging way you reference code. Want to fix a typo in a method name? Too bad, that's a breaking change.
- duncanfwalker 7y agoI think your point about continuous integration is very true. I'd maybe even go further, if you could make a version control system understood ASTs and these sort of 'declare me function' operations (and you had enough test coverage) maybe you could have all the operations from everyone go straight on to 'master', in real-time, ready to be deployed - no branches, beyond trunk-based development, more like trunk-only development.