- 1 名前:デフォルトの名無しさん mailto:sage [2005/09/30(金) 01:34:05 ]
- C/C++>>>>(越えられない壁)>>>Haskell
- 520 名前:デフォルトの名無しさん [2007/03/25(日) 15:03:44 ]
- 型が充実してるって言うから、ちょっと勉強してみたけど、
簡単に実行時例外が発生するじゃん。なんだよこれ。 コンパイルが通れば論理的な誤り以外、 ほとんどバグが取れてるのかと思ったのに。 実行時に読み込むデータとかの誤りなら仕方ないにしても、 そんなのない静的にすべて決まってるプログラムでも 実行時例外が起きえるなんて、全然だめじゃんwww
- 521 名前:デフォルトの名無しさん mailto:sage [2007/03/25(日) 19:04:34 ]
- >>520
ボトムのことかな?
- 522 名前:デフォルトの名無しさん mailto:sage [2007/03/25(日) 21:12:50 ]
- >>520
例外を起こす可能性のある関数を使わなきゃいいんじゃない? あるいは、もっと型の強い言語を使ったらどうよ。
- 523 名前:デフォルトの名無しさん mailto:sage [2007/03/25(日) 21:53:28 ]
- 暗黙でも何でも良いから
関数毎の定義域に合ったサブタイプを作るとか、 なんとかならんのかね。 もっと型の強い言語ってどんなの?
- 524 名前:デフォルトの名無しさん mailto:sage [2007/03/26(月) 01:54:12 ]
- Cじゃね。
- 525 名前:デフォルトの名無しさん mailto:sage [2007/03/26(月) 10:33:01 ]
- Cほど型の緩い言語もないだろ。
- 526 名前:デフォルトの名無しさん mailto:sage [2007/03/26(月) 10:43:07 ]
- Cは緩いけど硬直的
- 527 名前:デフォルトの名無しさん mailto:sage [2007/03/26(月) 16:44:20 ]
- Dじゃね。
- 528 名前:デフォルトの名無しさん mailto:sage [2007/03/26(月) 17:44:47 ]
- void*
- 529 名前:デフォルトの名無しさん mailto:sage [2007/03/26(月) 23:35:13 ]
- 日本拳法が一番厳格だと思うよ
- 530 名前:デフォルトの名無しさん mailto:sage [2007/03/27(火) 20:05:02 ]
- あんまり深く使い込んだわけじゃないけど
俺が出会ったランタイムエラーは パターンマッチの場合分けの漏ればかりだった。 型がらみで実行時エラーってでる可能性はあるの?
- 531 名前:デフォルトの名無しさん mailto:sage [2007/03/27(火) 20:40:55 ]
- >>523
>もっと型の強い言語ってどんなの? 依存型のある言語とかじゃないか?実用化されてるのか知らんけど。 >>530 head []とかdiv 1 0とか。
- 532 名前:デフォルトの名無しさん mailto:sage [2007/03/27(火) 20:45:02 ]
- 計算停止性を決定可能にした天才の>>520がいると聞いて飛んできましたよ。
- 533 名前:デフォルトの名無しさん mailto:sage [2007/03/27(火) 21:19:17 ]
- 依存型って型に普通の値を突っ込めるようなもの?
とすると類に普通の型が混ざるわけ?
- 534 名前:530 mailto:sage [2007/03/27(火) 21:26:28 ]
- >head []とかdiv 1 0とか。
div 1 0は型エラーじゃないじゃん。 head []も型システムの責任なのかい? そうか 型に値域を限定する機能があればいいのか? div :: (Num a) (Num b:ただし0を除く) => a -> b -> a head :: [a] ただし[]を除く みたいな。 でもどうやっても静的にはチェックできそうにない orz
- 535 名前:デフォルトの名無しさん mailto:sage [2007/03/27(火) 21:59:15 ]
- {-# OPTIONS_GHC -fglasgow-exts #-}
data ZeroT = ZeroT data SuccT a = SuccT data Nat n where Zero :: Nat ZeroT Succ :: Nat n -> Nat (SuccT n) data List a n where Nil :: List a ZeroT Cons :: a -> List a n -> List a (SuccT n) myhead :: List a (SuccT n) -> a myhead (Cons x xs) = x mydiv :: Nat n -> Nat (Succ m) -> {- ...型が書けねえ -}
- 536 名前:保守 mailto:sage [2007/05/26(土) 18:36:56 ]
- 破壊的代入を使ったら負けかなと思う
- 537 名前:デフォルトの名無しさん mailto:sage [2007/05/27(日) 20:43:18 ]
- 勝ち負けを意識した時点で既にアンタ負けてるよ
- 538 名前:デフォルトの名無しさん mailto:sage [2007/05/27(日) 23:19:22 ]
- >…負けてるよ
って言ってるアンタも勝ち負けを意識してるんだから、負けてるよ。
- 539 名前:デフォルトの名無しさん mailto:sage [2007/05/27(日) 23:32:17 ]
- 俺みたいな奴は勝つ必要なんてねえんだよ
- 540 名前:デフォルトの名無しさん mailto:sage [2007/05/30(水) 21:02:25 ]
- 勝とうよ。haskellがあれば勝てるよ
- 541 名前:デフォルトの名無しさん mailto:sage [2007/05/31(木) 00:08:21 ]
- けどHaskellって正直なところ負け組だよ
- 542 名前:デフォルトの名無しさん mailto:sage [2007/05/31(木) 02:59:58 ]
- 関数型言語パスカル
- 543 名前:デフォルトの名無しさん mailto:sage [2007/05/31(木) 03:24:30 ]
- >>543
- 544 名前:デフォルトの名無しさん mailto:sage [2007/05/31(木) 03:25:27 ]
- >>544
- 545 名前:デフォルトの名無しさん mailto:sage [2007/08/22(水) 21:16:38 ]
- ふつケル読んだけど、後半が理解できなかった。マジで難しい。
言語の設計の根っこがCPUの挙動にぜんぜん当てはめられていないからか、 俺には宇宙語だよこりゃ…。
- 546 名前:デフォルトの名無しさん mailto:sage [2007/08/22(水) 21:36:33 ]
- 当てはめられないかもしれないが
C言語もCPUの挙動に当てはめられるかというとそうでもない そもそもソフトウェア設計用だからな
- 547 名前:偉そうに語ってみる mailto:sage [2007/08/23(木) 01:19:28 ]
- >545
後半、モナドやWikiエンジンの開発のところは急に難易度が上がっているので、 それより前の部分を何度も読んで動かしていると感じがつかめてくると思います。 あとは、メモリとかスタックとか、効率のことを考えるのをひとまずやめて プログラムでどういうことをやりたいかを考えてみるのはどうでしょうか。
- 548 名前:デフォルトの名無しさん mailto:sage [2007/08/23(木) 02:46:56 ]
- おまえ偉そうだぞ
- 549 名前:デフォルトの名無しさん mailto:sage [2007/08/24(金) 01:14:22 ]
- えっへん
- 550 名前:デフォルトの名無しさん mailto:sage [2007/08/24(金) 09:02:27 ]
- つ[龍角散]
- 551 名前:デフォルトの名無しさん mailto:sage [2007/08/27(月) 13:01:13 ]
- >>550
龍角散は「ゴホン!」だろ エヘン虫にはヴィックスドロップ。
- 552 名前:デフォルトの名無しさん mailto:sage [2007/08/28(火) 09:39:44 ]
- 高度すぎてわからなかった^^;;
- 553 名前:デフォルトの名無しさん mailto:sage [2007/09/15(土) 23:11:49 ]
- クマーが圏論を語ってる、、、。
- 554 名前:デフォルトの名無しさん mailto:sage [2007/09/15(土) 23:12:36 ]
- MLと比べてどうなの?
- 555 名前:デフォルトの名無しさん mailto:sage [2007/10/08(月) 21:16:41 ]
- クマー落ち防止保守
- 556 名前:デフォルトの名無しさん mailto:sage [2007/10/20(土) 02:30:14 ]
- ttp://2ch.bluesvirus.com/reserve/view/172
- 557 名前:デフォルトの名無しさん mailto:sage [2007/11/14(水) 16:25:03 ]
- >>10
頭の中に同型対応になるものがたくさんあるってことだから 少なくともアホじゃないだろう
- 558 名前:デフォルトの名無しさん mailto:sage [2007/11/14(水) 22:27:08 ]
- >>557
あの手の輩は「これは非直感的だからウンコ」て台詞の方が圧倒的に多いよ
- 559 名前:デフォルトの名無しさん mailto:sage [2007/11/19(月) 00:28:42 ]
- 何この良スレ
スレタイでスルーしてて後悔した
- 560 名前:デフォルトの名無しさん mailto:sage [2007/11/20(火) 21:30:08 ]
- もっと活用できたらいいんだがなぁ・・・
- 561 名前:560 mailto:sage [2007/11/20(火) 21:31:14 ]
- >>560
560はスレのことね
- 562 名前:デフォルトの名無しさん mailto:sage [2007/12/11(火) 07:32:07 ]
- sage
- 563 名前:デフォルトの名無しさん mailto:hage [2007/12/23(日) 03:41:42 ]
- ★
- 564 名前:デフォルトの名無しさん mailto:sage [2007/12/23(日) 11:22:42 ]
- クマさんのArrow講義マダ?
- 565 名前:デフォルトの名無しさん mailto:sage [2007/12/23(日) 13:33:30 ]
- arrow って命令型言語的なフローを書くための機構なんだよね?重要なの?
- 566 名前:デフォルトの名無しさん mailto:sage [2007/12/29(土) 12:23:36 ]
- ぶっちゃけ>>8が理解できなくて劣等感にさいなまれた。
でもHaskellをかじったら理解できた。 その経験からつまずいた点を書いてみる。 qsort [] = qsort (x:xs) = とqsortの定義が2つ並んでいるのが理解できなかった。 これはHaskellの階乗を見て場合分けだと理解した。 fact 0 = 1 fact n = n * fact (n - 1) int fact(int n) { if (n == 0) return 1; else return n * fact(n - 1); }
- 567 名前:566 mailto:sage [2007/12/29(土) 12:45:46 ]
- []が意味不明だった。
配列を[1, 2, 3]と書くと知って初めて空配列だと理解できた。 (x:xs)が意味不明だった。 他の部分で配列はすべて[]なのにここだけ()なのに違和感があった。 ()はfact(n-1)のn-1と同じでx:xsが一つの要素だとくくっていると解釈した。 この辺はC言語だとコンマで区切るような所が空白で区切られているため 意識しないといけない部分だというように感じた。 そして++が配列の結合だと覚えた上で、 x:xs とはxが要素でxsが配列で [x] ++ xs という意味だと解釈した。 qsort elts_lt_x ++ [x] ++ qsort elts_greq_x の構文木が初見でイメージできなかった。 演算子++の優先度が高いため A ++ B ++ C と3つの配列が結合していると解釈した。 C言語風にqsort(elts_lt_x) ++ [x] ++ qsort(elts_greq_x)と書いてあれば 初見でも自力で解釈できたかもしれない。 >>10のいうように自分の知っているC言語に近いかどうかというバカの壁がある。 だからと言ってC言語を知らない人の方が先入観がなく理解しやすいとは思えないが。
- 568 名前:デフォルトの名無しさん mailto:sage [2007/12/29(土) 12:55:10 ]
- >>567
[1,2,3]は配列じゃなくてリスト 配列とリストの違いはググレ
- 569 名前:デフォルトの名無しさん mailto:sage [2007/12/29(土) 12:57:10 ]
- 文法を知らなきゃ理解できんのは当然だろ
それから、細かいが、 >演算子++の優先度が高い 低い、の間違いだよな?
- 570 名前:デフォルトの名無しさん mailto:sage [2007/12/29(土) 12:58:12 ]
- >>10
「自分が知ってるものと似てる」=メタファ 「見たら使い方がわかる」=アフォーダンス
- 571 名前:デフォルトの名無しさん mailto:sage [2007/12/29(土) 12:58:27 ]
- 配列とリストなんて計算量が違うだけじゃん。
初心者は気にしなくていいよ。
- 572 名前:デフォルトの名無しさん mailto:sage [2007/12/29(土) 13:00:14 ]
- >>571
だったらお前はmalloc,freeひたすら繰り返してろ
- 573 名前:566 mailto:sage [2007/12/29(土) 13:01:50 ]
- >>569
小学校で1+2*3のとき+より*の優先度が高いと習ったと記憶していますが これはひょっとして大間違いですか?
- 574 名前:デフォルトの名無しさん mailto:sage [2007/12/29(土) 13:03:26 ]
- >>573
どこに+と*が出てきてるんだ?
- 575 名前:デフォルトの名無しさん mailto:sage [2007/12/29(土) 13:05:15 ]
- >>573
もし(++)の優先度が関数適用より高いなら、 qsort elts_lt_x ++ [x] ++ qsort elts_greq_x は、 qsort (elts_lt_x ++ [x] ++ qsort) elts_greq_x と解釈されるはずだよ。
- 576 名前:566 mailto:sage [2007/12/29(土) 13:07:20 ]
- >>574
Haskellとは関係なくて「優先度が高い」という言葉の定義の確認で、 +と*を比較すると*が優先度が高いという言い回しが正しいかどうかです。 >>575 すみません、それ以前のレベルで、 優先度という言葉の定義があやふやでした。 よく考えたら++の優先度が低いという意味が理解できました。 1+2*3で+は後で計算していますがqsortでの++もそれと同じですね。 混乱してしまってごめんなさい。
- 577 名前:566 mailto:sage [2007/12/29(土) 13:14:41 ]
- >>568
ご指摘ありがとうございます。 日本語のHaskell本を2冊とも買ったのでよく勉強します。 >>569 それはそうなんですが、自信たっぷりな>>8の書き方を見て、 普通の知能の人間なら文法も含めて推測できるはず それができない俺はアホだ。 という劣等感を感じたんです。 色々とつまずきましたが、読み方が分かるようになると、 Haskellのインデントの文法はとても美しいと感じられるようになりました。 今まで好きだったPythonが糞に思えてきました。
- 578 名前:デフォルトの名無しさん mailto:sage [2007/12/29(土) 13:18:42 ]
- >>577
haskellのインデント(レイアウトのことかな)が美しいと思うのは自由ですが、 ちょっと偉い人の間では嫌っている人もかなりいます
- 579 名前:566 mailto:sage [2007/12/29(土) 13:26:18 ]
- >>578
はい、レイアウトのことです。 もしお手数でなければ参考までに嫌われている理由をお聞きしたいです。 Pythonのインデントだとコピペの際にずれを直すのが鬱陶しいと思いました。 C言語だとずれていても無視できて、後で自動整形できますからね。
- 580 名前:デフォルトの名無しさん mailto:sage [2007/12/29(土) 14:24:52 ]
- >>579
たとえばcaseの中にcaseがあって、それがレイアウトで書かれていると、 インデントが少しずれただけで全く意味が異なる式になってしまうことがあったりするから。 だからhaskellにはブロックで書くこともできるからレイアウトを使わなくても良い。 でもレイアウトが崩れても一つの解釈しかできないところならレイアウトで書いたほうがきれいかもしれないね。
- 581 名前:566 mailto:sage [2007/12/29(土) 20:28:26 ]
- >>580
なるほど。 レイアウトはExcelで書くのに向いているかもしれないと思いました。 そういえば副作用がない関数型のイメージをワークシートに例えた解説を どこかで読んだのを思い出しました。 ところでqsort elts_lt_x ++ [x] ++ qsort elts_greq_xの演算子の件ですが、 単純に左から右にパースして優先度は関係ないのではないかと気付きました。 静的に型付けされているため、qsortの引数は1つしかないと決められるからです。
- 582 名前:デフォルトの名無しさん mailto:sage [2007/12/29(土) 21:35:33 ]
- >>581
ヒント: カリー化
- 583 名前:デフォルトの名無しさん mailto:sage [2007/12/29(土) 21:38:18 ]
- 関数型言語初心者はマジでMLかOCamlから始めろよ
いきなりHaskellやったってわからねーだろ。
- 584 名前:デフォルトの名無しさん mailto:sage [2007/12/29(土) 22:04:56 ]
- つ「Haskell The Craf tOf Functional Programming」
↑大学の教科書になってるHaskell使ったプログラミング自体の入門書だから いきなりやってもわかるようにできてる この本だとモナドが最後のほうになるまででてこないから ふつうのHaskellプログラミングと併読してもいいやも
- 585 名前:デフォルトの名無しさん mailto:sage [2007/12/29(土) 22:16:31 ]
- SML とか OCaml は(頑張れば宣言的に書く事も可能な)手続き型言語だからね
「副作用も何のその。非正格性なんて、速度を犠牲にしてまで要らないよ。 主題はメタランゲージなんだから、関数型言語なんてレッテルを貼らないでおくれ。」 という世界。
- 586 名前:デフォルトの名無しさん mailto:sage [2007/12/29(土) 23:51:39 ]
- >>585
というか、CAML開発の時点で「妥協の産物」と開発者自らが語っている。 その後継のOCAMLでレッテル貼る貼らないとか以前の問題。 その点、SMLはHaskellと同じで純粋培養した関数型っていう感じがする。 NewJergyとかいいな。 でもあえてGauchを薦めてみるw Lisp/Scheme Familyは楽しいぞ。古きを尋ねて新きを知るという感じかな。
- 587 名前:デフォルトの名無しさん mailto:sage [2007/12/30(日) 00:13:17 ]
- SchemeならMonaがアツい
OS開発も一緒に楽しめて一石二鳥
- 588 名前:デフォルトの名無しさん mailto:sage [2007/12/30(日) 00:24:56 ]
- >>586
×Gauch ○Gauche
- 589 名前:デフォルトの名無しさん mailto:sage [2007/12/30(日) 00:27:19 ]
- >>587
Reading Gaucheなんてのをやってるな ttp://wiki.monaos.org/pukiwiki.php?Reading%20Gauche
- 590 名前:デフォルトの名無しさん mailto:sage [2007/12/30(日) 00:29:24 ]
- Scheme は R6RS が好きになれん...
- 591 名前:566 mailto:sage [2007/12/30(日) 00:45:12 ]
- >>582
qsortが単独で切り出されてC言語でいう関数ポインタみたいなものとして 扱われないという事実をどう解釈するかということでしょうか? 確認実験をしてみました。 inc n = n + 1 add a b = a + b inc 2 + inc 5 → 9 (+がincより低い) add inc 2 inc 5 → エラー (addとincが同列のため) add (inc 2) (inc 5) → 9 (明示的に差をつける) もし++が同列なら以下の記述を強制されそうですね。 (qsort elts_lt_x) ++ [x] ++ (qsort elts_greq_x) 括弧なしのポーランド表記とは違うのだと理解しました。 >>583 はい、しょっぱなのクイックソートからつまずきました。 実はHaskellの前に英語の本を買ってF#をやっていたんですが、 C#とパラダイムが違うという実感が湧きませんでした。 C# 3.0でラムダ式を使えばF#いらないなー、みたいな。 そんなとき、Haskellのレイアウトが美しいと気付いたんです。
- 592 名前:デフォルトの名無しさん mailto:sage [2007/12/30(日) 00:53:15 ]
- 関数型を使うならcurryingとmonadぐらいは理解してないと使いこなせないんじゃないかな。
- 593 名前:デフォルトの名無しさん mailto:sage [2007/12/30(日) 01:02:58 ]
- 式が二つ並んでいたら関数適用になるってことはわかってるかな
C っぽく書くと inc 2 + inc 5 → +(inc(2))(inc(5)) add inc 2 inc 5 → add(inc)(2)(inc)(5) add (inc 2) (inc 5) → add(inc(2))(inc(5))
- 594 名前:デフォルトの名無しさん mailto:sage [2007/12/30(日) 01:38:25 ]
- >>591
あなた、一度でもリファレンスに目を通しましたか? 最初から最後まで一読してから、わからないことがあれば質問してください。
- 595 名前:デフォルトの名無しさん mailto:sage [2007/12/30(日) 01:39:04 ]
- 幸運なことに、リファレンスは日本語化されています。
- 596 名前:566 mailto:sage [2007/12/30(日) 01:41:46 ]
- お騒がせしてすみません。
自分にHaskellは無理のようです。 色々と教えていただいてありがとうございました。
- 597 名前:デフォルトの名無しさん mailto:sage [2007/12/30(日) 01:48:44 ]
- アンチを増やしてどうするw
- 598 名前:デフォルトの名無しさん mailto:sage [2007/12/30(日) 01:51:30 ]
- この程度で挫折するようなカスのことなぞ知らん
- 599 名前:デフォルトの名無しさん mailto:sage [2007/12/30(日) 01:52:27 ]
- rubyコミュの二の舞はごめんだからな。
- 600 名前:デフォルトの名無しさん mailto:sage [2007/12/30(日) 02:05:39 ]
- Haskellユーザが増える→Haskellコミュの質低下→Haskellユーザ全体の技術力低下→オブジェクト指向化→Haskellはオブジェクト指向と親和性が低い→Haskellはダメ言語→Haskellコミュ衰退→乙
- 601 名前:デフォルトの名無しさん mailto:sage [2007/12/30(日) 02:07:20 ]
- Haskell衰退の他のシミュレーションよろ
- 602 名前:デフォルトの名無しさん mailto:sage [2007/12/30(日) 02:10:02 ]
- >>601
お前566だろ? さっそく門前払いを逆恨みか
- 603 名前:デフォルトの名無しさん mailto:sage [2007/12/30(日) 02:15:32 ]
- >>600
オブジェクト指向化したのがConcurrent Cleanじゃね?
- 604 名前:デフォルトの名無しさん mailto:sage [2007/12/30(日) 02:24:04 ]
- 関数型初心者はカリー化・モナド・遅延処理ぐらいまで理解してから始めてホスイ。
Cみたいなeager evaluationとHaskellみたいなLazy evaluationでは違うのだよ。
- 605 名前:デフォルトの名無しさん mailto:sage [2007/12/30(日) 02:24:39 ]
- >>603
それは勘違い
- 606 名前:デフォルトの名無しさん mailto:sage [2007/12/30(日) 02:24:46 ]
- >>603
いやOZだ。
- 607 名前:デフォルトの名無しさん mailto:sage [2007/12/30(日) 02:33:52 ]
- 急にスレが伸びてると思ったら基地外が暴れてたのか
- 608 名前:デフォルトの名無しさん mailto:sage [2007/12/30(日) 02:52:45 ]
- 冬だな
- 609 名前:デフォルトの名無しさん mailto:sage [2007/12/30(日) 09:30:40 ]
- スレタイどおりの糞オナニー言語ですな
- 610 名前:デフォルトの名無しさん mailto:sage [2007/12/30(日) 10:47:28 ]
- rubyは原理主義者がウザい
- 611 名前:デフォルトの名無しさん mailto:sage [2007/12/30(日) 12:03:29 ]
- >>610
原理主義って・・・もともとrubyは学者でもない一プログラマが実用主義の下に作った言語だろ? rubyの原理主義とはなんだ?
- 612 名前:デフォルトの名無しさん mailto:sage [2007/12/30(日) 12:04:34 ]
- 自分の胸に手を当ててみ
- 613 名前:デフォルトの名無しさん mailto:sage [2007/12/30(日) 12:05:09 ]
- 貧乳がありました
- 614 名前:デフォルトの名無しさん mailto:sage [2007/12/30(日) 12:06:55 ]
- ツルペタょぅι゛ょキタ━━━━(゚∀゚)━━━━!!!!
- 615 名前:デフォルトの名無しさん mailto:sage [2007/12/30(日) 17:00:47 ]
- >>585
>「副作用も何のその。非正格性なんて、速度を犠牲にしてまで要らないよ。 >主題はメタランゲージなんだから、関数型言語なんてレッテルを貼らないでおくれ。」 非正格性=non-Strictness=Lazyness わざわざ非正格性なんて判りにくい言い方をするのモナーw
- 616 名前:デフォルトの名無しさん mailto:sage [2007/12/30(日) 17:06:28 ]
- 専門用語使うのがかっこいいと思ってる初心者さんなので許してあげてください。
- 617 名前:デフォルトの名無しさん mailto:sage [2007/12/30(日) 17:15:22 ]
- 「正格性」の反対語なんだぜ!って感を表現したかったんじゃないの
怠惰性とか遅延性って表現はなんか違和感が
- 618 名前:デフォルトの名無しさん mailto:sage [2007/12/30(日) 17:26:53 ]
- そんなどうでも良い所を突っ込まれるとは思わなかった…
- 619 名前:デフォルトの名無しさん mailto:sage [2007/12/30(日) 17:27:19 ]
- 電子工学から入った俺にしてみれば、副作用なしの関数の方がはるかに直感的だったよ。
習い始めのころでもC言語は別に難しくはなかったが、新しいことを学ぶ気持ちだった。 関数型言語で初めて今まで培った勘が役に立った感じがする。 本来のオブジェクトって言ったら抵抗とかコンデンサとかみたいに副作用がないもののはずなんだがなぁ。 なんでオブジェクト指向って言葉が根付いたのが手続き型言語の世界なんだろう。 いや、歴史的経緯は知ってるけど、納得できない。
- 620 名前:デフォルトの名無しさん mailto:sage [2007/12/30(日) 17:39:19 ]
- >>618
研究者の端くれなら尚更判りやすい表現を心がけるべきかと
|

|