&gt;<i>Don&#x27;t know enough Labview mainly</i><p>Don&#x27;t learn it. Its a terrible language, and a worse IDE. Yeah you&#x27;ll learn over 6 figures with 2 years experience. But you&#x27;ll waste a lot of time debugging issues with the runtime itself, also the langauge itself isn&#x27;t consistent which can lead to extreme headaches&#x2F;development lagging. But NI will compensate lost development time with free hardware so companies love it.<p>The tools for tracing&#x2F;testing in Labview are annoying and kinda primitive. Hence why a separate callable logger is useful. Mainly in Labview all functions start out as heap allocated monands wrapped in a mutex. So basically every function has state initially. You then have to opt-out of this to get a pure function.<p>&gt;<i>Hmm. That&#x27;s more straight-forward than most async</i><p>Well yes. We&#x27;re not exactly concerned with verification of the asynchronous system. Just making sure everything happens in the right order, and each thread is actually doing what its commended to do.<p>At a certain level you can <i>abuse</i> asynchronous systems to make <i>certain</i> measurements easier. Just assume your input has a half-Gaussian input lag level, and suddenly a 200 sample moving average becomes sufficient for smoothing data not jumping though hoops of fire doing weird data synchronization.