/ 最近 .rdf 追記 編集 設定 本棚

脳log[20100427]



2010年04月27日 (火)

最終更新: 2010-05-08T15:45+0900

[無題]

 RubyからScalaに乗り換えた15くらいの理由

「良いプログラマへとこっそり導く仕様」というのは確かに素晴らしい。Rubyの変数名規則や Pythonのインデントにもそういう効用があると思ってるし、Rubyのブロックは考え方を一変させる力を持っていたけれど、Scalaにもそれがあるという。関数型言語の良さや並列処理支援が使いやすく組み込まれているなら、プログラムの組み立てを一変させる力も持ってるだろう。コップ本の帯の文句「Java、Rubyにつづく次世代言語」が単なる惹句ではない中身のある言葉として迫ってくるよ。

リストの前半は、それ○○でできるよ、というのがすぐ頭に浮かぶけど一つの言語でできるというのはないだろうなあ。リストの 13番目以降になじみがないのでそこの説明をこそ希望する、と思っていたら追記されていた。でも 15まで。dqm2はいいから続きを!

 1. メソッドの引数に型指定ができる

Rubyの引数チェックコードが比較にあがっているが、型指定があっても引数の正当性チェックは避けられないと思う。C++でもガード節や assertから逃れられないし、これはスタイルや信頼するコードの範囲の問題。

 2.「ダックタイプな型」を定義でき、引数で指定できる

それはインターフェイスなんでは?、と思ったけど、型を定義するときではなく型を利用する側で付ける制約なのなら新しいかも。(Interfaceを継承してなくても、Interfaceの要求を満たしているならアヒルさんだと認めてもらえる、みたいな)

コンセプトに対応したテンプレートみたいなものをイメージしてる。(ダックタイピングはメソッド名による、テンプレートはソース上の表記(シンタックス)による制限・汎化だけど、自由すぎるし要求が不明確)

 5.一度しか代入できない変数
 6.型推論機能がある

varと valでこれができるって。たったの一字違い。C++は constを書かせすぎるから valが本当にうらやましい。

メソッドの仮引数は自動で valだって。すばらしい。

 11.XMLリテラル

well-formedな HTMLや XHTMLを書くのに重宝しそう。ヒアドキュメントより進んでる。

 12.for文のパターンガード

そのガードを、例のように for文と別のところに用意しないといけないなら魅力はないけど、どうなんだろう。

Scalaの魅力は十分伝わったから、とりあえずコップ本買ってきた。自分で確かめる。

Scalaスケーラブルプログラミング[コンセプト&コーディング] (Programming in Scala) Scalaスケーラブルプログラミング[コンセプト&コーディング] (Programming in Scala)
Martin Odersky/Lex Spoon、Bill Venners/羽生田 栄一/長尾 高弘
インプレスジャパン
¥ 4,830

 ついにボーイズラブ雑誌が「有害図書」指定、18禁未満への販売や閲覧を禁止へ - GIGAZINE

朝日でも少年同士の恋愛漫画が「有害」みたいな見出しを付けてて、これはもめるなあと思ったんだけど、中身を読めば結局のところ、性描写のあるページ数や割合が一定以上のエロ雑誌を有害指定しているが、BLは必ずしも性衝動を喚起するものではないという理由で例外扱いしていた。その例外扱いをやめる、ということらしい。BLと関係ないところで有害図書指定の是非を問うのは構わないけど、「『トーマの心臓』が 、BLだから、有害」みたいな書き方は朝日以上の悪意を感じるよ>>>GIGAZINE


成人向けと有害を混同してたみたい。エロだけでは有害とならないなら、性行為の描写を含むページ数やページの割合というのは必要条件の一つってだけなのか。大阪の図書館の蔵書に BLが含まれていることの関連がささやかれてたりもする。お決まりの問題。ジャッジする人間の正当性をだれが判断するのか。有害図書指定がありきたりのルーティーンではないらしいことが想像できるようになった。してみると松文館が事件になってたのも有害図書関連なのかと検索すればそちらはわいせつ物。野放しはなんとなくダメな気がするけど、多数決はセンシティブな問題だけにありえない。明確な判断基準を作ってのフィルタリングもそこで思考が停止してしまってしょうもない運用がなされる未来が見える。結論なし。