On Wed, Nov 10, 2010 at 4:00 PM, bearophile <[email protected]>wrote:
> Eric Poggel: > > > On 11/10/2010 3:16 PM, dsimcha wrote: > > > Don't make it a class if it can be a free > > > function. > > > > I agree with most of the others except for this one. > > 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). > > 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. One thought here: 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. Thoughts? Criticisms? Denunciations?
