Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
Matzにっき(2003-09-13)
[go: Go Back, main page]

«前の日記(2003-09-12) 最新 次の日記(2003-09-14)» 編集

Matzにっき

<< 2003/09/ 1 1. ささやかな夢
2 1. 箱モデルの逆襲
3 1. 箱モデルの再逆襲
2. 洗車
4 1. プログラミング言語の使いやすさ
5 1. Beneath the Steel Sky
2. 打ち上げ
6 1. ステーク大会
2. Sobig.F
7 1. ステーク大会
2. Sobig.F(その2)
8 1. Sobig.F(からのメール)を退治せよ
9 1. Lispのわかりやすさ
2. ツッコミへのお返事
10 1. 表参道アドベンチャー
2. プログラミング言語のユーザビリティ
11 1. 記法のユーザビリティ
2. 迫りくる〆切
12 1. 〆切
2. 温泉
13 1. 温泉プール
2. マクロのユーザビリティ
14 1. 岡山
15 1. 敬老の日
2. マクロのユーザビリティ(その2)
3. 〆切
16 1. インタビュー
17 1. コンピュータの名著・古典100冊
2. トリビア
18 1. ソフトウェア特許
19 1. 準備
2. 姪
3. ソフトウェア特許ML
4. 懸念の表明
5. himiさんの反応
20 1. 休日
2. 仮想マシン
21 1. 米子訪問
2. 移動
3. アンチパテント
22 1. 台風
2. 旅行記(往き)
23 1. 電源の恐怖
2. 見かけた有名人
3. デンマークのテレビ
4. パーティ
24 1. プレゼンの準備
2. プレゼン「What's Hot in Ruby」
3. インタビュー
4. Speakers Dinner
25 1. 旅立ち
26 1. 帰国
27 1. 帰宅
28 1. 松江
2. 娘の誕生日
29 1. ソフトウェア特許は悪?
30 1. Artimaインタビュー
2. AQUA
3. プログラミング言語の新アプローチ
>>
迷惑メール対策なら Dr.WEB
『Dr.WEB メールデーモン』、MTA 用迷惑メール対策製品です!


2003-09-13 [長年日記]

_ [家族]温泉プール

えー、三連休の初日ということで家族サービス。 この夏は寒くて泳ぎにも行かなかったので、プールへ。 子供たちは泳いだり、ウォータースライダーで遊んだり。 私は基本的にお湯につかっていた。

〆切前にこの余裕の行動は...そうです。逃避ってやつです。

レポートは提出した。

_ [言語]マクロのユーザビリティ

私は「Lispのマクロ」が悪だなんて言いません。あれはあれで便利なものです。

でも、「普通の人」に対するユーザビリティを下げる可能性があるとは思います。 だから、「普通の言語」には要らないかもしれない。

要はトレードオフですよね。使いこなすのが難しいが強力なものを目指すか、 普通の人が普通に使うぶんには使いやすいものを目指すか。

私は、Lispを研究することで

  • LispのパワーとS式という記法はどれだけ密接に関連しているのか
  • S式がロジックの記述に最善の記法でないなら、どのような記法が良いのか
  • マクロは言語のパワーに必須か

などを知りたいと思っているだけで、Lispがだめとか、Lispを変えようとか思ってるわけじゃないです。

だからLisp好きは自分の立場を擁護する必要はありません。

本日のツッコミ(全3件) [ツッコミを入れる]
_ ゆあい (2003-09-14 22:29)

あのLispを使ったときが無い私が偉そうなことを書くことを最初に誤っておきたいと思います。

nobsunとのやり取りを見ていて、S式ってメタ言語ぽいなという印象を受けました。メタ言語とS式の利点と欠点って共通項が多そうじゃないですか?どうなんでしょうか?

>マクロは言語のパワーに必須か
必須では無いでしょうが、言語の仕様によっては必要な場合もあると私は考えます。コンパイル時実行(Eiffelのonceとか演算結果のキャッシュとか)とcall-by-name(インライン展開?)という機能が何らか方法で可能である言語ならば、マクロが無くても問題ない気がします。

_ ゆあい (2003-09-14 22:40)

自分にツッコミを入れておきます。
マクロとコンパイル時実行(Eiffelのonceとか演算結果のキャッシュとか)は関係ないやん。なぜかLispのマクロとC++のtemplateとを、ごちゃまぜにしてしまったようです。

_ ota (2003-09-15 01:17)

> マクロは生産性の向上には有効、わかりやすさにはかなり不利

と結論づけられていますが、マクロによってコードをわかりやすくすることもできますよね? 私が今まで見たことのあるコードでは、マクロを使って簡潔に記述することによって、生産性と同時にわかりやすさも向上させている場合のほうが多いような気がします。

ところで、Ruby はイテレータなどで工夫しているなと思うのですが、繰り返し以外の用途でイテレータを使っている例などを見ると、マクロっぽい使い方をしているように思えるのですが、イテレータとマクロを比較するとどうなんでしょうか?

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

«前の日記(2003-09-12) 最新 次の日記(2003-09-14)» 編集

RSS feed meter for http://www.rubyist.net/~matz/ Creative Commons License This work is licensed under a Creative Commons License.