Boost logo

Boost :

From: Brock Peabody (brock.peabody_at_[hidden])
Date: 2004-09-15 12:20:54


David wrote:

> Andy wrote:
>
> > The other concern may simply be the perceived complexity of templates.
>
> No, the *actual* complexity. Most "GUI" programmers happen to be quite
> junior, and templates are tricky. Types not consisting of one simple
> lexeme
> are complex. [And typedef's do not save that...]
>
> Not that very senior developers do not do GUI, but that is not their
> typical
> chores at a firm, and when they do they put themselves in "GUI mode,"
> meaning that they often set aside their code aesthetics.

If it is true that most companies (mine doesn't) relegate GUI tasks to
novices, I think it's a mistake to do so. Contrary to what many think,
creating a good GUI is often one of the more complicated parts of a program
- and the part of the program with which your customer will interact most.

Current GUI programming tools facilitate easy creation of toy GUIs while at
the same time hindering the creation of commercial grade applications and
also hindering the use of more powerful code reuse mechanisms.

>From what I've seen, when average programmers do create 'good' GUIs, they
are one time Herculean efforts of will, labors of love, and maintenance
nightmares. Without more expressive tools the creation of solid state GUIs
will remain solely in domain of highly experienced programmers.

> Regular programmers cannot use templates more than via very simple
> patterns,
> such as smart pointers (actullay popularized via Microsoft's Active
> Template
> Library, I think), and they can certainly not create their own templates.

A well designed library can facilitate the use of powerful template
mechanisms without requiring the programmer to understand how they work.
You can use Spirit, for instance, without understanding the intricate world
of expression templates.

> I
> have interviewed about a hundred "expert C++ programmer" (from the
> resume...) of which three (3) had ever created his/her/its own template,
> and
> zero (0) had ever used either templates as template parameters or nested
> template instantiations.

I'd agree with that. I'd say over half of the "C++ programmers" I interview
can't tell me what the STL is!

Brock


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk