3 ms·
Very much this. Please stop building Jenga towers. It's always alarming to encounter build instructions that start with "you need this specific version of this
by robinsonb5 2y ago
Very much this. Please stop building Jenga towers.
It's always alarming to encounter build instructions that start with "you need this specific version of this particular compiler for this particular obscure language..."
Bonus points if your build process fetches modules from online endpoints that may or may not be there in five years' time.
[And yes, I'm as guilty as anyone of creating over-engineered but ultimately fragile scripts to automate a build. My favourite is a bash script which parses a text file for filenames, matches against the file extension and processes them accordingly. If you edit the text file with a Windows-style editor so it acquires CR/LF line endings, the bash script can no longer parse it. Fun times.]
- shrimp_emoji 2y agoAre you saying dependencies are bad? Are you saying all new languages are bad because they encourage you to pull in half the program via some language package manager, injecting problems from simple networking availability to supply chain attacks into what was otherwise a simple program? Are you saying we should only code everything in C and C++ and Bash with as few dependencies as possible? https://youtu.be/fDq_8y_drE8&t=85 https://youtu.be/fDq_8y_drE8&t=85
- lukan 2y agoI think he or she is just saying, try not to build overly complicated things. To which I very much agree.
- robinsonb5 2y agoOverly complicated things, but also things that are so fragile that the slightest disturbance (such as a minor version change) in the foundations will make them collapse.
- musicale 2y ago> Are you saying we should only code everything in C and C++ and Bash with as few dependencies as possible? Every so often I encounter a package with very few (or no external) dependencies that just works, and it's wonderful. There is something to be said for going with a mature, stable, non-bleeding-edge platform and minimizing dependencies. Regarding C/C++, they tend to facilitate memory errors, while memory-safe language systems (Ada, Java, Javascript, Rust, ...) all seem to come with various down sides.
- robinsonb5 2y agoSorry for the late reply: what I'm saying is that build-process fragility is bad. Ill-considered or slapdash dependencies can be part of that, as can runaway complexity. So can the choice of language, but so can the hackish bash-script example I confessed to from my own project.