1 名前:デフォルトの名無しさん mailto:sage [2009/07/27(月) 10:15:31 ] ※ ここはCommon Lisp、SchemeをはじめとするLisp族全般のスレです ※ ■過去スレ Part26: ttp://pc12.2ch.net/test/read.cgi/tech/1240567959/ Part25: ttp://pc12.2ch.net/test/read.cgi/tech/1231856193/ Part24: ttp://pc11.2ch.net/test/read.cgi/tech/1224939205/ Part23: ttp://pc11.2ch.net/test/read.cgi/tech/1215875388/ Part22: ttp://pc11.2ch.net/test/read.cgi/tech/1211381920/ Part21: ttp://pc11.2ch.net/test/read.cgi/tech/1207300697/ Part20: ttp://pc11.2ch.net/test/read.cgi/tech/1205021786/ Part19: ttp://pc11.2ch.net/test/read.cgi/tech/1200237296/ Part18: ttp://pc11.2ch.net/test/read.cgi/tech/1186922295/ Part17: ttp://pc11.2ch.net/test/read.cgi/tech/1177065699/ Part16: ttp://pc11.2ch.net/test/read.cgi/tech/1172404795/ Part15: ttp://pc11.2ch.net/test/read.cgi/tech/1151025773/ Part14: ttp://pc11.2ch.net/test/read.cgi/tech/1132275726/ Part13: ttp://pc11.2ch.net/test/read.cgi/tech/1115901841/ Part12: ttp://pc11.2ch.net/test/read.cgi/tech/1100229366/ Part11: ttp://pc11.2ch.net/test/read.cgi/tech/1091456033/ Part10: ttp://pc11.2ch.net/test/read.cgi/tech/1075630259/ Part09: ttp://pc11.2ch.net/test/read.cgi/tech/1069594582/ Part08: ttp://pc5.2ch.net/tech/kako/1058/10582/1058263391.html Part07: ttp://pc5.2ch.net/tech/kako/1042/10421/1042167213.html Part06: ttp://pc3.2ch.net/tech/kako/1031/10315/1031560687.html Part05: ttp://pc3.2ch.net/tech/kako/1023/10230/1023091882.html Part04: ttp://pc.2ch.net/tech/kako/1016/10162/1016211619.html Part03: ttp://pc.2ch.net/tech/kako/1008/10082/1008220265.html Part02: ttp://pc.2ch.net/tech/kako/1002/10025/1002584344.html Part01: ttp://piza2.2ch.net/tech/kako/987/987169286.html ■テンプレート置き場 ttp://wiki.fdiary.net/lisp/ (id:guest pass:cl)
513 名前:デフォルトの名無しさん mailto:sage [2009/08/23(日) 13:33:09 ] >>510 とりあえず設計や分析の腕は上がる。 それで評価が上がるともかぎらないけど。
514 名前:デフォルトの名無しさん mailto:sage [2009/08/23(日) 13:37:57 ] >>513 > とりあえず設計や分析の腕は上がる。 設計というか「コーディングの」だろ? 設計はピュアなOO言語に成れてないといかん。
515 名前:デフォルトの名無しさん mailto:sage [2009/08/23(日) 13:38:02 ] 誰かから給料もらいたいんなら素直にJava勉強しろ
516 名前:デフォルトの名無しさん mailto:sage [2009/08/23(日) 13:39:04 ] またここに馬鹿がいた @ >>515 。俺の中で JAVA厨 = 馬鹿 という方程式が成り立っているが、それは未だに健在だ。
517 名前:デフォルトの名無しさん mailto:sage [2009/08/23(日) 13:41:12 ] >>510 >>516 がいる言語です
518 名前:デフォルトの名無しさん mailto:sage [2009/08/23(日) 13:42:02 ] Lispの仕事よりもJavaの仕事の方が圧倒的に多いんだから >>515 はJava厨でもなんでもなく正論だよ。
519 名前:デフォルトの名無しさん mailto:sage [2009/08/23(日) 13:42:35 ] マジレスするとLispとC言語が完璧に理解できていればどの言語も大丈夫 のはず。。
520 名前:デフォルトの名無しさん mailto:sage [2009/08/23(日) 13:44:19 ] >>518 PHPやC++の方が仕事が多いわけだが。 Javaなんて死にかけ言語引き合いに出すなよ。
521 名前:デフォルトの名無しさん mailto:sage [2009/08/23(日) 13:46:20 ] またPHPとかw
522 名前:デフォルトの名無しさん mailto:sage [2009/08/23(日) 13:49:21 ] >>521 Web寄りの話な。 ハードに近ければ近いほどCやC++の仕事が多くなる。 Javaなんて糞は居場所がないんだよね。
523 名前:デフォルトの名無しさん mailto:sage [2009/08/23(日) 13:52:50 ] その居場所の無いクソ言語よりもLispの仕事は少ないだろ。
524 名前:デフォルトの名無しさん mailto:sage [2009/08/23(日) 13:53:37 ] >>514 オブジェクト指向的なアプローチの設計もあれば、 関数プログラミング的なアプローチの設計もある。 どちらがよりフィットするかは、問題領域に依る。 この辺は先人が色々言ってるから詳しくは言及しないけど。
525 名前:デフォルトの名無しさん mailto:sage [2009/08/23(日) 13:54:09 ] アンチJava厨の自演だろこれw 鬱陶しいから去れよw 515 名前:デフォルトの名無しさん[sage] 投稿日:2009/08/23(日) 13:38:02 516 名前:デフォルトの名無しさん[sage] 投稿日:2009/08/23(日) 13:39:04 517 名前:デフォルトの名無しさん[sage] 投稿日:2009/08/23(日) 13:41:12
526 名前:デフォルトの名無しさん mailto:sage [2009/08/23(日) 13:57:31 ] >>514 関数型は設計などほとんどいらない 小規模なプロジェクト向きだし、そもそも 関数型言語でそれ以上の規模のプロジェクトの コーディングをすることが少ないと思うんだけど。 中規模-大規模なプロジェクトならOO言語使うでしょ、普通。
527 名前:デフォルトの名無しさん mailto:sage [2009/08/23(日) 13:58:08 ] デジタル大手ゼネコンの下請けの下請けデジドカにはJavaは向いていますな。 中小デジタル土建屋にはJavaはコストがかかり過ぎてむりですわ。
528 名前:デフォルトの名無しさん mailto:sage [2009/08/23(日) 15:48:45 ] さすがlispスレ。lispのプログラミングと関係ない話題になると異様に盛り上がるぜ。
529 名前:デフォルトの名無しさん mailto:sage [2009/08/23(日) 16:16:36 ] Scheme でデバッグするときってどうするのが簡単だろう? Gauche だと #?= で debug-print を埋め込むのが簡単だけど、 他の処理系で #?= 相当のを埋め込んだり外したりするのは結構面倒臭い。 何か別の方法を考えた方がいいのかなあ。
530 名前:デフォルトの名無しさん mailto:sage [2009/08/23(日) 16:26:14 ] すいません、ちょっと流れに遅れてしまったんですが、>>480 の本って 翻訳的にはどうでしょうか?
531 名前:デフォルトの名無しさん mailto:sage [2009/08/23(日) 16:44:21 ] >>530 日本語として意味がわからないような訳文はほぼないと思う (ちょっと係り受けが曖昧なところはちらほらあった) hop.timedia.co.jp/show/book/Let%20Over%20Lambda の正誤表を見ると、 typo の指摘くらいしかないからいい方じゃないかなあ
532 名前:デフォルトの名無しさん mailto:sage [2009/08/23(日) 17:59:33 ] >>531 ありがとうございます。
533 名前:デフォルトの名無しさん mailto:sage [2009/08/23(日) 18:07:34 ] >>529 #?=は確かに便利だけど、gauche のエラーメッセージはもうちょっと 情報が欲しい。正直今のままだと辛いよ。
534 名前:デフォルトの名無しさん mailto:sage [2009/08/23(日) 18:22:46 ] MIT Schemeでいいじゃない。
535 名前:デフォルトの名無しさん mailto:sage [2009/08/23(日) 20:46:57 ] >>526 それも一概に言えないんじゃないかなぁ。 Lisp が使われた有名な案件っていうとむしろ大規模だし。 ただ、少数精鋭でやることを前提としないと Lisp は向かない。 人海戦術でやるようなプロジェクトだとやっぱ Java だろうな。
536 名前:デフォルトの名無しさん mailto:sage [2009/08/23(日) 20:51:30 ] CommonLisp には CLOS があってかなり活用されてるってことも考慮しなきゃな。 だいたい CommonLisp は関数型言語と呼ぶにはあんまり関数型って感じでもないし。 Scheme を先にやっちゃうと CommonLisp って滅茶苦茶フリーダムだと思う。 大人数が強調するには制約があって統制がとれる言語じゃないとね。
537 名前:デフォルトの名無しさん mailto:sage [2009/08/23(日) 21:08:11 ] >>536 > CommonLisp は関数型言語と呼ぶにはあんまり関数型って感じでもないし。 CLのどの辺が「関数型」じゃないかを言ってみな。 お前の「関数型」の認識が外れていることを証明してやるから。
538 名前:デフォルトの名無しさん mailto:sage [2009/08/23(日) 21:17:17 ] >>537 一々頭に血を昇らせるなよ。 >>536 はCLがマルチパラダイム言語であると言いたかっただけだろ。
539 名前:デフォルトの名無しさん mailto:sage [2009/08/23(日) 21:18:24 ] >>537 Java
540 名前:536 mailto:sage [2009/08/23(日) 21:39:56 ] ある程度は関数型的なスタイルが推奨されてもいるみたいだけど、 一般に関数型言語と呼ばれる言語のスタイルと比較すると 破壊的更新を選択肢に含める度合は高い。 CommonLisp の持ち味は関数型ってことよりもマクロだと思うんだよね。 マクロが有用なのは DSL というか勝手なパラダイムを表現できることにあるのは同意してもらえると思う。 つまりマクロは「関数型」というパラダイムを積極的に破る機能とも言える。 言うなれば CommonLisp では関数型的スタイルがデフォルトではあっても、 いくらでも自由な表現が許されていて、しかも機能として一応可能であるというだけでなく 様々なパラダイムを許容する文化的土壌もある。 「思う」ばっかりなので実際にはそうでないところもあるかもしれないけどさ。 CL は非常にフリーダムなのに「関数型」という縛りにこだわってるのはナンセンスじゃないかな。
541 名前:デフォルトの名無しさん mailto:sage [2009/08/23(日) 22:05:33 ] 単なる道具だろ、言語なんて。 コンピュータなんて単なる箱だろ、どんなに突き詰めても有限な電気信号でしかないよ。 完璧な観念求めるなら数学やろうよ。
542 名前:デフォルトの名無しさん mailto:sage [2009/08/23(日) 22:05:46 ] >>540 第一段落はSchemeにも当てはまっちゃうからその意見はどうなんだろうと思わざるを得ない。 学術にこだわったのがScheme,実学が良いのだと言うのがCLだって言う言い方の方がまだ納得できる様な気がする。 俺としちゃなんでどっちもいがみ合うんだろうと不思議でしょうがないんだけどね (emacs vs viみたいであほらしい)
543 名前:デフォルトの名無しさん mailto:sage [2009/08/23(日) 22:10:04 ] 例えるならキリスト教とイスラム教でしょう。 どちらも元は同じ。
544 名前:デフォルトの名無しさん mailto:sage [2009/08/23(日) 22:14:50 ] なんだかなー。 >>540 を読んで、「本当にこの人マクロを理解できてるのかな?」と疑問に思った。 マクロは実行前にエクスパンドされるコードのエイリアス的な存在。 事実、clコードのコンパイル後にはマクロなどすっかり消えて無くなっている。 関数型のスタイルも破られない。
545 名前:デフォルトの名無しさん mailto:sage [2009/08/23(日) 22:17:24 ] LOLにも書いてあったよな確か。CLは関数型言語ではない。って。
546 名前:デフォルトの名無しさん mailto:sage [2009/08/23(日) 22:19:32 ] >>544 何か誤読してない? >>540 が言ってるのは、一番上のレイヤーの話だと思うんだけど。 副作用のある処理を関数的にラップしたりするのと同じで、あくまでも表現の話。
547 名前:デフォルトの名無しさん mailto:sage [2009/08/23(日) 22:20:47 ] 実際のところ、Lisp/Schemeプログラマはどの程度副作用の無いプログラミングを 心がけているの?
548 名前:デフォルトの名無しさん mailto:sage [2009/08/23(日) 22:22:26 ] >>547 可能な限り避けて、使うところはできるだけまとめる。 変なバグに悩まされるの嫌だし。
549 名前:デフォルトの名無しさん mailto:sage [2009/08/23(日) 22:22:41 ] >>547 永続化以外はほとんど使わないな。
550 名前:デフォルトの名無しさん mailto:sage [2009/08/23(日) 22:24:39 ] そもそも、ある言語が「関数型」であるかどうかの判定は、 その言葉の定義によって変わるものなんだから、あまり議論する意味がないんだよね。 例えば、グローバル変数がある言語は関数型ではない、と言ってしまえば、ほとんど どの言語も関数型ではなくなってしまう。 言語の基本的なプログラミングスタイルで 考慮するならば、cl も scheme も関数型と言えるだろうし。
551 名前:547 mailto:sage [2009/08/23(日) 22:27:05 ] >>548 >>549 まあそれが非純粋関数型言語における普通のプログラミングだよな。
552 名前:デフォルトの名無しさん mailto:sage [2009/08/23(日) 22:33:24 ] >>537 血の巡りは悪いのに、血がたぎるのだけは早いんだねw
553 名前:デフォルトの名無しさん mailto:sage [2009/08/23(日) 22:35:49 ] >>552 ad hominem で行くことしかできないのかもしれないけど、駄レスは付けないでね
554 名前:デフォルトの名無しさん mailto:sage [2009/08/23(日) 22:36:18 ] >>552 血の巡りが悪いから一箇所に滞るわけで。それが頭だけどね。
555 名前:デフォルトの名無しさん mailto:sage [2009/08/23(日) 22:39:14 ] 人身攻撃(ラテン語: ad hominem)とは
556 名前:デフォルトの名無しさん mailto:sage [2009/08/23(日) 22:41:43 ] 俺はad hominem より ad aerarium の方が好きだなぁ
557 名前:デフォルトの名無しさん mailto:sage [2009/08/23(日) 22:43:43 ] >>555 もう、子供なんだから。一人じゃ何もできないのね。 ttp://en.wikipedia.org/wiki/Ad_hominem An ad hominem argument, also known as argumentum ad hominem (Latin: "argument to the man" or "argument against the man") consists of replying to an argument or factual claim by attacking or appealing to a characteristic or belief of the person making the argument or claim, rather than by addressing the substance of the argument or producing evidence against the claim.
558 名前:デフォルトの名無しさん mailto:sage [2009/08/23(日) 22:51:52 ] >>557 ミイラ取りがミイラになってるぞ 本当にこのスレの住人は罵り合いが好きだな
559 名前:デフォルトの名無しさん mailto:sage [2009/08/23(日) 22:53:58 ] 言葉遊びを言葉遊びと認知できない人は (ry
560 名前:デフォルトの名無しさん mailto:sage [2009/08/23(日) 22:54:57 ] set!/setf < 私たちのための争うのはやめて!
561 名前:デフォルトの名無しさん mailto:sage [2009/08/23(日) 22:56:07 ] 言葉遊びしたいならVIP行けや
562 名前:デフォルトの名無しさん mailto:sage [2009/08/23(日) 22:57:31 ] >>560 いやお前たちがいないと銀行すら作れないしさ
563 名前:デフォルトの名無しさん [2009/08/23(日) 23:10:36 ] でマクロと関数型の相性はどうなのよ?
564 名前:デフォルトの名無しさん mailto:sage [2009/08/23(日) 23:15:25 ] 俺もそこに興味がある。誰か教えて
565 名前:536 mailto:sage [2009/08/23(日) 23:28:12 ] >>542 一応ことわっておくけど、>>535 も俺で、>>536 はその続きのつもり。 Scheme と CommonLisp の対比をしたいわけじゃなくて、 >>526 に対する反論。 OO ってことを言うのなら CLOS があるし、 Lisp を使わない理由にはならないという主張。 Scheme と CommonLisp で比較すれば関数型的スタイルは程度問題だとは思うよ。 ただその「程度」の差が 一般的な案件に使えるかどうかは影響する。
566 名前:デフォルトの名無しさん mailto:sage [2009/08/23(日) 23:38:27 ] >>563 悪くないというか、むしろ良いと思う どちらも原則として副作用を嫌うし、結果として単純な合成が効く ってか小難しいこと考えなくても、 Lispの、おそらく成功と言っていい歴史が 相性の良さを保証していると思う
567 名前:デフォルトの名無しさん [2009/08/23(日) 23:40:03 ] 「practical common lisp」 のほうが「on lisp」より難しくない?
568 名前:デフォルトの名無しさん mailto:sage [2009/08/23(日) 23:43:21 ] マクロと関数型の相性って言われても。直交する概念だと思うけど。 S式とマクロの相性とか、Lisp-1とマクロの相性とかならまだしも。
569 名前:デフォルトの名無しさん mailto:sage [2009/08/24(月) 00:03:05 ] >>568 完全に直交する概念なら相性は良いと言えるんじゃないか?
570 名前:デフォルトの名無しさん mailto:sage [2009/08/24(月) 00:23:52 ] >>567 OnLispは読み物としても良くできてるからじゃないの? 全然関係無いけど久しぶりに「対話によるCommonlisp」を読んだらギャグの寒さに泣いた(内容じゃなくてだじゃれ成分に)
571 名前:デフォルトの名無しさん mailto:sage [2009/08/24(月) 00:36:27 ] >>567 お前、どっちも読んだことないだろ? practical common lisp は初心者向けの本だぞ。
572 名前:デフォルトの名無しさん mailto:sage [2009/08/24(月) 00:43:59 ] 最近Lispに興味を持ち勉強中を始めました。 古本屋で「これがLispだ」という本を見つけ、通読したのですが、この先読むとしたら 何が良いでしょうか?今の所はOn Lispを読もうと考えています。 関数型プログラミングはMLで慣れているので、Lisp特有のテクニック等を学びたいと 思っています。良い本があれば教えてください。
573 名前:デフォルトの名無しさん mailto:sage [2009/08/24(月) 00:46:06 ] >>572 > 関数型プログラミングはMLで慣れているので、Lisp特有のテクニック等を学びたいと じゃマクロだわ。 On Lisp にしとけ。
574 名前:デフォルトの名無しさん mailto:sage [2009/08/24(月) 00:47:15 ] >>572 今手に入る物ならどれ読んでも大丈夫だから全部読んじゃえばいいと思う(もちろん予算が厳しいならしょうがない) でもLispの本ってあんまり数無いのよ 個人的に実践とOnLispは読むこと自体に喜びがあるよ あとANSI CommonLispも良いと思う
575 名前:デフォルトの名無しさん mailto:sage [2009/08/24(月) 00:57:41 ] >>573 >>574 ありがとうございます。まずOn Lispを読んでマクロの使い方を学びたいと思います。 今まで括弧の多さから敬遠していましたが、かなり面白い言語ですね。
576 名前:デフォルトの名無しさん mailto:sage [2009/08/24(月) 01:01:35 ] >>570 ギャグの寒さは初めての人のためのLISPのが上だろう。
577 名前:デフォルトの名無しさん mailto:sage [2009/08/24(月) 01:07:28 ] >>575 マクロを使い熟せるようになると面白みが倍以上になる。 俺みたいに子供の頃積み木遊びやLEGOにはまったような人ならなおさらね。
578 名前:デフォルトの名無しさん mailto:sage [2009/08/24(月) 01:52:03 ] 金ないなら図書館で読めよ
579 名前:デフォルトの名無しさん mailto:sage [2009/08/24(月) 02:24:27 ] こんな場末のスレでシャドーボクシングするなよw
580 名前:デフォルトの名無しさん mailto:sage [2009/08/24(月) 02:48:06 ] ∧_∧ ((.;.;)ω・)=つ≡つ ぼこぼこにしてやんよ (っ ≡つ=つ / #) ババババ ( / ̄∪