«前の日記(2005-11-11) 最新 次の日記(2005-11-13)» 編集

Matzにっき


2005-11-12 [長年日記]

_ [原稿] 完成、あとひとつ

日経バイトはついに完成。なんか気が緩む。でも、もうひとつ(オープンソースマガジン)残っているのだ。

_ [Ruby] うさんくさい「Joy」

新山さんのメモから。

どうでもいいけど、Ruby 自身にしろ RoR にしろ、彼らはやたらと "joy" だの "使って楽しい" だのを強調するが、これ自体がそもそも非常にうさん臭い言葉だよな。プログラミングが楽しいのはある意味当然であって、必要以上に楽しすぎる場合はどこかでツケを払う必要が出てくる (そのツケを払うのが自分とは限らない) ということに彼らは気づいているのだろうか。

"joy" だの "使って楽しい" だのを強調することがうさんくさい点には同意します。 なんてったって、人はそれぞれ違うんで、全員が同じことをjoyと感じるわけはないので、 客観的に優れていることを示すことは不可能ですし。 Python使ってる方がRuby使うよりはるかに楽しい人を見付けるのは簡単でしょう。

にも関わらず、我々が「楽しい」を連発するのは、

  • プログラマのあるサブセットは共通の嗜好を持ち
  • その集合が「楽しい」と感じるある言語の性質がある
  • が、我々は語彙が足りなく、客観的にそれを表現できない

ということなんでしょうね、きっと。

で、いきおいイメージ先行のマーケティング的に使われることが多いので、 どうしても「うさんくさく」なるんでしょう。これは自覚してます。

が、「必要以上に楽しすぎる場合はどこかでツケを払う必要が出てくる」ということには、 正直、気づいてないです、すいません。

いや、私自身は毎日のようにツケを払ってますよ。極端に動的な言語は最適化が行いにくいんで、 処理系が遅いのをなんとかするのが大変とか、 「書いてて自然」とか自明でない設計ポリシーのため、言語設計上の判断が非常に難しいとか。

でも、「そのツケを払うのが自分とは限らない」ってのは、どういうシチュエーションなのか想像つかないっす。想像力足りないかな。

本日のツッコミ(全16件) [ツッコミを入れる]
_ taka (2005-11-15 17:31)

無駄なことを省けるのは楽しい。<br>やりたくないことを省けるのも楽しい。<br>後者の場合、デバッグや保守が大変になったりするってことかも?

_ まつもと (2005-11-15 17:37)

もし本当に「楽しい」ことが原因でデバッグや保守が大変になるなら「ツケ」と呼べるかもしれません。が、あんまりひんぱんにそういうことが起きるような気はしないのですが。<br><br>まあ、一度でもあれば十分なのかもしれませんが、一般論としてはちと弱いかも。

_ rucila (2005-11-16 00:35)

いつも Ruby を楽しく使わせてもらってます。<br>なので「そのツケを払うのが自分とは限らない」というのは、わたしたちが楽しく使えるのはまつもとさんやメンテナの皆さんが「ツケを払って」くれているおかげ、という風にわたしは読みましたけど。

_ みずしま (2005-11-16 02:25)

> なので「そのツケを払うのが自分とは限らない」というのは、わたしたちが楽しく使えるのはまつもとさんやメンテナの皆さんが「ツケを払って」くれているおかげ、という風にわたしは読みましたけど。 <br><br>元の文章を読む限り、そういう話では無いと思いますが。

_ みずしま (2005-11-16 02:32)

途中で送信してしまいました。元の文章を読む限りそういう話ではないというのは、元文章を読むと「ツケを払う」というのは否定的に書かれているわけで、そこからそういう肯定的なニュアンスを読み取ることはできないだろうということです。

_ ベン (2005-11-16 02:35)

なかなか例示するのが難しい問題と思いますが、良く上げられる例として、たとえば打ち間違いで存在しないメソッド名になってしまってエラー、なんてのは、たとえばJavaのような静的型付けを強要する言語ではあり得ないバグですよね。ところがプログラマのレベルが高いと、これって結構うざい制約です。<br> でも超低レベルからハイレベルまで混ざって開発する開発環境だと、こんなバグを超低レベルをバカバカだしてくれます。直すのはよりレベルの高い人たちです。<br> 誤字ってのは一番発見が難しいバグの一つなので、結構大変だと思います。職業Javaプログラマとして、Mapに入れるオブジェクトに型を付けられるようになってどれほどほっとしたことか....

_ ベン (2005-11-16 02:38)

なんか新山さんのブログを読み直して、そんな話でもないような気がしてきました...

_ 774さん (2005-11-17 11:25)

コカコーラのCMでyeahとか言って楽しそうな若者や、楽しそうにハックしているハッカーを見ると無償に腹が立つ性質で、「早く寝ないとオバケがでるよ」と言って脅しているだけじゃないかなあ。たぶん印象だけで無根拠でしょう。

_ まつもと (2005-11-17 11:50)

ベンさん:<br><br>誤字ってのは一番発見がやさしいバグだと思いますよ。ほとんどの場合には動的言語でも検出できますし、偶然名前が重なっちゃう確率は命名法やツールの支援でかなり下げられると思います。一番難しいのはロジックの間違いでしょう。

_ shiro (2005-11-17 14:17)

いや、ちょっとした誤字が手強いバグになることもありますね。method_missingで怪しいことをしてるとか、レアな実行パスに潜んでるとか。<br><br>個人的には「隠れた状態の扱い」が厄介だと思います。動的言語だと、実行時に環境をいじることで見た目に宣言的なコードを書けるようにできますが(例: CLOSのdefclass)、それは隠れた状態を変化させているわけで、何らかの事情で状態変化のタイミングがずれると思うように動かないかもしれません。例えばインタプリトされていたコードをプリコンパイルするように変更したとか、スレッドをひとつ追加したらそれまで逐次にロードされてたモジュールが並列にロードされるようになったとか、そういうことで今までと状態遷移が変わって動作がおかしくなるとか。<br><br>状態の変化が隠されていればいるだけ、問題になった時にfixするのが面倒になるんで、ぱっと見の書きやすさ/読みやすさだけを優先して低レベルプロトコルを隠しすぎるとしっぺ返しを食らうかもしれません。

_ 機械伯爵 (2005-11-18 11:02)

ツケを払わされる人←教える人など(よく教える相手にいじめられる)ちなみにプログラミングに限らず、コンピュータ関連全てでそんな感じ・・・

_ まつもと (2005-11-18 11:10)

なるほど、と一瞬納得しかかったのですが、でも、考えてみると「教える人」って何をどう教えてもいじめられませんかね、特にこの分野では。<br><br>単純すぎても「普段慣れているのと違う」、複雑すぎても「分かんない」。楽しい方がまだマシかもしれません。

_ 機械伯爵 (2005-11-18 12:27)

ですので、「実は楽しいんだよ」という言葉は、教える側に取っておいて欲しいわけでして(笑)<br>「便利」とか「判りやすい」という言葉は、事実であればどんどん使っていただいてもいいと思います(判りやすい、は、実際は教え方/学び方にも影響されるとおもいますけどね)<br>でも、プログラミング言語とゆーのはやはり「難しい」が定番らしいので、まだ学ぶ方が構えるのでなんとかなるのですが、コンピュータ(パソコン)は、「誰でも使える」「使えなければならない」の迷信(呪い?)が未だ解けなくて苦労します。

_ まつもと (2005-11-18 12:51)

そりゃ、ずるいですよ。こんな便利な言葉を独り占めしようなんて。<br>我々言語設計者も負けないくらい虐げられているんですから。<br><br>それにどうせマーケティングの人は誰にも気を使わずに使うでしょうしね。

_ 機械伯爵 (2005-11-18 14:29)

 はい、ずるいです(笑)<br><br> でも、多分一番効果的にこの言葉を使えるのって、実際に教える人間だと思うんですけどね(自習の人は、多分自分自身で楽しさを見つけるでしょうし)<br><br> あと、「楽しい」「簡単」は、ことプログラミング言語などでは、一つ間違えるとマイナスイメージもあるので(特に意欲を持った人には)、連発すればいいというものでもないと思いますし(逆ベクトルとして、簡単と言う人が極端に少ない(いることはいますが)C++に走るプログラム入門者の多いこと多いこと)<br><br> ちなみに、私が聞いた「Rubyを勉強しはじめた入門者(5〜6人ほどですが)」の動機は、大体「書けるとカッコ良さそう」だからだそうです(中学〜高校生の男の子ばっかりだからかもしれないけど)<br><br> ………私が薦めない限り、はじめからPythonなんて習おうとする子なんていないしなぁ(泣)<br><br>(大体、C++,C,Java,Perlあたりが人気があって、よく本屋通いする子とか、例のRPGツクールでゲームを作り始めた子なんかがRubyに目をつけてるようです)<br><br> 企業とかの方はぜんぜんわかんないですけど、総じてあんまり「楽しそうだから」でプログラム始める人って聞きませんね(私もどっちかというと『かっこよさそうだから』系で、若い頃は石を叩くことに執念を燃やしていたこともありました)<br><br> だから「楽しい」って、あんまり宣伝効果にならないかもしれませんよ(笑)<br><br>※と、自分に有利なことを好き勝手に言ったりしてますが、実は女性がプログラミング言語を選ぶ動機や基準は、ぜんぜん知らなかったりしますので、そっちはかなりアヤしいかも。<br><現在授業中の不良講師より>

_ まつもと (2005-11-18 14:35)

マーケティングな人は知りませんが、私自身が「楽しい」を使うのは、それが自分の気持ちを一番良く説明できるからで、目的は宣伝じゃなくて自己満足だったりします。<br><br>ちゅーか、私にはRubyを宣伝するつもりはこれっぽっちもなかったりするんですが。だからブレークするまで何年もかかったのかもしれませんが。

お名前:
E-mail:
コメント:
[]

«前の日記(2005-11-11) 最新 次の日記(2005-11-13)» 編集

track feed Matzにっき Creative Commons License This work is licensed under a Creative Commons License.