Yes
A lot of my work has been making programs to help prove custom communication protocols, before they are used.
So I am making:
- A simulator for some device that sends data, like a sensor of some physical phenomenon.
- The data would either be decided by the user or from logs of a real device. It could be some GUI that lets the user vary values on the fly
- A receiver of said data in the given protocol. This would then decode and display the data, which can then be tallied with original input data.
These were essentially only made to show that the protocol works and then used to test actual equipment which would be fabricated by some other company and as per the contract, the devices would need to be able to work with the simulators.
So once the actual devices are ready and deployed, little programs have done their job and are no longer required.
They do end up being shown to future junior devs though, as examples to learn from.