C++ Logo

std-proposals

Advanced search

Re: Making parameter names clearer than func(true, false);

From: Thiago Macieira <thiago_at_[hidden]>
Date: Mon, 08 Jul 2019 15:41:26 -0300
On Monday, 8 July 2019 15:22:38 -03 Hyman Rosen wrote:
> On Mon, Jul 8, 2019 at 1:27 PM Thiago Macieira via Std-Proposals <
>
> std-proposals_at_[hidden]> wrote:
> > Yes. That's the result of badly designed APIs.
>
> This is completely wrongheaded. Programming language design should be about
> providing useful and consistent features for programmers to use. Named
> argument
> association has appeared in many different programming languages, including
> Ada,
> the poster child of languages designed for writing good programs. The
> notion that
> C++ standardization gets to judge that this feature in other languages is
> in the service
> of badly designed APIs is the sort of hubris that deserves to be struck
> down hard by
> nemesis.

One thing doesn't obviate the other. I did not argue against named parameters.
If you read the discussions the past dozen times this came up, I was in favour
of them and still am.

But that does not excuse bad APIs. Named parameters are not a reason for us to
relax in our attention at writing good (intuitive, clear-purposed, etc.) APIs.

So when coming up with examples of where named parameters would be useful,
please find good APIs that would become even better, or at least find bad ones
that have other reasons for being bad. If the new feature requires new APIs to
be added, it's also an opportunity to fix bad APIs that currently exist.

-- 
Thiago Macieira - thiago (AT) macieira.info - thiago (AT) kde.org
   Software Architect - Intel System Software Products

Received on 2019-07-08 13:43:22