<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">On Fri, May 16, 2014 at 11:45 AM, Craig Peterson <span dir="ltr"><<a href="mailto:craig@scootersoftware.com" target="_blank">craig@scootersoftware.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><div class="">1) I want to use the OmniThreadLibrary.  Setting up objects and thread<br>
</div>
descendents is fine in moderation, but it's too much of a hassle when<br>
you just want a quick parallel for loop.<br></blockquote><div><br></div><div>Anonymous functions are bad for unit testing.<br></div><div>Why? Because they do exist only at the place of the call and depends on the state of at the time the call.</div>
<div>And thus they cannot be tested separately without the caller.</div><div><br></div><div>I'd assume the parallel execution is definitely needed since the actions you're separating are time consuming.</div><div>
They're time consuming, because they might be complex. </div><div>Having an ability to test a complex code separately (outside the execution environment/application) is a big benefit.</div><div><br></div><div>Yet again - the re-usage of the code.<br>
</div><div>What if you switch from OmniThreadLibrary to OpenMP (or whatever other threading library) that doesn't provide support for anonymous functions. </div><div>What if you'd need to write a separate application, that doesn't have the requirement to use threads.</div>
<div>Using the regular code (in procedures or methods) reduces the number of changes you'd need to do. <br></div><div><br></div><div>I've mentioned it before OmniThreadLibrary doesn't require you to use anonymous functions.</div>
<div><br></div><div>thanks,<br></div><div>Dmitry </div></div></div></div>