>>43
まず各LLにおける関数型プログラミングの適性度には大きな差異があること、
およびLLプログラミングではRubyしか深い経験/知識が(自分には)無いという理由から、
以降で述べる要望は「Rubyだけを対象」にしていることを断っておきます
最初の要望は、理想論であるけど「型推論を前提とした静的型付け」です
LLの主用途は(>>28で述べたように)日常的なテキスト処理であるけれど、
RailsやmRubyなどの登場によって「Rubyで製品を開発する」ケースが増えつつあります
この場合、生産性(効率的な開発)も大切ですが、長期間に渡って運用/開発が継続するという
性格から、品質(バグ発生率や保守性)が最も重要であると考えます
この高品質コード設計においては、生産性(簡潔さ)と高品質(安全性)を兼ね備えた
「型推論を前提とした静的型付け」がRubyに求められることになるでしょう
ただし、サブセットのRuby言語仕様であれば型推論の実験的実装について
いくつかの報告が存在しますが、完全なRuby言語仕様についてはかなり遠い目標でしょう
そこで、これに代わる現実論(=妥協案)として「省略可能な動的型検査構文」を要望したい
これは単純に def hoge(num : Integer, str : String) : MyClass といった構文でもいいし、
typexpr Integer * String -> MyClass のような明示的型式宣言でもいいし、
あるいはPythonのデコレータ記法を応用した型検査手法をパクってもいいと思います
なお、当たり前ですがこの要望は組み込み/標準添付ライブラリに関しても適用されるべきです
この要望は、ドキュメンテーションの改善にも役立てることができます
現在のRubyコミュニティでは、コメントとして記述された型情報を含む解説を抽出するという
JavaDocスタイルの文書化が主流です(たとえば「引数 num は整数、str は文字列 ......」)
ここで、もしも動的型検査構文が導入され、かつ型情報を外部へ出力できるようになれば、
そこからメソッドの型に関する解説を文書の一部として自動生成できるようになるはずです
また「コードとコメントの乖離」というJavaDocスタイル固有の問題(の一部)も解消されます
(続きは、また明日)
探検
ニュース
- 【コメ】卸売業者「簡単に安売りできない」 「大暴落起きれば大赤字に」 JA「新米の販売進度が近年になく遅い。コメの回転が悪い」 [Hitzeschleier★]
- 中国から訓練の連絡あったが、区域など具体的な内容知らされず=小泉防衛相 [♪♪♪★]
- 空自機レーダー照射、音声データ公開 中国 ★4 [蚤の市★]
- 「残クレ」でマイホーム、国が銀行向け保険 新型住宅ローン普及促す -日経 ★2 [少考さん★]
- 【速報】 米国政府、中国が日本の自衛隊にレーダーを照射を批判、同事案で中国を批判するのは初めて [お断り★]
- 【高市早苗総理】食料品消費減税に慎重「今すぐ約束できない」…「物価上昇率は徐々に落ち着いていくと見込んでいる」 [Hitzeschleier★]
- 【高市速報】小泉進次郎「事前に中国軍から飛行訓練を開始すると連絡があったのは事実」 [931948549]
- ギャル時代の私見て
- 【正論】高市さん「『企業献金について与野党で協議する』という答弁は石破個人のものであり、もはや無効」特定野党を完全論破 [519511584]
- 【悲報】高市早苗政権に文春砲が連発! [115996789]
- 【正論】高市さん「長期金利が上がり続けていくことよりも、日本が成長していく方が大事」 [519511584]
- (ヽ°ん゚)「ODした」オーバードーズしてそうなもの [377482965]
