名前付き引数

http://d.hatena.ne.jp/odz/20070531/1180579571
Ada。
……というお約束はお約束として、C99の複合リテラルを使えば、事実上Cでも実現できますよね。

fish = Fish(&(struct fishargs){.speed = 2, .direction = 180, .x = 20, .y = 20,
  .minDistance = 16, .maxInflucence = 40});

一時オブジェクトのアドレスが取れるのがいいよなー。
id:odzさんの記事へのトラックバックのひとつに「C++の設計と進化」を引用しているものがあります。

キーワード引数が呼び出しインタフェイスと実装の間に、新しい形の束縛(binding)を導入することだ。
(中略)
キーワード引数は、私たちが下手な書き方だと見なすコードにおいて最も便利だ、という結論になる。
私たちが衰退してほしいと願っているプログラミングスタイルを主にサポートする新機能を、導入することが果たして道理的だろうか?
http://d.hatena.ne.jp/Isoparametric/20070531/1180612035

なんか大層なこと書いてますが、名前付き引数は、型以外のオーバーロードの解決方法を提供しますので、ぶっちゃけC++の名前マングリングとかヘッダファイルとかで誤魔化してる部分と相性悪かっただけの予感。
マルチパラダイム言語の権化のようなC++で、衰退してほしいと願っているプログラミングスタイルとかわけわからんのは、私がひねてるせいでしょうか……。
ちなみに名前付き引数自体は、型が同じで意味が異なる複数の引数を持つ関数を使うときに、精神安定剤コンパイルエラー利用のリファクタリングツールとして超有用です。