<div class="gmail_quote">On Wed, Nov 10, 2010 at 4:00 PM, bearophile <span dir="ltr"><<a href="mailto:bearophileHUGS@lycos.com">bearophileHUGS@lycos.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
Eric Poggel:<br>
<div class="im"><br>
> On 11/10/2010 3:16 PM, dsimcha wrote:<br>
> > Don't make it a class if it can be a free<br>
> > function.<br>
><br>
> I agree with most of the others except for this one.<br>
<br>
</div>Object oriented programming is a way to think about code, so it may come more natural to you, or less natural, according to the way you think (often your first language matters a lot. If your first language was OOP then probably objects are more natural for you).<br>

<br>
But in the end OOP was invented to face problems present in larger programs. OO is infrastructure that adds some complexity to reduce complexity in larger programs. It's not wise to add complexity unless it's necessary. So using a class where a free functions is enough may be over-engineering.</blockquote>
<div><br></div><div>One thought here:</div><div>If Tango is still useful in the D world but there isn't too much enthusiasm about porting it to D2, why not break its functionality (that isn't already in Phobos 2) down into a set of supplemental libraries that can be included as needed? This would seem to give the best of both worlds because there is no longer a runtime split, the functionality and APIs provided by Tango is still available as needed, and porting becomes something that can easily be done incrementally.</div>
<div>Thoughts? Criticisms? Denunciations?</div></div><br>