Read Time: 9 Minutes
A program is the brain behind any automated system, it takes inputs from various sensors or devices, makes logical decisions based upon that information, then determines a desired output, such as moving a load, communicating information, or even waiting for more information. As you can probably guess, even a relatively simple system can quickly get complicated as user adjustments, environmental influences, and interruption recovery are accounted for. Any seasoned programmer knows there is more than one way to control a system and achieve the desired effect, and each solution is as unique to the programmer as their personality. While this flexibility is an advantage to ensure each system is optimized for its physical differences, it also adds a particular and challenging problem when it comes to multiple programmers working in, or supporting the same piece of logic.