【SICP】計算機プログ ..
[2ch|▼Menu]
643:デフォルトの名無しさん
08/01/06 23:51:05
いまさらですが、関連スレです。

コンピュータプログラミングの概念・技法・モデル
スレリンク(tech板)

644:デフォルトの名無しさん
08/01/08 13:14:36
mit-schemeをいじりつつ読んでますが、これって↑キーで入力履歴を出したり
できないんでしょうか。

環境はUbuntu Linuxです。

645:デフォルトの名無しさん
08/01/08 14:22:42
rlwrapを使いなよ
面倒ならemacsでがんがれ

646:644
08/01/08 14:40:28
>>645
おお!これいいですね。ありがとうございます。

647:デフォルトの名無しさん
08/01/10 11:37:22
普段IT業務土方アプリを仕事にしている者です。

SICP物凄く楽しく読んで今2章の終わり。この本のクライマックスってどこでしょうか?

あと、大学なんかで社会人向けに開いている講座とかありますでしょうか。

648:デフォルトの名無しさん
08/01/10 12:19:57
課題としてscheme処理系とかを作ってみよとか出てくるあたり

649:デフォルトの名無しさん
08/01/10 12:57:10
>>647
MITからOCWでビデオ講義みたいなのもありますよ
あと日本の大学でも、京大とかのこの本を使うOCWもあります
3章のストリームなども面白いですよ。クライマックスはまぁ一番最後の問題でしょうけど。

650:647
08/01/11 22:48:17
>>649
ありがとうございます。ただ、出来れば直接詳しい方と話をしつつ勉強できる場
があればなぁと思うのですね。別に大学でなくてもいいんですが。

IT土方アプリ関連の研修でSICP講座とか無いですからね(笑)。だけど、読んで
みて感じるのは、そういう講座が無いというのが不思議になってきます。これは
凄い実践向きなんじゃないかと思うのですが。

651:デフォルトの名無しさん
08/01/11 23:26:27
>>650
ではURLリンク(www29.atwiki.jp)などの読書会に参加してみては?

652:デフォルトの名無しさん
08/01/19 18:29:44
翻訳ひどいってよく言われてるけど、中身はそうでもないね。

序文は確かにひどいが。

653:デフォルトの名無しさん
08/01/19 18:39:27
第1章の第1節を越えればなんてことはないと思う
そもそも第1節は1章の内容を概説しているので、
説明が抽象的で読みにくいけど、1章全部読んでしまえば
何が書かれていたか後から解る

思うに、文句言ってるやつは1章1節の先を読んでない

654:デフォルトの名無しさん
08/01/19 19:22:49
もしくは文句言ってから英語版を読んで完全理解しちゃってるとか。

655:デフォルトの名無しさん
08/01/19 19:54:53
MITのサイトで公開されている英文読んでる者ですが、持ち運びできる
本はやはり欲しいです。

英語版ってペーパーバックでも7000円以上するんですよねぇ。今英語で
読んでるので、日本語版買おうかと思ったんですが、翻訳の噂が悪すぎでw

近くのデパートの本屋で立ち読みしようと思ったんですがありませんでした。
でも日本版は5000円弱なのでやっぱ買ってみようかなぁ。訳者はあの
HappyHackingの作者でもあるしw

656:デフォルトの名無しさん
08/01/19 20:00:26
訳が良いかといわれれば、良くは無いんだが、別に読めないレベルではないと思う。
日本語で分かりにくいところだけ英文を参照すればいいんじゃないの。

657:デフォルトの名無しさん
08/01/19 20:25:19
技術書の翻訳版は原書を読むためのとっかかり程度に考えておくと
がっかりせずにすむんじゃないかな。
結局両方買うことになるのが嫌なら頑張って英語を勉強する。
ロシア語やドイツ語でなくてどんなにありがたいかと。
もちろんそっちの方がまだ良いという意見もありですが。


658:デフォルトの名無しさん
08/01/20 00:00:17
プリントアウトすれば普通に持ち運びできるじゃん。
ただ読むにしてもブラウザで読むより読みやすいし、書き込みできるし。

659:デフォルトの名無しさん
08/01/21 11:29:18
洋書版買おうと思うのだが、どれがいいんだろうか・・・

URLリンク(www.amazon.co.jp)

ハードカバーで16,574円ってのは、何か特別な本なの?

660:デフォルトの名無しさん
08/01/21 14:15:20
装丁が立派

661:デフォルトの名無しさん
08/01/21 16:20:48
>>659
Structure and Interpretation of Computer Programs in Visual Language Zed
Zelah Hutchinson, BookSurge Publishing (December 7, 2007)
URLリンク(www.amazon.com)

こんなん始めて知ったわ。
ググッてもZEDって言語の仕様が全くわからん。



662:659
08/01/22 11:36:00
ハードカバーならこれなのかな。

URLリンク(www.amazon.co.jp)

USでも81$もするんだぁ、って思ってたら、

URLリンク(www.amazon.com)

値下げしてる。日本も下げるかな。最近円高だしw



663:659
08/01/22 11:50:09
あと、日本のAmazonのコメントは翻訳がいい悪いしか書いてないけど、
USのAmazonは意見が結構書いてあって面白い。

特に、賛否両論、真っ二つなんですね。評価がこんなに割れる有名な本って
いうのが面白い。

664:デフォルトの名無しさん
08/01/23 16:44:07
この本をいい本と思うか悪い本と思うかは、その人がプログラミングと
どういう意識で向き合ってるかにおそらく強く依存するよね。

コーディングなんてただの事務作業・単純労働で創造力を発揮する余地などない
と思ってる人にはこの本のどこがいいのかまったく理解できないだろう。


665:デフォルトの名無しさん
08/01/23 16:48:28
あとそれなりに経験が要るよな。


666:デフォルトの名無しさん
08/01/23 17:44:38
経験より好奇心

667:デフォルトの名無しさん
08/01/23 17:49:18
schemeの初歩の初歩から紐解いているから経験はいらないね
実際普通の大学じゃ1年後期あたりで読むしね

668:デフォルトの名無しさん
08/01/23 22:44:10
>>664
C とかで
if (isascii(c))
とか書くと
x = isascii(c);
if (x == FALSE)...
って書かなきゃだめ! って文化があるからなぁ
そのくせ
x = foo(x) || bar(x) || baz(x);
if (x)...
って書いても怒られなかったりする(W
# 本質見誤ってる人たちって多いと思う


669:デフォルトの名無しさん
08/01/23 22:52:22
>>668
>って文化が

ないない

670:デフォルトの名無しさん
08/01/23 23:32:09
そんな文化聞いたこと無いんだが
どこかにそんな話あるのか?

671:デフォルトの名無しさん
08/01/24 00:22:28
if (fp = fopen(...)) {
 ...
}



fp = fopen(...);
if (fp) {
 ...
}

こう書け、ってぐらいだなぁ。
しかもこれは、どちらのポリシーも一長一短だという認識が普通と思うが。

672:デフォルトの名無しさん
08/01/24 00:29:56
使い捨てのツール以外は行を分けて書くかな。
デバッガで扱いやすくなるから。

673:デフォルトの名無しさん
08/01/24 00:58:46
レジスタの動きを知っていれば問題ない

674:デフォルトの名無しさん
08/01/24 01:10:15
>>668
しかもFALSEと比較するなんていうバグソフトが文化な訳ないでしょと

675:デフォルトの名無しさん
08/01/24 01:30:33
>>674
> しかもFALSEと比較するなんていうバグソフトが文化な訳ないでしょと

0 → 偽
非0 → 真
だから、TRUEと==で比較するのはバグだが?

676:デフォルトの名無しさん
08/01/24 01:51:02
ここで異文化交流をやってると聞いて飛んできました!

677:デフォルトの名無しさん
08/01/24 02:02:23
>>675
な、なんですとっ

678:デフォルトの名無しさん
08/01/25 13:36:14
質問
買ってみたんだけど、1章すら自分にはやや難しいし2章では挫折の悪寒。
Little Schemerの後SICPで大丈夫かな?
それともSeasoned挟んだ方がいいかな。

679:デフォルトの名無しさん
08/01/25 14:39:04
Seasonedやっても楽にはならないと思われ

680:デフォルトの名無しさん
08/01/25 14:55:21
自分はScheme初心者で、今読んでるところですけど、これってSchemeの知識とか
あまりいらない気がします。

米国のAmazonの書評にもありましたけど、SchemeプログラミングのHowToみたいな
ことは全然書かれていない。基礎論的な書物だと思います。

ただ、関数型言語の発想は随所に出てきて、この本全体が関数型言語寄りの思想で
書かれていますね。

681:デフォルトの名無しさん
08/01/25 15:50:24

trueやfalseと比較しないためにIsTrueとかIsFalseとかいうマクロを作ればいいんだ!


682:デフォルトの名無しさん
08/01/25 18:13:58
if ( IsFalse(x) == true ) { ....
とか書くやつがいそう

683:デフォルトの名無しさん
08/01/25 18:21:58
ていうかなんで比較すんの?

684:デフォルトの名無しさん
08/01/25 21:00:40
むしろそういうことをやらせないためには、

#define IfTrue(x) if (x)
#define IfFalse(x) if (!x)

てかいい加減スレ違い

685:デフォルトの名無しさん
08/01/26 13:38:52
Little〜を読むとSchemeは紙とペンで実行できるってことがよくわかる。

686:デフォルトの名無しさん
08/01/26 14:19:45
紙とペンで実行できない言語なんてあるか?

687:デフォルトの名無しさん
08/01/26 15:58:29
Whitespace


688:デフォルトの名無しさん
08/01/26 23:39:50
言語がなんであれ、簡単なコードならサクサク書けるレベルの人と
そうでない人では理解のスピードは違うよね。
基本的な頭の働かせ方の問題として。
例題解いていくのが大変な俺のレベルにはリトル必須だと思ってる。

689:デフォルトの名無しさん
08/01/27 01:43:39
>>688
自分にあってる本や言語に出合えるのは幸運だと思う。
Little Schemer/Seasoned Schemer/Reasoned Schemer
To Mock a Mockingbird
SICP
この3冊はLisperには必須だと思う。

690:デフォルトの名無しさん
08/01/27 01:48:51
独習Scheme読めばよくね?

691:デフォルトの名無しさん
08/01/27 13:35:37
独習Schemeの著者Dorai SitaramはLittle Schemerの著者の一人Matthias Felleisenのお弟子さん。
Little Schemerシリーズの方が扱っている範囲は広い。
Little Schemerを読めば独習Schemeで十分とは考えなくなるだろう。

692:デフォルトの名無しさん
08/01/27 19:05:53
Mocking birdって英語やさしいですか?

693:デフォルトの名無しさん
08/01/27 19:36:19
>>691
Schemeを勉強するならそうだろうが
SICPはあくまでScheme使ってコンピュータ科学の勉強をするのが目的なんだから
独習だけでも十分でしょ。

694:デフォルトの名無しさん
08/01/27 19:55:19
>>692
やさしいけど別にSchemeの本じゃないよ。関係がないともいえないのも後半だけだと思うなあ。

695:デフォルトの名無しさん
08/01/27 19:57:35
>>693
不十分

696:デフォルトの名無しさん
08/01/27 19:58:44
>>694
そこの浅いコメントはやめとけ。

697:デフォルトの名無しさん
08/01/27 20:02:40
あら、そいつは失礼。

698:デフォルトの名無しさん
08/01/27 20:15:37
>>693
まあどうでもいいんじゃね?
SICPだけ読んで理解出来る奴もいるし、
独習読んで取り組みやすくなる奴だっているし、
Little読んでわかりやすくなったって奴もいるだろう。

699:デフォルトの名無しさん
08/01/27 20:15:50
なぐったね。とうさんにもぶたれたことないのにw

700:デフォルトの名無しさん
08/01/27 21:04:59
Mocking birdを読むと数学的仕様、Partial evaluation、二村射影などの有用性がわかるようになると思う。
大学入試程度の英語が出来るなら1ページに1回辞書をひくか程度のレベル。一週間もあれば読めるでしょう。

701:デフォルトの名無しさん
08/01/27 21:16:06
Shiroさんのとこ読むとYとかBとかいうコンビネータが出てくるけど、あれはSchemeじゃないのか?

702:デフォルトの名無しさん
08/01/27 21:22:27
>>700
大学入試レベルなんてピンキリですよw

703:デフォルトの名無しさん
08/01/27 21:23:54
TOEIC700点レベルだな

704:デフォルトの名無しさん
08/01/27 22:48:45
>>703
TOEFLじゃねぇの?おまえ程度低いなw

705:デフォルトの名無しさん
08/01/27 22:58:15
>>704にはSchemeより日本語ですね。

706:デフォルトの名無しさん
08/01/27 22:59:15
受験英語レベル⇒TOEIC700(東大に入れる程度)⇒TOEFL(540,207,70)



707:デフォルトの名無しさん
08/01/27 23:03:18
TOEICと受験では求められるものが違うんじゃね。

708:デフォルトの名無しさん
08/01/27 23:08:52
英語がどれだけ出来るかは対して変わらない

709:デフォルトの名無しさん
08/01/27 23:09:26
>>700-706
受験板逝けYO!

710:デフォルトの名無しさん
08/02/01 02:05:12
4章以降って、コンパイラとかあんま興味ない人間でも読んどいたほうがいいかな?
3章までは一般的なプログラム設計に通じる話で、結構おもしろかったけど、
4章からSchemeコンパイラの作り方みたいになってなんかつまんなくなってきた。

711:デフォルトの名無しさん
08/02/01 02:07:35
コンパイラ様のお世話になってるなら、興味ないなんて言っちゃ駄目だよ。
あいつの機嫌を損ねるとえらいことになるぞ。

712:デフォルトの名無しさん
08/02/01 02:10:52
まあ興味ないというよりは、自分のような凡人プログラマが
深遠なるコンパイラ様の奥深くまで入っていくのが
恐れ多いというか、めんどくさいというか。

713:デフォルトの名無しさん
08/02/01 02:10:54
>>710
流行りのDSLへまっしぐらだぜ!

714:デフォルトの名無しさん
08/02/01 02:11:57
まあ向いてない人は無理にやることない。
やらなくても死ぬことはない。

715:デフォルトの名無しさん
08/02/01 02:18:47
じゃあ、将来オレオレ言語を作りたくなったら読んでみるよ。回答サンクス

716:デフォルトの名無しさん
08/02/01 02:24:10
>>710
参考までに教えて欲しいのですが、問題はどれくらい解いたかのでしょうか?

717:デフォルトの名無しさん
08/02/01 02:30:43
>>716
いや、そこまで真面目に読んでるわけじゃないから、
面白そうなのをを10%くらいしかやってないよw

718:デフォルトの名無しさん
08/02/01 04:15:13
4章こそ面白いのに・・・
確かに最初の方は単純な設計の話ですが、後半は様々な設計が見られて普通に面白いですよ
例えば遅延評価は実装レベルではどう組むか、非決定計算はどう組むかなど知らなかったらかなりためになりますよ

719:デフォルトの名無しさん
08/02/01 10:33:39
>>718
うーむ、そうですか。
スタートが評価規則の羅列であまり興味もてなかったんですが、
もう少し頑張ってみようかな。

720:デフォルトの名無しさん
08/02/01 10:55:53
猫に小判

721:デフォルトの名無しさん
08/02/01 12:21:00
しかし小判を追い求めて手中にした猫と求めない猫とでは、そこには果たして大きな隔たりがあるのでは

722:デフォルトの名無しさん
08/02/01 13:52:50
>>721
猫にとって必要なのは、小判だろうか。
それとも、いきのいいねずみだろうか。


723:デフォルトの名無しさん
08/02/01 16:39:27
いいえ、キャットフードです。

724:デフォルトの名無しさん
08/02/01 16:51:16
そもそも猫は小判を求めない。
くれてやってもありがたみもわからなければ
ありがたがりもしない。

725:デフォルトの名無しさん
08/02/01 19:47:17
>>724
馬鹿だな。
小判を見せびらかすことで、松坂牛で釣りに来るのを待ってるんだよ。


726:デフォルトの名無しさん
08/02/01 21:42:55
なんだ、ケフィアじゃないのか。

727:デフォルトの名無しさん
08/02/01 23:20:03
バカだな。
正しくは、
「ねこに、こんばんは。」
だ。


728:デフォルトの名無しさん
08/02/02 02:25:21
Dr.「Hmmm,,,ねこはわかりました。 それでどこが悪いのですか?」

729:デフォルトの名無しさん
08/02/03 22:12:14
けど、ちょっと変な猫が小判を欲しい気分になったら?
その時与えてやるのと与えてやらないのとどちらが正解?

俺は猫が望むのなら与えてやるべきだと思うな。
それがあるからこそ、人間はここまで成長できたはず。

730:デフォルトの名無しさん
08/02/04 00:45:19
定理1. 猫は小判を欲しがらない。
定理2. 猫は小判の価値を理解しない。

現象:ここに小判を欲しがってる「猫」が居る。

判定:「猫」は猫のように見えて実は猫では無い。
   何か別の生き物である。(猫の皮を被った宇宙人とかw)

731:デフォルトの名無しさん
08/02/04 00:49:02
「猫であること」と「宇宙人であること」は直交した概念なので特に矛盾は無いのでは?

732:デフォルトの名無しさん
08/02/04 00:49:48
君は何を言っとるんだね

733:デフォルトの名無しさん
08/02/04 01:37:52
>定理1. 猫は小判を欲しがらない。

定理というからには証明できるのか?って所が問題だろう
「(全ての)猫が(全ての)小判を欲しがらない」ということを

734:デフォルトの名無しさん
08/02/04 01:44:23
いい加減にしてくれ。ここはSICPスレです。よそでどうぞ

735:デフォルトの名無しさん
08/02/04 02:02:27
今は特定の猫が特定の小判を欲しがらない場合について議論しているのでは?

736:デフォルトの名無しさん
08/02/04 06:57:07
むしろブドウは酸っぱかったかどうか疑問だと思うんだ

737:デフォルトの名無しさん
08/02/04 13:05:16
SICP を理解しても、使わない・応用しないじゃ仕方ない。
ここで考えるべきは、ネコが如何に小判を有効活用するかということだ。
爪研ぎとか?

738:デフォルトの名無しさん
08/02/04 14:42:40
いったん理解したらむしろ使わないでいる事の方が難しいだろう。
プログラミングに関する基本的な考え方やインスピレーションを
与えてくれるのだから。

「使う」って言う意味が意識的な応用に限られると言うなら別だが。

739:デフォルトの名無しさん
08/02/04 15:31:05
スレ違いだからあんまり書かないけど
「これを学ぶと私にとってどんな(具体的)利益があるのだろう?」
と常に悩んでるような人は内田 樹の「下流志向」を読むと良いと思う。

一言で言うと「学ぶ事の価値はそれを学ぶ前には決して理解できない」
って事。

740:デフォルトの名無しさん
08/02/04 15:53:34
>>738
人なら当然使うでしょ。今の問題はネコだから。

741:デフォルトの名無しさん
08/02/04 16:25:32
「ネコ」って言うのは「価値を理解できない人」の比喩だと思ってたが?

742:デフォルトの名無しさん
08/02/04 22:12:49
721だけど、あんなこと言わなければ良かったな・・・
ここで言う猫とは719の事で、小判は4章の内容を理解するという事ね
ようは仮に719が4章の内容を十分に使えるだけの力がなかったとしても、理解しているのとそうでないのでは違いがあるでしょって話ね
だから猫に小判なんていう冷たい言い方やめようぜって話ね

頼むから下らない議論はやめてくれ
>>738,739には賛成
SICPはプログラミングの基礎について教えてくれるから、何で必要かと聞かれれば土台を固めるために必要としかいえない

743:デフォルトの名無しさん
08/02/04 23:41:29
>736
もちろんブドウはキツネが言うほどには酸っぱく無かったのさ。
(酸っぱいブドウの機制)


744:デフォルトの名無しさん
08/02/05 05:14:17
dankogaiのところにコメント書いたばかは死ねよ

745:デフォルトの名無しさん
08/02/05 17:42:28
>730


その判定は、誤った研究姿勢の帰結。

現象を精査しつつ、猫が小判を欲しがらないという、
前提が誤りであった可能性を吟味する必要がある。

746:デフォルトの名無しさん
08/02/05 18:35:12
某所で紹介してくれた方、ありがとうございます。
早速読んでみます。

747:デフォルトの名無しさん
08/02/05 19:02:38
NGワード推奨:猫、小判


748:デフォルトの名無しさん
08/02/05 22:15:44
denotational semantics: the scott-strachy approach to the programming language theory

749:デフォルトの名無しさん
08/02/05 22:26:09
名無しのネコを再帰的に真似るネココンビネータの試みと
その意味論を議論しているスレはここですか?

750:デフォルトの名無しさん
08/02/05 22:39:47
再帰的に定義されたネコ関数の「意味」は、要するに
(cat (cat (cat (cat ... (cat ┴) ...)))) を無限に連ねた極限である。

ネコ関数を無限に適用するには、たとえば
(lambda (f) ((lambda (x) (f (x x)))
(lambda (x) (f (x x)))))
というコンビネータを cat に適用すればよい。

そして上記のコンビネータを別の観点から解釈すると、
ああ、そうか、これは任意の関数の不動点を求める関数になってるんだ!

これこそが Y Combinator。
我らの誇り、我らの希望、常に我らを導き、我らの上に燦然と輝く光!

751:デフォルトの名無しさん
08/02/05 22:46:47
おまえら頭良すぎて紙一重だな

752:デフォルトの名無しさん
08/02/05 22:49:13
まるでイルミネイタスの一節を見ているようだ…

753:デフォルトの名無しさん
08/02/05 23:05:31
シュレーディンガーのネコにコバンを与えたら
生きていると同時に死んでいるわけです

754:デフォルトの名無しさん
08/02/05 23:06:39
揺らぐのは俺の決断だけでいいよ

755:デフォルトの名無しさん
08/02/05 23:13:24
うちのネコは歩いていて時々ピタッと止まるんだけど
何事もなかったように歩き続ける。
call/ccってやつだよね。
それからネズミとかスズメとか取ると、しばらくそれをくわえて歩いてから食う。
遅延評価だな。

756:デフォルトの名無しさん
08/02/05 23:15:35
いやそれは違

757:デフォルトの名無しさん
08/02/05 23:16:03
evalネコに小判をやるとエラーになる。

758:デフォルトの名無しさん
08/02/06 02:32:03
755はちょっと違うな

遅延評価をしない猫は、獲物を捕った時点でそれがねずみならば、そのねずみを口に持っていくまでの間に小判にすり替えられても気づかず口に入れてしまう
一方遅延評価を行う猫は、獲物を捕ってそれが正に口に入らんとする時点でねずみかどうかを確かめてから口に入れる

こういうと一見、遅延評価を行う猫の方が利口に見えるが、例えばねずみを再帰的に食べる場合、つまり何口かに分けてねずみを食べる場合、
前者は最初にねずみと確認すれば後は確認せずにパクパクと食べ続けるが、後者は遅延評価するがゆえんに一口目二口目と口に入れるごとにそれがねずみであるかを確認する
現実問題として食べている間にねずみが別の何かにすり替わることはまずありえなく、仮に食べるのに十口程かかるねずみを手に入れた場合、後者は十倍無駄な動作をする事になる

しかし、近くに、他の猫の食べているねずみを小判にすり替える事を生業とする猫がいる事も一生に一度はあるかもしれない。そういった時は遅延評価をして食べるのが危機管理というものだ
とはいえ、一生に一度あるかどうかも分からない時のために毎回遅延評価するのはあまりに無駄が多いと言える

こういった遅延評価の無駄を削る方法がメモ化(memoization)である
つまり、そういったいじわるな猫が周囲にいない状況では、今食べているこのねずみは今後ねずみであるか確認しなくともねずみであり続けると言う事を記憶するのである
そうすれば今食べているものがねずみであるかどうかを確認するのにいちいち匂いや形から考えなくとも、記憶からそれがねずみであると言う事実を持ってくるだけで済む

それはやはり遅延評価をしないよりかは幾分ロスがあるかもしれないが、そのロスは記憶にアクセスするだけの短時間であるし、近くにいじわるな猫がいても対処できる臨機応変さも兼ね備えている非常に優秀な猫と言える

目の前の猫が遅延評価をする猫であるかどうかを確かめるには、ねずみを食べている途中にそれを小判にさしかえてやればよい。そこで食べるのを中止したのならばそれは遅延評価をする猫である

759:デフォルトの名無しさん
08/02/06 03:25:25
猫にはマタタビ、まで読んだ

760:デフォルトの名無しさん
08/02/06 04:08:50
「猫に小判」の話が頭の良いアホ(smart idiots)どもを引き寄せたようだな。

761:デフォルトの名無しさん
08/02/06 05:39:22
えらく偉そうだな

762:デフォルトの名無しさん
08/02/06 10:18:15
>>748 の路線で、もっと新しくておすすめの本ってありますか?

763:デフォルトの名無しさん
08/02/06 11:26:56
新しい順
Hanne Riis Nielson and Flemming Nielson
Semantics with Applications: An Appetizer
Carl A. Gunter
Semantics of Programming Languages: Structures and Techniques
L. Allison
A Practical Introduction to Denotational Semantics

お勧めはGunter→Nielsonの順で読むこと。

764:デフォルトの名無しさん
08/02/06 17:26:06
SICPを読んで遅延評価が並列処理と密接な関連があるということがよく分かりました。

これって、具体的に応用された例ってあるんでしょうか?まだ研究レベルでしょうか。

765:デフォルトの名無しさん
08/02/07 01:38:52
研究段階の事を大学初年度用教科書で教えるだろうか。
実用例は知らないんで偉そうに言って悪いが。

766:デフォルトの名無しさん
08/02/07 02:25:48
>>758
わかった。冷凍ギョーザを食べるときは遅延評価必須だね!
ありがとう、試してみるよ。

767:764
08/02/07 09:32:43
>>765
確かにそうですね。ただ、ちょっと調べただけですけど、遅延評価を並列処理に具体的に
結びつけた事例のドキュメントが見当たらなかったので。論文なんかだとあるのかなぁと
思ったのです。

面白い記事とかありましたら教えていただけると嬉しいです。

768:デフォルトの名無しさん
08/02/07 10:11:14
>>767
> 遅延評価を並列処理に具体的に結びつけた

というのはどういう意味で言っているの?

769:デフォルトの名無しさん
08/02/07 10:59:57
>>763
ご親切にどうもありがとうございました! 勉強します。

770:デフォルトの名無しさん
08/02/07 14:36:23
当たり前すぎて、わざわざ事例として紹介されてないだけでは?>遅延評価で並列処理

771:デフォルトの名無しさん
08/02/07 14:42:27
遅延評価そのものより、参照透明性が重要。

参照透明性を壊さないで無限リストのようなデータ構造をうまく扱うために、
遅延評価は有効。

ってことだと思う。

772:デフォルトの名無しさん
08/02/07 22:21:24
遅延評価ってのは、
1. 式を持ち運べる形にする
2. その式を発火する
3. 式の値を得る
という式評価の過程で、必要になってから2.を行えるように、
1.を行っておくってタイプの評価器。

並列だと、必要になってから発火するんじゃなくて、
いつかどこかで発火された式の値を得るために同期する。
値そのものを運ぶんじゃなくて、チャンネルを持ち運んだり。
そこでモナドが登場する。

関数型だと式しかないからこういう感じ。すごくシンプル。


773:デフォルトの名無しさん
08/02/07 22:24:05
布教なら余所でやれ

774:デフォルトの名無しさん
08/02/07 23:33:07
しかし、いつも関数型言語の概要を聞いて思うのは
SICPの例のようにATMとかをモデル化する場合どうやって表現するんだ?

本質的にステートレスでないものの扱いがよくわからん。

775:デフォルトの名無しさん
08/02/07 23:41:49
3章からは、ステートレスじゃないじゃん
参照透明性が失われているので厳密にはもはや関数型プログラミングではない

その参照透明性が失われる事でどういったメリット・デメリットがあるかっていうのがその話でしょ
ATMをステートレスは不可能。時の概念が入ってるから。

776:デフォルトの名無しさん
08/02/08 00:29:00
モナド付近をやるならまず型概念をしっかりさせたほうがいいんじゃないですか。
型持ち上げとかわかんないと意味わかんないところが多々ある気がするのですが。

淡白にそのまま自分の理解を晒してみますが
モナド<T,μ,η>って
T:型
μ:2型を1型にできる変換、ただし組み合わせて3型を1型にできないといけない
η:1型を2型にできる変換
の組という意味しかない気がする。

777:デフォルトの名無しさん
08/02/08 00:33:41
μの具体例としてはconcatMap idすなわちconcatで、
concat [[1 2] [3 4]] -> [1 2 3 4]
[[1 2] [3 4]]はList Listなので2型
[1 2 3 4]はListなので1型

778:デフォルトの名無しさん
08/02/08 00:53:52
それで、対象を3型から1型に変換できるから
トリプル導来函手と言うのだと思う。と、補足。

779:デフォルトの名無しさん
08/02/08 01:25:52
>>776-778
>>773

780:デフォルトの名無しさん
08/02/08 02:13:00
Schemeネコvsモナーだな?

781:デフォルトの名無しさん
08/02/10 16:09:01
とりあえず、SICP買ってきた。満足した。


782:デフォルトの名無しさん
08/02/10 16:10:48
日本語訳もそろそろWebにあげてくれよ。

783:デフォルトの名無しさん
08/02/10 16:21:24
>>781
原書も買えよ。

784:デフォルトの名無しさん
08/02/10 16:33:56
>>783
原著は、ネットで見れるではないか。
4800円は辛かった・・・

785:デフォルトの名無しさん
08/02/10 16:39:41
良い原書は黙ってても出るが、訳書は売れないと今後出なくなっちゃうよ。
だから、ちゃんと買ってあげましょう。w

786:デフォルトの名無しさん
08/02/10 18:54:55
その理屈だと、いい訳書は売れ、悪い訳書は売れないというフィードバックをかけないと。

787:デフォルトの名無しさん
08/02/10 19:56:44
海外の名著を輪読ついでに学部生に訳させて、教授名義の訳で出すってよくあるよね
いや、SICPのことを言ってるわけじゃないよ

788:デフォルトの名無しさん
08/02/10 19:59:21
んで誤訳があってもチェックする事もなく出す…と
意味不明訳に何度引っかかった事か orz

789:デフォルトの名無しさん
08/02/10 20:09:56
てーかSICPのあの文章をひねりだす大学院生や助手って想像できねぇw

790:デフォルトの名無しさん
08/02/10 20:33:54
教授だからと言って、翻訳の能力が優れているわけではない。

791:デフォルトの名無しさん
08/02/10 21:07:38
またこの話題か
訳がひどいせいにして理解できない事を棚に上げる人も多々いるけどねぇ

792:デフォルトの名無しさん
08/02/10 21:10:13
そういう書込みはまだない。

793:デフォルトの名無しさん
08/02/10 21:53:30
>>792
> そういう書込みはまだない。

amazon のれびぅとかのこといってんぢゃね?

794:デフォルトの名無しさん
08/02/10 21:56:59
MITの若者でなければ、理解できないものではないとか書いてあったけど
マーチや日当込ませんで、可能なの?

795:デフォルトの名無しさん
08/02/10 22:03:29
学歴厨は去れ

796:デフォルトの名無しさん
08/02/10 22:25:28
>>786
悪い訳の本なんてありますか?

797:デフォルトの名無しさん
08/02/10 22:28:02
MITのundergraduateよか京大生の方がよっぽど賢いよ。一回目で完全に理解しているのなんてせいぜい1割程度。京大は3割程度
MITが凄いのはあくまでgraduateの方ね
訳が酷いとしても、訳に対してねちねち愚痴をつけたり、訳者を貶める暇があったら必死になって読んだ方がいいと思うけどね
理解したもん勝ちだよ

798:デフォルトの名無しさん
08/02/10 22:31:45
理解した後、その果実で年360万くらいの仕事に
ありつけるかどうかだが、やってみるしかないか。

799:デフォルトの名無しさん
08/02/10 22:32:26
全ての文章がおかしいわけじゃないんだから、
わからないところはWebで公開されてるのと突き合わせばいいんだよね。

800:デフォルトの名無しさん
08/02/10 22:40:41
また京大生が来てるのかw

801:デフォルトの名無しさん
08/02/10 22:40:58
MITに連絡取ったら翻訳をWeb上で公開する許可もらえるかな?

802:デフォルトの名無しさん
08/02/10 22:41:51
翻訳の方は訳者に連絡とらないとダメなんじゃないかな

803:デフォルトの名無しさん
08/02/10 22:48:14
普通は翻訳本を出した出版社が日本における翻訳本の独占的な権利を持っている。
だから独自の翻訳をした場合でも原則としてそちら方面の許可は必要になる。
ただし、前のマグロウヒルの翻訳のように絶版にした場合は権利を放棄したと解釈される。

804:デフォルトの名無しさん
08/02/10 22:48:22
今はMITの院生だけどね
TeachingAssistant(いわゆるTA)してると、結構違いが分かる。別に母校原理主義じゃないけど

>>801
mail送ったら?許してくれるんじゃないかなぁ・・ただ全部訳して書き下すのは一線を退いた割と暇な教授くらいじゃないときつい気がする。時間的にも労力的にも。
ご自分の勉強をなさった方がいいと思いますけどねぇ

805:デフォルトの名無しさん
08/02/10 23:26:44
訳が酷いと文句付けてるのは「名文調だから読みにくい」と誰かが言ったら
「これが名文か?」と反応する日本語のわからない奴だからなあ。
確かに誤訳と思われる箇所は見られるが。

806:デフォルトの名無しさん
08/02/10 23:34:39
訳すなら、落語調でお願いしたい

807:デフォルトの名無しさん
08/02/10 23:53:10
日本語なら七五調だろ

808:デフォルトの名無しさん
08/02/11 00:09:43

SICPの日本語版の訳が悪いと言ってる香具師はこの様な茶々を入れるのが特徴です。
ちゃんと理解した人は次のステップに進んでいってしまい、書き込みを残さないので批判者による書き込みの割合が高くなります。

809:デフォルトの名無しさん
08/02/11 00:11:43
つーか、英語の原文が悪い(分かりにくい)とか言う人はなぜか居ないのね。

810:デフォルトの名無しさん
08/02/11 00:13:41
君の読解能力が劣っているだけと馬鹿にされるのが怖いからだろ
2chなんだからそれは仕方ない
そしてSICPを理解できていない人間が大多数であるというのもまた仕方がない

811:デフォルトの名無しさん
08/02/11 00:19:40
自分が読んで理解すりゃ良いんで、2ch関係ないじゃんw

812:デフォルトの名無しさん
08/02/11 00:29:00
>811
「それを言っちゃあ、お終めーよ!」だな。
ここを読む理由も書き込みする理由も無くなるw。

813:デフォルトの名無しさん
08/02/11 00:30:59
「2ch」という枠で一括りにするのが滑稽だということでは?

814:デフォルトの名無しさん
08/02/11 00:37:02
一部か大多数かは知らないが、それを除けばSICPについてまともに語り合える人もいるからね、2chには
もし2chに書き込んでいる人が小学生だけだったらこないだろ?

815:デフォルトの名無しさん
08/02/11 01:28:51
理解出来ないもどかしさはわかるんだけど(自分がそうだから)
それを他人のせいにしたら負けだと思うんだな。

816:デフォルトの名無しさん
08/02/11 01:43:51
この本を山形浩生が訳してたらどうなったか。

817:デフォルトの名無しさん
08/02/11 03:26:03
>>808
俺も時々茶々入れる。うざかったら謝るが、違うよ。
訳の日本語悪いなんて書いたこと無い。

818:デフォルトの名無しさん
08/02/11 04:05:50
>>791
同意。俺も最初訳が悪いのかと思ってたけど、
ただたんに自分に数学と情報の知識がなさすぎるだけだった。

819:デフォルトの名無しさん
08/02/11 04:17:09
後学の為にどんな知識が足りなかったのか教えてくれませんか?

820:デフォルトの名無しさん
08/02/11 05:02:35
やさしいコンピュータ科学読んで和田英一慣れしろ。
話はそこからだ。

821:デフォルトの名無しさん
08/02/11 06:25:40
和田英一慣れwww

822:デフォルトの名無しさん
08/02/11 07:03:46
>>816
> この本を山形浩生が訳してたらどうなったか。

訳せないというオチかも

823:デフォルトの名無しさん
08/02/11 12:47:11
>>819
オレの場合、Little Schemer読んでから目から鱗が落ちたみたいで、SICPを読めるようになった。
自分でもよくわからないけど、たぶん再帰の考え方に慣れたことや、Schemeの括弧に慣れたことが大きい。
慣れてくると考えの流れを停める要素が少ないから、問題を考えることに集中できるようになってくる。
こうなると文意を読み取りやすくなってくる感じがする。

それと、日本語版P.231のYコンビネータの話も出てくるので、SICPの虎の巻的に使えたのも良かった。
その後、コンビネータについては "To Mock a Mockingbird" を読んで勉強した。そのお陰でH. P. Barendregt "Lambda Calculus" も少し読めるようになった。
Lambda Calculusが少し理解できてから、Schemeにlambdaがある便利さを実感した。今は、Reasoned Schemerで論理型プログラミングを勉強中。

824:デフォルトの名無しさん
08/02/11 13:14:28
情報系にとってのSICPのポジションは、
物理⇒ファインマン物理学
化学⇒モリソンボイド有機化学
生物⇒ストライヤー生化学
みたいなもの。全体を俯瞰できるようになるための重要な学習段階。別に他の本でもかまわない。
MITの1回生だって全員が4ヶ月で完全に理解してる訳じゃない。
でも、1年以内には理解しようと努力する。そこ、重要。
全体を俯瞰できれば、将来の研究分野を選択するときや自分の抱える問題を解決するときに体系的に考えられる。

825:デフォルトの名無しさん
08/02/11 13:17:45
数学なら高木貞治の解析概論ってところだな。

826:デフォルトの名無しさん
08/02/11 13:35:19
>>823
サンクスです。今、The Littje Schemer読んでます。
SICP1章例題で書けるものもあるのだけど筆者の求める理解度に達してないのを激しく感じるからです。

>>824
なるほど。Schemerシリーズ込みで努力目標1年で!

827:デフォルトの名無しさん
08/02/11 15:46:20
この一冊に書いてあることを理解して他のメジャー言語が使えたら
そこら辺の情報学部生より優秀なのは保証出来る。

828:デフォルトの名無しさん
08/02/11 15:53:39
まじで?頑張るよ

829:デフォルトの名無しさん
08/02/11 16:14:03
まあ, 最近は情報学部出てんのにアルゴリズム何もわからんという奴多いしな.
卒研でなんか言語使いました, くらいの奴が平気で出てくる.
これ読みきるだけで普通の国立大の情報学部生よりも何か深いものを得ているんじゃないかな.
またアルゴリズムイントロダクションなんかも消化すればへたな旧帝卒よりも
よほど出来るようになってるよ.

830:デフォルトの名無しさん
08/02/11 16:16:39
○○○より優秀とかちっちゃいなw 受験生乙。
良い仕事が出来るように勉強することのほうが豊かな人生を送ることにつながる。
全体を俯瞰したライフハックができてるかな?

831:デフォルトの名無しさん
08/02/11 16:18:54
ライフハック(笑)

832:デフォルトの名無しさん
08/02/11 16:20:17
そうだね、SICPもアルゴリズムイントロダクションも
ライフハックにはかなわないね\(^O^)/

833:デフォルトの名無しさん
08/02/11 16:20:18
見当違いの批判して的外れなアドバイスして自分の優位を保とうとし始めたら、もはや老害だな

834:デフォルトの名無しさん
08/02/11 16:20:46
Lisperしかいないソフトハウスが当たり前の世の中になると良いよね!

835:デフォルトの名無しさん
08/02/11 16:21:05
私の知るSchemeとHaskellとCのポインタが使える人はみな、
Javaを使い始めて2日で経験5年のJavaプログラマよりいいコードを書くようになる。
しかしそのことが平均的な頭の鈍い人事部の連中には理解できないのだ。

たとえそうなのだとしても、コンピュータサイエンスというのは証明(再帰)、
アルゴリズム(再帰)、言語(λ計算)、オペレーティングシステム(ポインタ)、
コンパイラ(λ計算)の話なのであり、結論を言うなら、CもSchemeも教えない
Javaスクールというのは、本当のコンピュータサイエンスを教えているとは言えないのだ。
URLリンク(local.joelonsoftware.com)


836:デフォルトの名無しさん
08/02/11 16:25:41
>こんなのフェアじゃないと、長い泣き言のメールを私は教授に書き送った。
>ペンシルベニア大学の誰かが私の言ったこと(あるいは他の誰かの不平)を
>聞き入れてくれたようだ。あの授業が今ではJavaで教えられているからだ。

>彼らが聞いてくれなければ良かったのにと思う。


笑ってしまったじゃねえかww

837:デフォルトの名無しさん
08/02/11 16:26:15
女ならスイーツ(笑)、オトコならライフハック(笑)。

この場合は、ライフハックというより人生設計とか人生観という感じに近いな。
プログラムそのものの人生というものもあるし。

838:デフォルトの名無しさん
08/02/11 16:28:07
ライフハック好きな人って、茂木健一郎とか好きそう

839:デフォルトの名無しさん
08/02/11 16:30:12
>>833
じぶんの事かい?

840:デフォルトの名無しさん
08/02/11 16:32:05
>830 涙目だな。

841:デフォルトの名無しさん
08/02/11 16:32:57
ものごとを限定的な意味でしか捉えることが出来ない近視眼的なプログラマより、SICPとか読んだことがある人の方が柔軟なコードを書けそうだ。

842:デフォルトの名無しさん
08/02/11 16:35:30
『旧帝大卒より』とか言ってる時点で負け犬確定だなw

843:デフォルトの名無しさん
08/02/11 16:37:52
あなたはどんな勝ち犬なんだい?

844:デフォルトの名無しさん
08/02/11 16:45:53
 とにかく、プログラミングってね。こういうハードウェアの命令レベルに近
いところと、LispやProlog、最近の流行りでいえば、HaskellやCleanなどの関
数型言語のように抽象度の高いところを学べば、あとはなんとでもなるのよ。
 ほかの、CやC++やJavaやJavaScriptやPerlやRubyやPythonなんて、全部、そ
の中間だからね。
 慶応大学教授かつLispハッカーの故中西正和先生の持論は、「プログラミン
グの最初にアセンブラとLispを教えるべし」でした。BASICとかそんなのでプ
ログラミング入門をして、変な癖がつく前に、アセンブラとLispだけやれば、
あとはなんとでもなるということ。
 抽象度の高いプログラミングマジック、たとえば、高階関数とか無限リスト
とかユニフィケーションとか各種の効率的なソートや探索アルゴリズムやAI的
アルゴリズムがホワイトマジックだとすれば、「ハッカーのたのしみ」にある
バイナリ・ハックは、ブラックマジック。
 ホワイトマジックとブラックマジック、双方に精通してこそ、真のマジシャ
ンですからね。
URLリンク(iiyu.asablo.jp)

\(^O^)/

845:デフォルトの名無しさん
08/02/11 16:47:39
人生を切り刻め!!

846:デフォルトの名無しさん
08/02/11 16:48:58
私の言語遅延学習法 dankogai
必要を感じるまで学ばない(略
本当の問題に出会った時に、それを全力で解く(略
学ぶ時には「原典」に当たる(略

ただし、以上がきちんと機能するためには、一つ重要な前提条件があります。
基礎をしっかり抑えておく
あるコンピューター言語を学ぶ、というのは、ある意味この応用編に過ぎない
という見方も出来ます。
私が scheme → C/Assembly Language という、Computer Science の
古典的カリキュラムを支持する理由がそれなのです。
世界は Church と Turing の間にある。この両極端を最初にしっかり学んでおけば、
たいていのコンピューター言語はこの間のどこかに収まっているのですから怖くないのです。
URLリンク(blog.livedoor.jp)

847:デフォルトの名無しさん
08/02/11 16:50:16
>>844
両端だけ教えとけって感じか。

848:デフォルトの名無しさん
08/02/11 16:50:28
danさんは、Lisperだったのか・・

849:デフォルトの名無しさん
08/02/11 16:51:02
>>844
マジシャンズレッドですが何か?
白黒以外の魔術もあります。

850:デフォルトの名無しさん
08/02/11 16:51:46
ブロガーどもはarcスレに隔離してあるはずだがな

851:デフォルトの名無しさん
08/02/11 16:55:14
>>850
おまえの「はず」で世界は動いていないってことさ。


852:デフォルトの名無しさん
08/02/11 16:57:41
貼ったの俺(ブロガーではない人)で〜す。
モチベーション上げるのにいいかな、と思いました。
貼っても勉強進んでねーじゃん\(^O^)/
さあ、お勉強お勉強(^O^)/~

853:デフォルトの名無しさん
08/02/11 16:58:59
(define Y
(lambda (le)
((lambda (f) (f f))
(lambda (f)
(le (lambda (x) ((f f) x)))))))

854:デフォルトの名無しさん
08/02/11 17:03:03
(define Y
(lambda (F)
((lambda (my-make-f)
(F (lambda (x) ((my-make-f my-make-f) x))))
(lambda (my-make-f)
(F (lambda (x) ((my-make-f my-make-f) x)))))))

855:デフォルトの名無しさん
08/02/11 17:08:15
(define (Fact my-fact)
(lambda (n)
(if (= n 0)
1
(* n (my-fact (- n 1))))))

(define fact (Y Fact))

(fact 10)
3628800

856:デフォルトの名無しさん
08/02/11 17:08:53
(define (Fib my-fib)
(lambda (n)
(if (<= n 1)
1
(+ (my-fib (- n 1))
(my-fib (- n 2))))))

(define fib (Y Fib))

(fib 10)
89

857:デフォルトの名無しさん
08/02/11 17:23:05
自分のブログかチラシの裏でやれ

858:デフォルトの名無しさん
08/02/11 18:02:47



859:デフォルトの名無しさん
08/02/11 18:34:57
チラシの裏に書けには同意だけど、
再帰的に定義される関数の意味(自己適用、極限、不動点)を理解したばかりで
感動してるんだとしたら、それにはかなり共感できる。
>>750の言葉を借りるなら、
これこそが Y Combinator。
我らの誇り、我らの希望、常に我らを導き、我らの上に燦然と輝く光!

860:デフォルトの名無しさん
08/02/11 19:13:41
URLリンク(mitpress.mit.edu)
が見れないんですが、自分だけですか?
せっかく勉強はじめようと思ったのに…


861:デフォルトの名無しさん
08/02/11 19:42:53
わたしはみれます

862:デフォルトの名無しさん
08/02/11 19:43:30
>>855
URLリンク(mitpress.mit.edu)
Exercise 4.21.にSICPでのYコンビネータの考え方が出ている。日本語版のp.233と同じ問題。

((lambda (n)
((lambda (fact)
(fact fact n))
(lambda (ft k)
(if (= k 1)
1
(* k (ft ft (- k 1)))))))
10)

863:デフォルトの名無しさん
08/02/11 19:45:08
>>859
さすがの俺もこれは引くわ
どうせ>>750=>853->856=>>859だろ

864:デフォルトの名無しさん
08/02/11 20:28:47

病気?

865:860
08/02/11 20:36:12
>861
レスどうも。うちからだとURLリンク(mitpress.mit.edu)自体に
つながらないです(なぜかfaviconのみ表示)。
こちらの環境の問題みたいですね(nifty, Bフレッツ)。
WebArchiveで見られたので、ひとまずそれで読んでみます。


866:デフォルトの名無しさん
08/02/11 22:57:21
次繋がったら一括ダウンロードしちゃうといいかもね。(できるんだっけ?)

867:デフォルトの名無しさん
08/02/11 23:12:16
>>825
古!

868:デフォルトの名無しさん
08/02/11 23:24:07
ここにダウンロードスクリプトありますね。

URLリンク(www.geocities.co.jp)


869:デフォルトの名無しさん
08/02/12 06:57:31
>>835
Ocamlも仲間に入れてください><

870:デフォルトの名無しさん
08/02/12 18:17:21
>>867
SICPも古いわけだけどw
古典と言われるものはすべからく。

871:デフォルトの名無しさん
08/02/12 18:19:49
解析概論はそういうレベルじゃなくて、
ああいうスタイルで教えている数学科はいまやないだろ。

872:デフォルトの名無しさん
08/02/12 18:47:12
俺は解析概論で勉強したなー
情報系なら読んでもいい気がする
あの一冊で大学1・2回レベルが網羅できるからお買い得だし

873:デフォルトの名無しさん
08/02/12 21:00:36
>>871
解析概論が書かれた後で解析学に革命的な発見でもあったの?

874:デフォルトの名無しさん
08/02/12 21:11:55
構造主義的なテキストが増えたんじゃない?

875:デフォルトの名無しさん
08/02/12 21:15:37
「解析概論なんて古い」とか「SICPなんて古い」と言うと尊敬されると妄想する厨w

876:デフォルトの名無しさん
08/02/12 21:30:36
SICPは古くないんじゃないの。教科書で使ってもおかしくない。
解析概論は古典で名著だけど、現代的ではない。

877:デフォルトの名無しさん
08/02/12 21:53:38
使ってもおかしくないと言うか、有名校のほとんどのCSはSICPを使う講義があるでしょ
解析概論はそれにくらべると少ないかも知れないけど、選択肢自体が多いしね


最新レス表示
スレッドの検索
類似スレ一覧
話題のニュース
おまかせリスト
▼オプションを表示
暇つぶし2ch

5057日前に更新/185 KB
担当:undef