Software projects have very short shelf lives. The moment a commit lands on main the software is spoiling; new versions of runtimes and compilers are shipped, dependencies cut new releases with bug fixes and exciting new features, and connected APIs are deprecated.
Does this ring true for anyone? This sounds like hell. I am so glad to be in a field that minimizes third party dependencies.
The C code I write today would run the same 20 years ago and will run the same 20 years from now.
The C++ code I wrote in 2008 doesn't compile today, despite depending only on libSDL. Lots of small things that have broken, mostly GCC behaving differently.
Still miles better than the JS and cloud spaces where code has such a short half-life you need to handle it with tongs and keep it in a lead box when you aren't using it, but still. All code rots.
This is just another example of someone with one experience in software development thinking that their experience can be applied universally. It really depends on the kind of software you're writing and the environment you're working in.
Comments
Does this ring true for anyone? This sounds like hell. I am so glad to be in a field that minimizes third party dependencies.
The C code I write today would run the same 20 years ago and will run the same 20 years from now.
Projects which don't consider the build environment to be version controlled have these problems.
When Java came out, we went through the tool hell described in this article.
The C++ code I wrote in 2008 doesn't compile today, despite depending only on libSDL. Lots of small things that have broken, mostly GCC behaving differently.
Still miles better than the JS and cloud spaces where code has such a short half-life you need to handle it with tongs and keep it in a lead box when you aren't using it, but still. All code rots.
This is just another example of someone with one experience in software development thinking that their experience can be applied universally. It really depends on the kind of software you're writing and the environment you're working in.