7 ms·
Unfortunately reality just doesn't work that way. Projects are completed. Developers move on. New developers eventually are employed to make upgrades only to fi
by gasping 12y ago
Unfortunately reality just doesn't work that way. Projects are completed. Developers move on. New developers eventually are employed to make upgrades only to find the entire toolchain was built by some guy in a coffee shop 15 years ago and no longer works.
- deleted 12y ago[deleted]
- onion2k 12y agoYes, and that's exactly why you should be agnostic about your tools. Your build process shouldn't be "Use this tool because it'll still work in 15 years", but rather "Use this tool, but in a way that means you can swap to a different tool very easily so the next developer can use something that works if the current tool is broken." That means using straightforward techniques that don't rely on 'magic', UNIX style chaining rather than a single app that does everything, clean input and output (keep the tools and the source code you're using as separate as possible), and writing documentation to inform the next person what's supposed to happen. Arguably it also means using the popular like grunt and gulp because they're more likely to have working versions in the future and there's more likely to be tools in the future that migrate a build process to the next big thing.