KDOC 46: Goの宣言構文がCと異なる理由を見る
Goの宣言構文は、C言語と異なっている。Goの設計者は、C言語でのわかりにくさを改善するためにGoでの宣言構文を採用したという。C言語のネストした型宣言は順番通りに読めずわかりにくい。
表現しようとしている型の図。
int (*x) () // => * func() int
Goはそのまま左から右に読める。
*func() int
関連
抽象。
- 先行する設計の問題点を知ると、後発の設計の決定理由がわかる
関連。
- 参照: [翻訳]Go言語の構文がC言語から大胆に変わった理由 - Qiita。ロブ・パイクの解説
- 類推: 過去の方法の問題点を把握することで、現在の決定が理解できるものはほかにあるか
- 類似: KDOC 41: 言語仕様書、RFC、数学の難しさは字面通りではないことにある。表面の字面だけでなく、背景や歴史を知ってはじめて理解できる点で共通する。言語仕様書やRFCは、言外の背景を疑問を持って読む必要がある