1 名前:デフォルトの名無しさん mailto:sage [2009/06/01(月) 12:30:25 ] 前スレ pc12.2ch.net/test/read.cgi/tech/1237672679
641 名前:デフォルトの名無しさん [2009/06/18(木) 18:00:29 ] 全文リンクレスは著作権的にNGだろ 自分の言葉で語れよ
642 名前:デフォルトの名無しさん mailto:sage [2009/06/18(木) 18:10:12 ] 直リン厳禁です><
643 名前:デフォルトの名無しさん [2009/06/18(木) 18:27:59 ] 少なくともリンクがレスのメインになったらアウトだろ
644 名前:デフォルトの名無しさん mailto:sage [2009/06/18(木) 18:31:21 ] 直リンて懐かしいなw またキチガイが無駄な屁理屈こねてんのか
645 名前:638 mailto:sage [2009/06/18(木) 18:34:24 ] >>640 やはりそれが定義だったのか。ググってすぐに出てきたのがそれだったから。 polymorphic variantsで継承&仮想関数オーバーライドとほぼ同様のことが 出来るのは分かった。ただ少し記述が面倒だな。あと拡張したモジュール名を 使う必要があるのも面倒というか。 どちらにもそれなりの良さがあるから一概にどちらが良いとは言えないが。
646 名前:デフォルトの名無しさん mailto:sage [2009/06/18(木) 19:00:48 ] リンクだけレスは著作権法の引用の範囲をぶっちぎりで破ってる >自分のオリジナルな文章が主(量的にも質的にも)であり、引用部分が従であること (ちなみにこの文は法律なのでおk) つまり、リンクだけレスは著作権法違反
647 名前:デフォルトの名無しさん mailto:sage [2009/06/18(木) 19:03:34 ] アホがいる
648 名前:デフォルトの名無しさん mailto:sage [2009/06/18(木) 19:06:40 ] OOやADTの形式論を議論している場で、 引用と参照の違いが理解できない人がいるのは、 とても滑稽だと思った。
649 名前:デフォルトの名無しさん mailto:sage [2009/06/18(木) 19:21:32 ] >>647 どうした? かかってこいよ
650 名前:デフォルトの名無しさん mailto:sage [2009/06/18(木) 19:25:37 ] グーグルみたいに巨大になれば法律を捻じ曲げる力が持てるぞ 人の作った法なんて巨大になって捻じ曲げようぜ
651 名前:デフォルトの名無しさん mailto:sage [2009/06/18(木) 20:51:30 ] >>645 >polymorphic variantsで継承&仮想関数オーバーライドとほぼ同様のことが出来るのは分かった。 気持ちは分かるけど、オブジェクト指向の枠組で捉え直そうという試みは 理解を助けるための最初の一歩だけにしておいた方がいいですね。 もっと素直に書くと、expression problemを解決する鍵は、 - polymorphic variantsは複数の型になり得る(多相)ので、 基の型と拡張後の型の両方に属すことができる - モジュールシステムは元々操作を拡張することができる という二点で成り立っている訳です。
652 名前:デフォルトの名無しさん mailto:sage [2009/06/18(木) 21:33:50 ] >>651 気持ちの問題は関係なくて、元々の話はStroustrapの6ページ目の例を polymorphic variantsでどう解決できるかを聞いていたのであって、 だからこそ継承&仮想関数による表現がどのように対応するのかを確認したわけ。 > - モジュールシステムは元々操作を拡張することができる これは具体的にどういう意味?当然の話だと思うけれど。
653 名前:デフォルトの名無しさん mailto:sage [2009/06/18(木) 21:45:41 ] >>641 単なるリンクは、引用じゃありません。 リンクは、文献参照と同じです。 著作権的にはまったく問題ありません。 問題あるというのなら、判例か何かを出してください。
654 名前:デフォルトの名無しさん mailto:sage [2009/06/18(木) 21:47:13 ] >>653 土方は放置すればいいだろ
655 名前:デフォルトの名無しさん mailto:sage [2009/06/18(木) 22:01:28 ] >>653 勝手な介錯だな
656 名前:デフォルトの名無しさん mailto:sage [2009/06/18(木) 22:03:57 ] 切腹ー
657 名前:デフォルトの名無しさん mailto:sage [2009/06/18(木) 22:15:32 ] >>652 あぁ、誤解していました。すみません。 OOでは継承と仮想関数によって「種類を増やす」事をしていた訳ですので、 polymorphic variantsが同様の役割を担っているのはおっしゃる通りです。 あと、 >モジュールシステムは元々操作を拡張することができる というのは、"新しい操作を加えることができる"の間違いでした。 OOではこれをやろうとすると、visitorパターンを使わなきゃいけなくなります。 で、visitorパターンを使うと今度は種類を増やせなくなる。 つまり、expression problemはC++やJavaでは解決できません。
658 名前:デフォルトの名無しさん mailto:sage [2009/06/18(木) 22:25:23 ] Javaでexpression problemを解決しようと頑張ってみた例↓ ttp://www.graco.c.u-tokyo.ac.jp/~nishi/semi/tm.2004-02-18.xhtml これと比べれば、polymorphic variantsによる解法が如何に簡潔か分かると思う。
659 名前:デフォルトの名無しさん mailto:sage [2009/06/18(木) 22:39:20 ] OOがゴミということは最初からなんとなく判ってたんだ 途中から総称型がもてはやされた時点で確信に変わった 次第にOOはどんどん隅に追いやられ、やがて名前だけの存在になった つまりOOは、OOであることをやめてしまったのだ
660 名前:デフォルトの名無しさん mailto:sage [2009/06/19(金) 00:56:11 ] OOPLにはなんでタプルとバリアントが無いの?バカなの?死ぬの?
661 名前:デフォルトの名無しさん mailto:sage [2009/06/19(金) 01:01:09 ] どったん?死ぬん?
662 名前:デフォルトの名無しさん mailto:sage [2009/06/19(金) 01:19:17 ] アメリカでOOP禁止になるかもな
663 名前:デフォルトの名無しさん mailto:sage [2009/06/19(金) 02:05:57 ] >>660 その文体飽きちゃった
664 名前:デフォルトの名無しさん mailto:sage [2009/06/19(金) 11:01:28 ] >>632 template <typename T, typename C> class stack { typedef T value_type; typedef C container_type; public: virtual value_type top(void) = 0; virtual void pop(void) = 0; virtual void push(value_type) = 0; private: container_type _container; }
665 名前:デフォルトの名無しさん mailto:sage [2009/06/20(土) 00:05:37 ] PythonにはタプルあるしVB系にはバリアントあるけど…
666 名前:デフォルトの名無しさん mailto:sage [2009/06/20(土) 04:08:07 ] C++はboostのtupleが使えるから特に問題無いな。実装は汚いが。
667 名前:デフォルトの名無しさん mailto:sage [2009/06/20(土) 08:29:23 ] >>665 バリアントの意味が違う どの型でも代入できる変数なんてキモいやつの事じゃないからね
668 名前:デフォルトの名無しさん mailto:sage [2009/06/20(土) 09:48:29 ] いわゆる代数的データ型だな
669 名前:デフォルトの名無しさん mailto:sage [2009/06/20(土) 10:30:47 ] 代数的データ型といえば、コンパイルは通るのに実行時にパターンマッチ失敗して どこが間違ってるのか探すのが面倒で、静的型の意味がないと思った記憶がある
670 名前:デフォルトの名無しさん mailto:sage [2009/06/20(土) 10:31:11 ] バリアントあれば継承いらねえことに気づいた
671 名前:デフォルトの名無しさん mailto:sage [2009/06/20(土) 10:54:32 ] >>670 おまえ全然分かってないな
672 名前:デフォルトの名無しさん mailto:sage [2009/06/20(土) 10:55:07 ] >>670 それは、継承の使い方を間違っているだけじゃないの?
673 名前:デフォルトの名無しさん mailto:sage [2009/06/20(土) 11:23:44 ] >>670 「いらないこともある」だな。 継承あった方が便利って時もある。
674 名前:デフォルトの名無しさん [2009/06/20(土) 12:51:11 ] 変数に型があるからオブジェクト指向が考えにくいのかもしれん。 Lispみたいに変数の型を無くして値に型を持たせたらいいかもな。
675 名前:デフォルトの名無しさん mailto:sage [2009/06/20(土) 13:03:22 ] practical-scheme.net/trans/noop-j.html > 個人的には、オブジェクト指向抽象化が必要だと思ったことは一度もない。 Common Lispは > 恐ろしいほど強力なオブジェクトシステムを持っているが、私は一度もそれを使ったことがないん > だ。ハッシュテーブルにクロージャを詰め込むとか、弱い言語だったらオブジェクト指向テクニッ > クが必要だっただろうと思えることはたくさんやってきたけれど、CLOSを使う必要に迫られたこ > とは無かった。
676 名前:デフォルトの名無しさん mailto:sage [2009/06/20(土) 13:37:55 ] >>673 それで設計変わっちゃうのってどうよ?
677 名前:デフォルトの名無しさん mailto:sage [2009/06/20(土) 13:59:46 ] >>670 も>>673 もおまいらみんな土方だろ 継承の代わりになり得るのはバリアントじゃなくて多相バリアントだ
678 名前:デフォルトの名無しさん mailto:sage [2009/06/20(土) 14:08:00 ] >>675 要約すると 「LISPのOOはCLOSがあるけど結局クセが強すぎて怖くて使わなかった 考えてみたらおりゃのやる範囲じゃOOいらなかった」
679 名前:デフォルトの名無しさん mailto:sage [2009/06/20(土) 14:12:51 ] CLOSが変態なのはCLOS屋も認めるところだからなあw
680 名前:デフォルトの名無しさん mailto:sage [2009/06/21(日) 10:27:22 ] >>669 それ、exhaustive checkの警告を華麗にスルーしてるだろww
681 名前:デフォルトの名無しさん [2009/06/21(日) 11:16:47 ] やっぱり、無制限に新しい型を作れるオブジェクト指向と、 静的型システムとは相性が悪いんだよ。 Objective-C みたいに、別々に存在してるほうがいいんじゃないの。
682 名前:デフォルトの名無しさん [2009/06/21(日) 18:09:22 ] まぁ臨機応変に
683 名前:デフォルトの名無しさん mailto:sage [2009/06/21(日) 21:32:03 ] >>681 >やっぱり、無制限に新しい型を作れるオブジェクト指向と、 >静的型システムとは相性が悪いんだよ。 相性以前に、型なんて何にも考えずに作った構文やセマンティクスの上に おまけで型を入れようとするから、静的にならないんじゃないかな。
684 名前:デフォルトの名無しさん mailto:sage [2009/06/21(日) 22:29:23 ] 型システムをおまけとして分離すると再利用しやすくなる。 例えば型システムの古いバージョンと新しいバージョンを連携させることもできる。
685 名前:デフォルトの名無しさん mailto:sage [2009/06/21(日) 23:47:28 ] >>684 >型システムをおまけとして分離する 型安全とか型推論ってその言語で定義される値や構文の上に定義されるものだから、 分離すること自体が困難そうにみえるのだけど。 型システムをおまけとして扱う関連情報源ありますか?
686 名前:デフォルトの名無しさん mailto:sage [2009/06/22(月) 00:55:42 ] >>685 Objective-Cの話だと思うが 動的型付けが気に入らないなら、C++/CLIとか調べてみれば
687 名前:デフォルトの名無しさん mailto:sage [2009/06/22(月) 08:19:34 ] >>685 アノテーション使うヤツなら太古の昔から色々提案されてるだろ。
688 名前:デフォルトの名無しさん mailto:sage [2009/06/22(月) 19:37:19 ] >>674 それって python じゃね? まあスピードもメモリも気にしないってことなら いいんじゃないかと思うが。
689 名前:デフォルトの名無しさん mailto:sage [2009/06/22(月) 19:50:59 ] あんな括弧もないような言語は捨てちまえ
690 名前:デフォルトの名無しさん [2009/06/22(月) 19:52:51 ] >>689 誉めてつかわす
691 名前:デフォルトの名無しさん mailto:sage [2009/06/22(月) 20:00:33 ] lisperキモ
692 名前:デフォルトの名無しさん mailto:sage [2009/06/22(月) 20:19:36 ] lisperは巣にカエレ!!!
693 名前:デフォルトの名無しさん mailto:sage [2009/06/22(月) 21:07:36 ] lisper lisperささやいて〜
694 名前:デフォルトの名無しさん mailto:sage [2009/06/22(月) 22:21:36 ] 動的型のOOPLは、自分が書くときには最高のパフォーマンスを発揮する。 物によっては、基底クラスやオブジェクト自身の型さえ変えられる。 でも、他人のソースを読むときは、まさにカオス。
695 名前:デフォルトの名無しさん mailto:sage [2009/06/22(月) 23:16:48 ] だからケント・ベックは他人が読みやすいコードの重要性にSmalltalkで気付いたのかな。
696 名前:デフォルトの名無しさん mailto:sage [2009/06/23(火) 00:13:55 ] 動的型のOOPLのソースコード、引き継ぎたくねー。
697 名前:デフォルトの名無しさん mailto:sage [2009/06/23(火) 01:01:18 ] じゃあrubyとか最悪ですね
698 名前:デフォルトの名無しさん mailto:sage [2009/06/23(火) 02:45:55 ] うちの会社じゃ、Rubyのコーディング規約として、publicなものには型を コメントとして書く事にしてるよ。
699 名前:デフォルトの名無しさん mailto:sage [2009/06/23(火) 05:27:32 ] それ最低だな。 静的型の型検査も、動的型のフレキシブルな記述も、両方とも捨ててる。
700 名前:デフォルトの名無しさん mailto:sage [2009/06/23(火) 09:04:49 ] >>699 なにその一見同意しそうで、いやちょっとまてよ?ん?となる文章は。
701 名前:デフォルトの名無しさん mailto:sage [2009/06/23(火) 09:07:37 ] 型を意識するだけでなく、コメントとして書くぐらいなら 型シグネチャが必要な言語でいいじゃんって思うけど 強い静的型のLLなんてない(強いていうならHaskell?)現実
702 名前:デフォルトの名無しさん mailto:sage [2009/06/23(火) 09:30:48 ] せめてLLを定義してから言えよ
703 名前:デフォルトの名無しさん mailto:sage [2009/06/23(火) 09:31:09 ] 静的型+型推論が一番かなぁ。コンパイル言語になっちゃうが。
704 名前:デフォルトの名無しさん mailto:sage [2009/06/23(火) 11:28:49 ] 別に今のLLだって最初に全体をプリコンパイルしてるの多いし そうでなくても全体をパースしちゃうのも多いから 純粋なインタプリタなんて今や希少種じゃね?
705 名前:デフォルトの名無しさん mailto:sage [2009/06/23(火) 11:46:47 ] /bin/shさいこおおおおおおお
706 名前:デフォルトの名無しさん mailto:sage [2009/06/23(火) 12:31:30 ] >701 スクリプトモードののScalaとか? Rubyで、コメントにアノテーションとして型を明示する書法無いの? なんかのライブラリのHTMLドキュメント見た時に書いてあったから、 そういうツールが出回ってるのかと思い込んでたけど。
707 名前:デフォルトの名無しさん mailto:sage [2009/06/23(火) 13:27:32 ] >705 ああ、シェルスクリプトやバッチファイルはそうだっけ。
708 名前:デフォルトの名無しさん mailto:sage [2009/06/23(火) 13:54:25 ] >>704 具体的に言語名は? ruby,pythonなんか遅いからそんなことやってないと思うが。
709 名前:デフォルトの名無しさん mailto:sage [2009/06/23(火) 13:58:32 ] >708 RubyもPythonも最初に全体をパースしてなかったっけ?
710 名前:デフォルトの名無しさん mailto:sage [2009/06/23(火) 14:03:54 ] ファイル全体を一気にパースしたらコンパイル言語というのは少し御幣があるな。 抽象構文木を解釈しながら実行するなら、インタプリタと呼ぶべきかと。 PythonなんかだとJITコンパイルをする実装もあるが。
711 名前:デフォルトの名無しさん mailto:sage [2009/06/23(火) 14:16:08 ] いや、俺(>704)は「コンパイル言語」とは言ってないよ。 ただ、どっちにしても全体を最初に見るワケだから 「静的型+型推論」をするのにコンパイル言語である必要は無いんじゃないのか?と言いたかった。 言葉足らず過ぎてすまん。
712 名前:デフォルトの名無しさん mailto:sage [2009/06/23(火) 14:30:20 ] >>708 > ruby,pythonなんか遅いからそんなことやってないと思うが。 ${PYTHON}/Doc/glossary.rst bytecode Python source code is compiled into bytecode, the internal representation of a Python program in the interpreter. The bytecode is also cached in ``.pyc`` and ``.pyo`` files so that executing the same file is faster the second time (recompilation from source to bytecode can be avoided). This "intermediate language" is said to run on a :term:`virtual machine` that executes the machine code corresponding to each bytecode.
713 名前:デフォルトの名無しさん mailto:sage [2009/06/23(火) 17:24:08 ] >>704 >別に今のLLだって最初に全体をプリコンパイルしてるの多いし ここに反応してレスしたんだ。多いのだったらいくらでも例をあげられるだろう。 ruby,pythonをあげるととたんにパースしているはないだろう。 もしそういうのがあれば使ってみたい。 >>712 マシン語にならないのにプリコンパイルと言われても他の言語になっているだけ。
714 名前:デフォルトの名無しさん mailto:sage [2009/06/23(火) 17:33:18 ] >>713 > マシン語にならないのにプリコンパイルと言われても >>704 はこの考え方が古いって言っているんだよね。 中間言語へコンパイルしてさえいないのはいまや希少。 > もしそういうのがあれば使ってみたい。 v8 javascript engine 構文木からいきなりx86に変換して実行。 eval関数がある言語なのに。 REPLでも同じようにx86に変換して実行する。
715 名前:デフォルトの名無しさん mailto:sage [2009/06/23(火) 17:35:50 ] 実行中に型推論うごかすのかよw
716 名前:デフォルトの名無しさん mailto:sage [2009/06/23(火) 18:10:55 ] 大抵はインクリメンタルにやればすぐ終わるよ そのまま動かす方がオーバーヘッドが大きい
717 名前:デフォルトの名無しさん mailto:sage [2009/06/23(火) 18:13:04 ] >>714 > eval関数がある言語なのに。 lisp 系は昔から native 吐くやつざらにあるじゃん
718 名前:デフォルトの名無しさん mailto:sage [2009/06/23(火) 18:50:43 ] >>714 V8のソースを少し見てみたが、本当に抽象構文木Tから直接マシン語を 出力してるな。アセンブリ言語に近い中間言語に落として最適化を かけてからコード生成というアプローチだとレイテンシー等の問題が 出るってこと?
719 名前:デフォルトの名無しさん mailto:sage [2009/06/23(火) 20:01:37 ] >>717 ほとんど全てのLispはインタープリタも持ってるでしょ。 (Scheme実装のStarlinみたいな処理系もあるけど) だからS式のまま実行できる。 v8はインタープリタはない。そこが違う。 >>718 二度手間だって事でしょ。 WebではJavascriptのコードはソースで提供されるわけで、 PythonみたいにILを外部ファイルに持っておけるわけじゃない。 だったらJIT一発で実行した方がいい。 それからプロパティアクセスを高速化するためにはJIT必須という考え方。 Cの構造体フィールドアクセスと同じコードになってる。 「コンパイラ・スクリプトエンジン」相談室スレに移動した方がいいかな?
720 名前:デフォルトの名無しさん mailto:sage [2009/06/23(火) 20:03:30 ] つまりnativeで実行できない言語はゴミ
721 名前:デフォルトの名無しさん mailto:sage [2009/06/23(火) 20:36:25 ] native実行していてもゴミ同然の言語あるよねw
722 名前:デフォルトの名無しさん mailto:sage [2009/06/23(火) 20:41:37 ] >>719 IR無しだと最適化が二度手間になると思うんだが、ターゲットCPUが x86, x86_64, ARMだけだから何とかなっているのかもしれん。 というかLLVMなどを使うより高速なコード生成が出来るなら やっぱりGoogleは凄いってことだな。
723 名前:デフォルトの名無しさん mailto:sage [2009/06/23(火) 20:43:32 ] v8はデータフロー解析みたいな最適化は一切やってないんだわ。 ピープホール的な事をちょっとやってるだけで。
724 名前:デフォルトの名無しさん mailto:sage [2009/06/24(水) 00:00:59 ] 民主党が政権とると OOPは規制対象になるね税金の無駄遣いだし
725 名前:デフォルトの名無しさん [2009/06/24(水) 03:21:05 ] 民主党が政権とるとOOPを使えないってこと? 自民党だと派遣マンセーでjavaを強制的に使わされそうだし この際OOP規制で良いや
726 名前:デフォルトの名無しさん mailto:sage [2009/06/27(土) 14:12:33 ] 今朝がたの会話 俺 「そんなやりかたじゃ規格が満たせません」 某SE「今までこの方法で動かなかったものはないんだからこれでいいんだ」 … … … 規格書の読み方も知らんのか? > OO できる SE
727 名前:デフォルトの名無しさん mailto:sage [2009/06/27(土) 15:04:52 ] OO関係ないやん。
728 名前:デフォルトの名無しさん mailto:sage [2009/06/27(土) 18:34:56 ] 上司「その規格書さ、間違ってるから」 よくあることである
729 名前:726 mailto:sage [2009/06/27(土) 20:14:14 ] >>728 某SE「OO的に書けないんだからその MP4 の規格書間違ってる」ってか
730 名前:デフォルトの名無しさん mailto:sage [2009/06/27(土) 20:57:13 ] 理解力の無さから察するに >>726 の方が間違ってそう
731 名前:デフォルトの名無しさん mailto:sage [2009/06/27(土) 21:04:35 ] 今日、次期政権担当政党で IT詳しい人に聞いたがやっぱり OOPは禁止だと言ってた それってレガシーなんでしょって言ってたよ
732 名前:デフォルトの名無しさん mailto:sage [2009/06/27(土) 22:45:16 ] w
733 名前:デフォルトの名無しさん mailto:sage [2009/06/28(日) 10:09:49 ] >>731
734 名前:デフォルトの名無しさん mailto:sage [2009/06/30(火) 14:16:49 ] オブジェクト指向って、せっかくまとまっているグローバル変数を あっちこっちに散らかしてわかりにくくしたものなのですね と言ってみる
735 名前:デフォルトの名無しさん mailto:sage [2009/06/30(火) 16:14:11 ] 流石にグローバル変数を持ち出されるとコボラ乙としか言えない
736 名前:デフォルトの名無しさん mailto:sage [2009/06/30(火) 16:15:24 ] オブジェクト指向なんかPhotoshopで言えばレイヤーみたいなもん あって当然使えて当然 ただ使えるだけで威張ってるのは馬鹿 「レイヤーを使わないと絵が描けません」と威張る言語も馬鹿
737 名前:デフォルトの名無しさん mailto:sage [2009/06/30(火) 19:47:19 ] 使えませんと言って威張ってるのはもっと馬鹿
738 名前:デフォルトの名無しさん mailto:sage [2009/07/01(水) 00:44:29 ] アメリカでもEUでもOOP規制の動きが 出始めてる。ソフトウェア産業に害しか及ぼさないということで 原則使用禁止を国レベルで採択する方向が強まってるね
739 名前:デフォルトの名無しさん mailto:sage [2009/07/01(水) 00:46:19 ] つまんね
740 名前:デフォルトの名無しさん mailto:sage [2009/07/01(水) 10:39:35 ] >>738 何言ってんのお前 若年性認知症か?
741 名前:デフォルトの名無しさん mailto:sage [2009/07/01(水) 22:53:57 ] >>740 >>740 >>740 >>740
742 名前:デフォルトの名無しさん mailto:sage [2009/07/01(水) 23:46:22 ] 「OOを使わない」と「OOを使えない」の差は大きいね。
743 名前:デフォルトの名無しさん mailto:sage [2009/07/02(木) 00:03:01 ] この際使えなくていいよ。もう使わないから。
744 名前:デフォルトの名無しさん mailto:sage [2009/07/02(木) 06:53:06 ] 私も C++ Ver1 のころはOOはいいと思ってました。
745 名前:デフォルトの名無しさん mailto:sage [2009/07/02(木) 11:14:11 ] C++ はそれ以外に問題が大杉だw
746 名前:デフォルトの名無しさん [2009/07/02(木) 13:40:09 ] lisp属の()が可愛く見えるほど 変態構文だらけになってしまったもんなぁ > C++
747 名前:デフォルトの名無しさん mailto:sage [2009/07/02(木) 13:55:39 ] たとえばどんな? あるいはとくにどれが?
748 名前:デフォルトの名無しさん mailto:sage [2009/07/02(木) 15:19:33 ] テンプレートとか今度入ってくるラムダとかのことじゃねぇの
749 名前:デフォルトの名無しさん mailto:sage [2009/07/02(木) 19:17:27 ] boostなんかだと演算子をオーバーロードしまくってるから とてもC++とは思えないコードになるからな。
750 名前:デフォルトの名無しさん mailto:sage [2009/07/02(木) 19:21:29 ] 日本を代表するc++ハッカーのやねうらお氏もlispが来ると言ってるね d.hatena.ne.jp/yaneurao/20090701
751 名前:デフォルトの名無しさん mailto:sage [2009/07/02(木) 19:27:31 ] こねぇwww
752 名前:デフォルトの名無しさん mailto:sage [2009/07/02(木) 19:53:26 ] ぶろっがーの間でははやるんじゃね?
753 名前:デフォルトの名無しさん mailto:sage [2009/07/02(木) 20:18:19 ] やねうらってLISP知ってたのか 組み込み寄りの人かと思った
754 名前:デフォルトの名無しさん mailto:sage [2009/07/02(木) 20:30:46 ] HSPerとLISPerってどっちが馬鹿なの?
755 名前:デフォルトの名無しさん mailto:sage [2009/07/02(木) 21:09:13 ] あくまでも、Lispは実験言語だな。 でも、実験言語としては非常に優れている。 プログラムとデータが渾然一体としているから、 どんな革新的な機能でも追加できる。 ただし、文法がS式なことだけ我慢すれば。
756 名前:デフォルトの名無しさん mailto:sage [2009/07/02(木) 21:16:31 ] S式は抽象構文木として使えばいいのであって、 具象構文は普通にパーサ書けばいいだけ。 LISPは元々は自然言語処理のために開発されたことを忘れないで><
757 名前:デフォルトの名無しさん [2009/07/02(木) 22:12:54 ] まぁ、何だかんだ言っても馬鹿にはLispは使えませんよ
758 名前:デフォルトの名無しさん mailto:sage [2009/07/02(木) 23:27:19 ] だからって、Lispを練習しても馬鹿が直る訳じゃないんだが、 時々それを勘違いしてる奴が居る。
759 名前:デフォルトの名無しさん mailto:sage [2009/07/02(木) 23:34:50 ] >>756 が新しい言語を作るそうです
760 名前:デフォルトの名無しさん mailto:sage [2009/07/03(金) 00:13:04 ] guile ctax なんてものもあったけど、使われてないね。
761 名前:デフォルトの名無しさん mailto:sage [2009/07/03(金) 01:09:08 ] 他人のオナニー見ても気持ちよくないからね
762 名前:デフォルトの名無しさん mailto:sage [2009/07/03(金) 14:56:07 ] >>756 今時RLISPかよ
763 名前:デフォルトの名無しさん mailto:sage [2009/07/03(金) 15:26:45 ] 見事にLISPスレ的な流れになったな
764 名前:デフォルトの名無しさん mailto:sage [2009/07/03(金) 16:07:14 ] LISP語るならCLOSについて話せよ
765 名前:デフォルトの名無しさん mailto:sage [2009/07/03(金) 16:26:12 ] モノを完成させてからオブジェクト指向で書き直すなんて二度手間です><
766 名前:デフォルトの名無しさん [2009/07/03(金) 23:15:27 ] >>758 が「馬鹿はLispが使えない」ことを証明しますた。
767 名前:デフォルトの名無しさん mailto:sage [2009/07/03(金) 23:31:13 ] 別にわざわざLisp使う意味がわからないな C言語でいいじゃん
768 名前:デフォルトの名無しさん mailto:sage [2009/07/03(金) 23:51:48 ] >>767 使いなれてしまうと日常的にCを使いたくなくなるな つか、俺にとってはCは未だに高級アセンブラ、C++は超高級マクロアセンブラ なんでスペシャル変数を導入しないんだろ >C++
769 名前:デフォルトの名無しさん mailto:sage [2009/07/04(土) 00:02:52 ] 最近、C言語で地味に堅く組むのがマイブーム
770 名前:デフォルトの名無しさん mailto:sage [2009/07/04(土) 00:43:46 ] 高級アセンブラと思ったことはないけど、Cは十分に高級言語なので たいていのことはこなせる。 Cより複雑なことをしたい場合は、PerlとかRubyとかのスクリプト言語にするよ
771 名前:デフォルトの名無しさん mailto:sage [2009/07/04(土) 05:10:49 ] スペシャル変数www それがプログラミング言語設計一般で使われる概念名称だと思ってるのかwww ひさしぶりに腹かかえたwwwww
772 名前:デフォルトの名無しさん [2009/07/04(土) 07:44:15 ] なれるとLispはCやC++よりプログラムを考えるのが楽チン
773 名前:デフォルトの名無しさん mailto:sage [2009/07/04(土) 08:25:34 ] むかしLISPを勉強しようと思ってMSDOS用のXLISPを入手した。 これが使用中にしょっちゅう落ちる。でメンテしてめったに落ちなくしてついでに いろんな関数を作って高級アセンブラ並にしたんだが結局Cを使った方が楽で使わ なかった。LISPはおれにとって楽チンどころか苦痛を与えるためにあるようんもんだ。
774 名前:デフォルトの名無しさん mailto:sage [2009/07/04(土) 09:12:52 ] マジOOは思想ごとこの世から消えて欲しい。 CやVBでさえまだ満足に使えてないのに、 周りがどんどんOOに進んでいくので、落ちこぼれ感が半端ない。 技術的というより、精神的に追い詰められる。
775 名前:デフォルトの名無しさん mailto:sage [2009/07/04(土) 09:34:28 ] 相手を追い詰めることで自分が進んでいると思えるって、ひどい相対主義だな
776 名前:デフォルトの名無しさん [2009/07/04(土) 09:39:41 ] 追い詰めると言うよりは、置き去りですな。 もしくは、怠慢でついて来れないだけ。
777 名前:デフォルトの名無しさん mailto:sage [2009/07/04(土) 09:43:58 ] DOSのLispっておもちゃだったからなあ。
778 名前:デフォルトの名無しさん mailto:sage [2009/07/04(土) 10:18:36 ] OOを捨てることは何時だって出来るのに これだけ普及&定着しまくってるんだから 何かしら捨てられない理由でもあるんでしょう
779 名前:デフォルトの名無しさん mailto:sage [2009/07/04(土) 10:28:50 ] GUI 関連ならそりゃ普及してるけど、 それ以外で無理に使う必要あるか?
780 名前:デフォルトの名無しさん mailto:sage [2009/07/04(土) 10:30:56 ] OOPはこれから規制対象になるんだけどねぇ 品質が上がらない要因といわれている
781 名前:デフォルトの名無しさん mailto:sage [2009/07/04(土) 11:00:56 ] 一定以上複雑なプログラムには有効な整理方法だよ 単純なプログラムには必要ないね
782 名前:デフォルトの名無しさん mailto:sage [2009/07/04(土) 11:04:44 ] LinuxカーネルもWindows7のカーネルも すごい複雑だけど1行もOOP使ってないけどね
783 名前:デフォルトの名無しさん mailto:sage [2009/07/04(土) 11:12:27 ] WindowsにOOPが使われてないとは初耳だなぁ...
784 名前:デフォルトの名無しさん mailto:sage [2009/07/04(土) 11:21:38 ] >>783 VistaはカーネルのコードC++で書いて 失敗した。だから全部Cで書き直したよ
785 名前:デフォルトの名無しさん mailto:sage [2009/07/04(土) 11:59:26 ] カーネルは複雑じゃないから OOP は必要ないだろうね
786 名前:デフォルトの名無しさん mailto:sage [2009/07/04(土) 12:06:50 ] なぜそこにOOPをつっこもうとする
787 名前:デフォルトの名無しさん mailto:sage [2009/07/04(土) 12:13:00 ] パフォーマンス問題がクリティカルな分野でOOPなんてやるわけねーだろ そんなん言ったら大半の組み込みプログラムが非OOPだわ
788 名前:デフォルトの名無しさん mailto:sage [2009/07/04(土) 12:13:19 ] >>782 嘘言うなよ LinuxはVFS周りのコードがOOPだ
789 名前:デフォルトの名無しさん mailto:sage [2009/07/04(土) 12:25:43 ] >>788 ソースみたけど全部Cで書いてあるけど?
790 名前:デフォルトの名無しさん mailto:sage [2009/07/04(土) 12:27:16 ] >>789 CでのOOPに決まってるだろ
791 名前:デフォルトの名無しさん mailto:sage [2009/07/04(土) 12:34:06 ] GObject…
792 名前:デフォルトの名無しさん mailto:sage [2009/07/04(土) 12:40:47 ] >>790 CにOOPなんてねーだろ バカなのアホなの?
793 名前:デフォルトの名無しさん mailto:sage [2009/07/04(土) 12:52:43 ] お前本当に頭悪いな GObjectが何か調べてから物を言えよカスが
794 名前:デフォルトの名無しさん mailto:sage [2009/07/04(土) 12:58:34 ] >792 お前はまずOOPとは何かを学んだほうが良いぞ OOPLはOOPをしやすくした言語であってOOPLじゃないとOOPができないワケじゃない
795 名前:デフォルトの名無しさん mailto:sage [2009/07/04(土) 13:17:00 ] カーネルプログラミングでGObject(汗
796 名前:デフォルトの名無しさん mailto:sage [2009/07/04(土) 13:27:35 ] じゃばばんばぁは言語にOOPがないとOOPができないとおもってるからなぁ
797 名前:デフォルトの名無しさん mailto:sage [2009/07/04(土) 14:21:06 ] LinusがC++嫌ってるからしかたなくCで書いたんだろ
798 名前:デフォルトの名無しさん mailto:sage [2009/07/04(土) 14:25:09 ] 手動メソッドディスパッチ…
799 名前:デフォルトの名無しさん mailto:sage [2009/07/04(土) 14:32:23 ] >>797 LinusがC++嫌いなのはその通りだけど、そんな簡単なものでもない。 www.tux.org/lkml/index.html#s15-3
800 名前:デフォルトの名無しさん mailto:sage [2009/07/04(土) 14:38:58 ] LinusどころかOOPLユーザの過半数がC++を嫌っているという現実
801 名前:デフォルトの名無しさん mailto:sage [2009/07/04(土) 14:41:08 ] C++は糞これはガチ
802 名前:デフォルトの名無しさん mailto:sage [2009/07/04(土) 15:48:38 ] >>794 そう言って、Cでオブジェクト指向プログラミングができるって テクニックを公開しているやつをなんども見てるけど、つかえそう なのって、カプセル化、抽象データ型くらいで、継承とか多態 までいくと「おいおい、それはムリがあるだろ」って感じのばっかり だな。 ああいうの真に受けるやつがいるから、広めるのやめてほしい。
803 名前:デフォルトの名無しさん mailto:sage [2009/07/04(土) 15:55:45 ] C++ を糞だと思うのは自由だが、OOP と GP の直交が醸す広大な抽象空間を 知らずに人生を終えるのはちょっともったいないと思うよ。
804 名前:デフォルトの名無しさん mailto:sage [2009/07/04(土) 15:56:37 ] 多態なんて関数ポインタ使えれば誰でも考え付くこと。
805 名前:デフォルトの名無しさん mailto:sage [2009/07/04(土) 16:03:17 ] >>803 GPって何?ゴールドポイント?
806 名前:デフォルトの名無しさん mailto:sage [2009/07/04(土) 16:07:17 ] >805 グレートプログラム
807 名前:デフォルトの名無しさん mailto:sage [2009/07/04(土) 16:23:57 ] >>803 C++ のジェネリックプログラミング: アイデアは全部よその言語のパクリ, あの変態構文を除けば… … …
808 名前:デフォルトの名無しさん mailto:sage [2009/07/04(土) 17:02:27 ] グランプリ
809 名前:デフォルトの名無しさん mailto:sage [2009/07/04(土) 17:07:01 ] GenericProgramingをGPと略すのはどうなんだろう GPといったら普通は遺伝的プログラミング(genetic programming)の方かと
810 名前:デフォルトの名無しさん mailto:sage [2009/07/04(土) 17:09:08 ] Giant Penis
811 名前:デフォルトの名無しさん mailto:sage [2009/07/04(土) 17:10:36 ] 紛らわしいシリーズとしては generative programmingってのもある
812 名前:デフォルトの名無しさん mailto:sage [2009/07/04(土) 17:18:56 ] GP = Generic Programming のこと。C との互換性と GP によって、C++ は今後も戦力外通告されない「潰しの効く」言語の一つたりえる。Bjarne Stroustrup は C++ の原作者として、プログラマが言語学習に投資した 時間を無駄にするような言語仕様の変更を加えないよう、絶妙のバランス 感覚で手綱をしめてる。C++ は次の改訂でさらに初心者にやさしい使い やすい言語になるよ。
813 名前:デフォルトの名無しさん mailto:sage [2009/07/04(土) 17:21:37 ] >>804 それは多態じゃなくて高階関数な。
814 名前:デフォルトの名無しさん mailto:sage [2009/07/04(土) 17:27:26 ] OOと関係ない方向で性徴
815 名前:デフォルトの名無しさん mailto:sage [2009/07/04(土) 17:38:06 ] Generic ProgrammingやりたきゃC++なんかよりSMLやHaskellのほうがずっといい。
816 名前:デフォルトの名無しさん mailto:sage [2009/07/04(土) 17:48:03 ] scrap your boilerplate
817 名前:デフォルトの名無しさん mailto:sage [2009/07/04(土) 18:43:29 ] C++は組み込み分野では利用禁止が定着しつつある 一般開発では既に利用禁止が大半となっている
818 名前:デフォルトの名無しさん mailto:sage [2009/07/04(土) 18:47:51 ] ま、C++でまともにコードかけるやつがめったにいないしな。
819 名前:デフォルトの名無しさん mailto:sage [2009/07/04(土) 20:19:45 ] >>817 w
820 名前:デフォルトの名無しさん mailto:sage [2009/07/04(土) 20:21:23 ] まともにかける奴がいない = かける俺が偉い というオナニーなんだろうが lispに比べればはるかに多いだろ lispが使われて無いのはかける奴がいないからに他ならないわけで
821 名前:デフォルトの名無しさん mailto:sage [2009/07/04(土) 21:56:18 ] >>817 電子回路設計ではSystemCとかいうC言語の亜種が出てるのにな
822 名前:デフォルトの名無しさん mailto:sage [2009/07/04(土) 22:04:31 ] 組み込みの分野で使われてるのってluaとか? あれも、オブジェクト指向はなしで、 関数型を取り入れたって感じだな
823 名前:デフォルトの名無しさん mailto:sage [2009/07/04(土) 22:09:56 ] 組み込みってハードに近いあれの話だろ? C言語の変な仕様バージョンが圧倒的に多い みためC言語だけどC言語仕様にはそってないの なんちゃって?C言語?っての?
824 名前:デフォルトの名無しさん mailto:sage [2009/07/04(土) 22:27:49 ] qsortの無いやつもあるしな
825 名前:デフォルトの名無しさん mailto:sage [2009/07/04(土) 22:33:28 ] そもそも標準ライブラリなんてほとんど使わん
826 名前:デフォルトの名無しさん mailto:sage [2009/07/04(土) 22:47:45 ] C++は、現実の問題に対処できるように何でもできる言語を目指しているが、 何でもできることで、かえって現実のプログラマの集団を うまく統制できない言語になってしまった。 言語機能の一部を使用禁止する命令とか作ったほうがいいんじゃないか?
827 名前:デフォルトの名無しさん mailto:sage [2009/07/04(土) 22:53:18 ] >>826 実際構文解析・チェックツール使って スタイルに合ってないヤツを書き直させてる現場もあるよ
828 名前:デフォルトの名無しさん mailto:sage [2009/07/04(土) 22:53:51 ] >>826 いやだからEUでC++0xの仕様採択中止になったしょ? ほらEUだとソフトウェアのレベル計測する基準とかあるだろ あれで軒並みC++は該当外になっている。
829 名前:デフォルトの名無しさん mailto:sage [2009/07/04(土) 23:05:50 ] >>828 へーそうなんだ。ソースどこ?
830 名前:デフォルトの名無しさん mailto:sage [2009/07/04(土) 23:36:50 ] 脳内
831 名前:デフォルトの名無しさん mailto:sage [2009/07/05(日) 00:03:58 ] オブジェクト指向のクソなところをまた一つ発見した。 予約語が増える。
832 名前:デフォルトの名無しさん mailto:sage [2009/07/05(日) 00:57:59 ] SKI!!SKI!!
833 名前:デフォルトの名無しさん mailto:sage [2009/07/05(日) 01:45:33 ] >823-824 こういう感じのやつ? ja.wikipedia.org/wiki/ フリースタンディング環境
834 名前:デフォルトの名無しさん mailto:sage [2009/07/05(日) 06:51:21 ] >>831 SmalltalkよりもCのほうが桁違いに予約語が多いのだが?
835 名前:デフォルトの名無しさん mailto:sage [2009/07/05(日) 07:03:12 ] SmalltalkはifTrueなんかも予約語じゃないのではなかったか?
836 名前:デフォルトの名無しさん mailto:sage [2009/07/05(日) 07:10:35 ] ifTrueやwhileTrueもメソッド名だね < Smalltalk
837 名前:デフォルトの名無しさん [2009/07/05(日) 07:54:31 ] 予約語が増えるくらいどうということないじゃん。 もともとCやC++はオペレータの数が少ないんだし Lispなんてオペレータが多すぎて訳ワカメやぞ。
838 名前:デフォルトの名無しさん mailto:sage [2009/07/05(日) 07:57:05 ] 釣り、、、だよな、、、、?
839 名前:デフォルトの名無しさん mailto:sage [2009/07/05(日) 08:07:29 ] $から変数名はじめればいいだけ
840 名前:デフォルトの名無しさん mailto:sage [2009/07/05(日) 11:19:32 ] 予約語が多いというとCOBOLを思い浮かべるが…
841 名前:デフォルトの名無しさん mailto:sage [2009/07/05(日) 11:33:29 ] エディタがハイライトしてくれるから、予約語の数なんて大した問題じゃないだろ
842 名前:デフォルトの名無しさん mailto:sage [2009/07/05(日) 11:41:19 ] 新しい概念なんだから予約語が増えるのは当然 似て非なる言語仕様が乱立するほうがよっぽど怖いぜ
843 名前:デフォルトの名無しさん mailto:sage [2009/07/06(月) 00:44:35 ] 20,30くらいの予約語ならいいが、 100を超えるのはあほだろ。
844 名前:デフォルトの名無しさん mailto:sage [2009/07/06(月) 00:59:21 ] 予約語の数がどうの言う奴は馬鹿 それよりCのように名前空間が無い言語を使ってシンボル名が衝突する方が問題
845 名前:デフォルトの名無しさん mailto:sage [2009/07/06(月) 02:52:55 ] COBOLは酷いよな…ライブラリまるごと予約語にするから予約語の数がおかしなことになってる
846 名前:デフォルトの名無しさん mailto:sage [2009/07/06(月) 08:16:05 ] emacs lispは酷いよな… hoge-moge-hage-sage-pとか 名前空間の力は偉大だよ