Static Software > LLMs
On the Value of Static Software

I started out as a programmer building static software. Static in the sense that it's behavior wasn't self-changing. With the rise of dynamically created software and (hear hear) self-modifying software, there seems to be a notion of despise towards static software.
Solid Ground
I see static software as the building blocks for dynamic software. Let's consider some examples.
Software Libraries
Libraries aren't dead, they are as important as they have ever been: very important. This is because a library is:
a great place for enforcing security and high quality bars
an easily reusable part (through package managers), meaning fixes in this singular place can easily be consumed to benefit a large a mount of users
Static Runtime Behavior
I deem the term static software not bound to the source code format, but also appropriate for a running program with a fixed behavior. This can be a web service, a command-line program or an operating system. Software build on top of any of those can expect different guarantees and with that often simplify their amount of logic needed to extend them. Just consider the newly gained popularity of Unix CLI tools.
Build Static Software Components
No matter if library or service: software with deterministic behavior is a great investment. I say that with the strong hunch that a lot of code that LLMs produce and things that agents do seem to be mundane, repetitive things. See? repetitive. Repetition was always a signal for automation. The best automation executes without surprises. See? Need of static behavior!
Parting Words
I like to use/see ML-based tools as dynamic tools to produce static systems. Reuse those to reduce the amount of customization/dynamic stuff that you need to produce your desired program. When using LLMs at runtime, meaning the user actually needs to interact with it to use your program, be sure to only use it for NLP and then call static tools again. Reduce the context hold in that dynamic layer by creating more static programs.
Dynamic software (creation) is great! Just try to reduce the amount of software you recreate by sharing quality building blocks in the form of libraries etc. Or put more bluntly: Dynamic software is a crutch useful til static one caught up.
Software seems to be still eating the world. Be sure to actually get full and not only chew on a gum.
Title picture: Generated with Tinkersynth by Josh Comeau