D component programming is a joke (Was: Re: Component programming)

Chris wendlec at tcd.ie
Thu Aug 1 02:03:09 PDT 2013


On Thursday, 1 August 2013 at 00:47:43 UTC, H. S. Teoh wrote:

> Most non-trivial loops in imperative code have both, which 
> makes them
> doubly prone to bugs. In the example I gave above, the mismatch 
> between
> the code structure (a single loop) and the file structure (three
> sequential sections) often prompts people to add boolean flags, 
> state
> variables, and the like, in order to resolve the conflict 
> between the
> two structures. Such ad hoc structure resolutions are a 
> breeding ground
> for bugs, and often lead to complicated loop conditions, which 
> invite
> even more bugs.
>
>
> T

I agree, and to be honest, loops have given me more than one 
headache. It's so easy to lose track of what is going on where 
and why. And if you have ever had the pleasure of adding to or 
debugging code that handles three or more different issues in one 
loop, then you will know how mind boggling loops can be.

Your example is very good (you should write an article about it) 
and similar examples occur in web development all the time 
(creating tables, lists etc). I once wrote an event calendar for 
a homepage and _partly_ disentagled the loop for simplicity's 
sake. I say "partly" because it is still a bit "loopy". And I 
guess this is what component programming is all about, 
disentangling code.

The only difficulty I have is the opposition to OOP. I don't 
really see how the two concepts are mutually exclusive. OOP can 
benefit from component programming and vice versa.

Component programming is a good choice for web programming where 
loops abound. I'm tired of the infinite loops (pardon the pun 
again) in JavaScript and the like. Sure there's gotta be a better 
way.


More information about the Digitalmars-d mailing list