A reader chides me for falling behind in the software development industry:
The state of the art of software development has moved a lot in the past 20 years, dear Hue. And a great deal of that movement has been created by or adopted by open source practitioners. Functional programming was quite the hot thing for a while, but now it seems like declarative programming is even hotter.
Ah, interesting. I have a special interest in performance and scalability, so I have to wonder how declarative languages hold up under those sorts of loads.
Agile is a methodology for doing software development as a team for an engaged set of stakeholders, particularly a customer. If one is coding for oneself alone, it of course makes little sense and likely adds nothing to your code quality.
I took SAFE (Scaled Agile) training at work, and while it has little application in my project, I could see it being a nicely structured approach to projects in which the requirements are not well-understood. In the aforementioned DMV setting, though, there was little point since the requirements had already been worked out decades ago – but they seem to have treated it as if they weren’t.
Provably correct software is a pipe dream for any software application worth creating, at least now and for the foreseeable future. The degree of complexity in the average piece of software is so immense as to defy any rigorous way of proving every path through it is correct. But modern programming languages (they keep springing up left and right, Kotlin, Typescript, Rust, Dart, etc. anyone?), design paradigms (e.g. OO, functional, declarative), tooling (IDEs, static analysis, unit test, CI/CD) and programming techniques are all focused on making both the time to build something reasonably quantifiable and repeatable, but also insure that the quality is higher. And much progress has been achieved. But bug free, provably correct and nothing but correct? Nope.
Yeah. Every time I read about provably correct (ah, “formal methods”) it seems like it’s only a few years away – rather like fusion. But, now that I’ve tracked down my reference, perhaps TLA+ will ride to our rescue.