1 名前:デフォルトの名無しさん mailto:sage [05/01/29 16:18:12 ] ほんとプログラマにとってはMacって 本当に興味が無いOSだよねw Macでの標準的な言語であるObjective Cのスレすら無いし。 過去にはあったんだろうけど。
702 名前:デフォルトの名無しさん mailto:sage [2006/09/21(木) 04:45:07 ] OBJECT-ORIENTED PROGRAMMING AND THE OBJECTIVE-C LANGUAGE あるいは developer.apple.com/documentation/Cocoa/Conceptual/ObjectiveC/index.html の The Language > How Messaging Works
703 名前:デフォルトの名無しさん mailto:sage [2006/09/21(木) 04:48:24 ] >>702 丁寧な回答ありがとうございます。やはりAppleのDeveloper Connectionのページでしたね。 早速読んで勉強します。ありがとうございましたm(__)m
704 名前:デフォルトの名無しさん mailto:sage [2006/09/21(木) 08:17:21 ] >クラスメソッド内でのselfはクラスオブジェクトを指す Rubyでも同じですね。 smalltalk的で動的、というのがRubyと相性良い理由なのかな。
705 名前:デフォルトの名無しさん mailto:sage [2006/09/21(木) 10:02:59 ] >>701 > 自分の勉強不足である可能性がかなり高い どうして、まっさきに、その可能性を疑わない?! オマエは mkino か?
706 名前:デフォルトの名無しさん mailto:sage [2006/09/21(木) 13:01:23 ] 普通のCocoaプログラマなら誰でも知ってることをmkino氏が知らないわけないだろ。 メタクラスとかよく分からない俺でも、Obj-Cのクラスはオブジェクトであって、 NSObjectのインスタンスメソッドをクラスオブジェクトに対して呼べるくらいは知ってるぞ。
707 名前:デフォルトの名無しさん [2006/09/21(木) 17:07:41 ] rubyCocoaってWindowsの世界で言うVBAというかCOMというか マクロ(スクリプト?)みたいな使い方が出来るようになるの?
708 名前:デフォルトの名無しさん mailto:sage [2006/09/21(木) 17:23:33 ] WinのVBAとかCOMに相当するものはOSAだと思うんだが。
709 名前:デフォルトの名無しさん mailto:sage [2006/09/22(金) 00:07:42 ] >>706 >NSObjectのインスタンスメソッドをクラスオブジェクトに対して呼べるくらいは知ってるぞ。 NSObjectクラスの-classメソッドなんかはそのいい例だね。
710 名前:デフォルトの名無しさん mailto:sage [2006/09/22(金) 13:20:08 ] あのぉ、ちょっとよろしいでしょうか? [[NSObject new] class]; が NSObject なのは分かるのですが、 [NSObject class]; が NSObject になるのはなぜですか? NSObject のクラスメソッドはどこに定義されているのでしょう。
711 名前:デフォルトの名無しさん mailto:sage [2006/09/22(金) 13:25:52 ] >>710 定義はどこって。。。 とりあえず宣言は Foundation/NSObject.h にあるけど。 >790を見なかったことにすれば全く問題ないね。
712 名前:デフォルトの名無しさん mailto:sage [2006/09/22(金) 13:31:19 ] >>790 に期待
713 名前:デフォルトの名無しさん mailto:sage [2006/09/22(金) 13:42:15 ] >>710 ここ読むと分かるかも。 journal.mycom.co.jp/column/objc/016/
714 名前:デフォルトの名無しさん mailto:sage [2006/09/22(金) 13:50:35 ] ようし、お前らがその気ならこっちは ProceduralSmalltalkだ
715 名前:710 mailto:sage [2006/09/22(金) 15:37:11 ] >>713 ありがとうございます。すべての謎が解けました。 Objective-C のメタクラスはオブジェクトではないのですね。
716 名前:デフォルトの名無しさん mailto:sage [2006/09/24(日) 21:10:17 ] 今までGUIプログラミングはCocoaしかやったことないんですが、 Cocoaプログラマが一番取っ付きやすいWindows のAPIってなんでしょうかね。
717 名前:デフォルトの名無しさん [2006/09/24(日) 21:52:07 ] VB
718 名前:・∀・)っ-○◎●新世紀ダンゴリオン ◆DanGorION6 mailto:sage [2006/09/24(日) 22:11:28 ] Visual C# 2005はタダだから使ってみるといいかも
719 名前:デフォルトの名無しさん mailto:sage [2006/09/25(月) 03:25:50 ] ↓無料だよ。 www.turboexplorer.com/jp/cpp
720 名前:デフォルトの名無しさん mailto:sage [2006/09/25(月) 19:12:06 ] >>716 GNUstep www.gnustep.org
721 名前:デフォルトの名無しさん mailto:sage [2006/09/25(月) 22:23:36 ] GNUstepってOSXで使える?
722 名前:デフォルトの名無しさん mailto:sage [2006/09/26(火) 06:44:45 ] もちろん
723 名前:デフォルトの名無しさん mailto:sage [2006/09/26(火) 10:49:05 ] しかしOSXでGNUStep使う意味があるのだろうか…?
724 名前:デフォルトの名無しさん mailto:sage [2006/09/26(火) 11:08:22 ] >>716 WebObjects .NET Framework
725 名前:デフォルトの名無しさん mailto:sage [2006/09/26(火) 18:53:33 ] >>723 クロスプラットフォームなソフトをObjective-Cで書きたいとか。
726 名前:デフォルトの名無しさん mailto:sage [2006/09/26(火) 19:04:08 ] >>723 古いバージョンのOSXで新しいAPIを使いたいとか。
727 名前:デフォルトの名無しさん mailto:sage [2006/09/27(水) 09:52:43 ] >>726 そんなに新しいAPI実装されてるの?
728 名前:デフォルトの名無しさん [2006/09/27(水) 15:36:01 ] メモリリークについての質問です。 Xcodeで新規プロジェクトとしてCocoa Applicationを作成→ビルド→ パフォーマンスツールを使用して起動からMallocDebugを選択→MallocDebugのLaunchボタン→ MallocDebugのポップアップからLeaksを選択(この時点でリークはなし)→ Cocoa Applicationのウィンドウをクリックするなりしてアクティブにする→ MallocDebugのUpdateボタンを押す→「40 bytes in 1 node」のリーク発生 さらにCocoa Applicationをアクティブにするたびにリークが増えていくのですが、 これって気にしなくてもいいんでしょうか? ちなみにターミナルからexport MallocStackLogging=YESした後、openで起動して leaksで確認したところ、やはりリークが起こっているようです。
729 名前:728 [2006/09/27(水) 15:41:02 ] 書き忘れましたが、 OSX 10.4.7 G4 Xcode 2.4 の環境です。
730 名前:デフォルトの名無しさん [2006/09/28(木) 11:05:31 ] OCUnitでUnitTestをしているのですが、 「オブジェクトがdealloc済であることをチェックする」にはどうしたら良いでしょうか? dealloc 済のオブジェクトなので、何かメッセージを送ると落ちてしまいますし、 かといって、nil になっているわけでもないので、STAssertNil によるチェックも できません。
731 名前:デフォルトの名無しさん [2006/09/29(金) 00:28:56 ] >>728 自分も試しに、以前作った自作CocoaアプリのMalloc Debugやってみたら、 ウィンドウアクティブにするたびにリークが増えてくorz 一番最初はノーリーク。一回ウィンドウをアクティブにして、Updateすると、 40 bytes in 1 nodeのリーク。 症状全く同じだわ。 もしかして、アクティブにするたびに40bytesずつ増えてったりしない?? 40 bytes in 1 node 80 bytes in 2 nodes 120 bytes in 3 nodes 160 bytes in 4 nodes みたいに… どなたかご存知の方いましたら、ご教示お願いします。
732 名前:731 [2006/09/29(金) 01:33:14 ] まさかと思い、Apple純正のCocoaアプリ「計算機」でMallocDebug やってみたら、なんと同じリークが…。ウィンドウアクティブにする たびにリークが同じく40bytesずつ増えてく。 これって仕様なの??それとも他の理由が?? 気にしなくていいということですかね? もし本当にリークしてるなら、ウィンドウをアクティブにするのは 極力控えた方がいいってことなのかな〜(^^;)
733 名前:・∀・)っ-○◎●新世紀ダンゴリオン ◆DanGorION6 mailto:sage [2006/09/29(金) 02:04:09 ] どう見てもココアのバグです。本当にありがとうございました。
734 名前:731 [2006/09/29(金) 02:46:52 ] >>733 やっぱそうなんですかね。 Appleは自分のCocoaアプリをMallocDebugにかけてないとは思えないですが…。 本当にCocoaのバグなら残念です。
735 名前:デフォルトの名無しさん mailto:sage [2006/09/29(金) 04:27:46 ] 設計が古いからしょうがないですね。.NETなら原理的にありませんよ
736 名前:728 [2006/09/29(金) 09:45:54 ] Safariをleaksで確認してて気がついたんだけど、リークしてるメモリの内容が... 英字入力状態: Leak: 0x0581ad70 size=48 instance of 'NSCFString' 0xa07b9674 0x0001078c 0x1b636f6d 0x2e617070 .{.t.....com.app 0x6c652e69 0x6e707574 0x6d657468 0x6f642e52 le.inputmethod.R 0x6f6d616e 0x00000000 0x00000000 0x00000003 oman............ ひらがな入力状態: Leak: 0x004a8d30 size=48 instance of 'NSCFString' 0xa07b9674 0x0001078c 0x1e636f6d 0x2e617070 .{.t.....com.app 0x6c652e69 0x6e707574 0x6d657468 0x6f642e4a le.inputmethod.J 0x6170616e 0x65736500 0x00000000 0x00000003 apanese......... カタカナ入力状態: Leak: 0x0584e340 size=64 instance of 'NSCFString' 0xa07b9674 0x0001078c 0x27636f6d 0x2e617070 .{.t....'com.app 0x6c652e69 0x6e707574 0x6d657468 0x6f642e4a le.inputmethod.J 0x6170616e 0x6573652e 0x4b617461 0x6b616e61 apanese.Katakana 0x00610076 0x006f0072 0x0076006f 0x00726525 .a.v.o.r.v.o.re% 全角英字入力状態: Leak: 0x0574b260 size=64 instance of 'NSCFString' 0xa07b9674 0x0001078c 0x2d636f6d 0x2e617070 .{.t....-com.app 0x6c652e69 0x6e707574 0x6d657468 0x6f642e4a le.inputmethod.J 0x6170616e 0x6573652e 0x46756c6c 0x57696474 apanese.FullWidt 0x68526f6d 0x616e0072 0x00660061 0x0075006c hRoman.r.f.a.u.l 英字とひらがなの場合はウィンドウをアクティブにするたびにリークが増えますが、 カタカナと全角英字は増えません。やっぱinputmethodのバグですかね。
737 名前:デフォルトの名無しさん mailto:sage [2006/09/29(金) 10:23:37 ] >>735 Objective-C 2.0でガベージコレクションが導入されたら、 Cocoaも原理上リークがなくなるはずだ。
738 名前:728 [2006/09/29(金) 10:24:14 ] とりあえずバグレポート提出してきたです。下手な英語で書いたけど、 どこか日本語で受け付けてくれるところはないんでしょうかね。
739 名前:731 mailto:sage [2006/09/29(金) 10:36:08 ] >>738 おぉ、助かります!!早く解決されることを祈るばかりです。 できれば、Cocoaのバグではなくて、MallocDebugのバグであってほしいです。
740 名前:デフォルトの名無しさん mailto:sage [2006/09/29(金) 21:16:08 ] >>730 とりあえず思いついた方法 ・ひとつ余分なretainをして、retainCount == 1となることを検証 ・MallocScribble環境変数を設定して、idのサイズ分0x55になっていることを検証
741 名前:デフォルトの名無しさん mailto:sage [2006/09/29(金) 21:20:21 ] >>740 そもそもretainできない件
742 名前:デフォルトの名無しさん mailto:sage [2006/09/29(金) 21:31:30 ] -dealloc の中で「dealloc されました」って通知すればいいんでないの
743 名前:デフォルトの名無しさん mailto:sage [2006/09/29(金) 22:00:28 ] >>742 確かに。自作クラスだったら-deallocをオーバーライドして通知のためのコード 入れればいいもんね。
744 名前:デフォルトの名無しさん mailto:sage [2006/10/03(火) 22:26:27 ] Java出身ですが、objcに興味津々 てかcocoaとかのライブラリーに興味あり 今とりあえずCを勉強中。preprocessorってコード読みにくい。。。 で、Cをひとまず覚えたらobjcの本とかPDFとか何を読むのがおすすめですか? 英語でかまいません。むしろ英語がよい。
745 名前:デフォルトの名無しさん mailto:sage [2006/10/03(火) 22:45:17 ] Apple のサイトに一杯あります。 あと、Cをそんなに勉強する必要はないと思う。 developer.apple.com/documentation/Cocoa/ から好きなだけ読め。 言語自体は developer.apple.com/documentation/Cocoa/Conceptual/ObjectiveC/ それをさっと眺めたら developer.apple.com/documentation/Cocoa/Conceptual/ObjCTutorial/ で実際にappをかいてみて、そのあと developer.apple.com/documentation/Cocoa/Conceptual/CocoaFundamentals/ で基本を学ぶのがいいと思う
746 名前:デフォルトの名無しさん mailto:sage [2006/10/03(火) 22:54:10 ] >>744 自作のCでやるクラス・ライブラリーは完成したんですか?
747 名前:デフォルトの名無しさん mailto:sage [2006/10/04(水) 01:17:36 ] >>746 すいません。よくわかりません。 >>745 サンクスです。本とかよりappleのpdfで十分ってことですね。 とりあえずcは基礎だけは勉強しておこうと思ってます。 structすらまだ学んでないので。。。
748 名前:744 mailto:sage [2006/10/04(水) 01:31:01 ] cocoaのこの辺りがいけてるとか、充実してるとかってありますか? CやJavaに比べて ぱっとみCoreAudio, CoreImageは凄そうと思いました
749 名前:デフォルトの名無しさん [2006/10/04(水) 02:39:43 ] Cocoaっつーか、IBが面白い。
750 名前:デフォルトの名無しさん mailto:sage [2006/10/04(水) 09:28:13 ] Objective-C のいいところは、C++/Java とちがって 非常にダイナミックなところでしょう。 binding 多用しだすともう殆どスクリプト言語状態だと思います。
751 名前:745 mailto:sage [2006/10/04(水) 09:30:31 ] >サンクスです。本とかよりappleのpdfで十分ってことですね。 充分かどうかは... 本もいいのがいろいろあるよ。 ヒレガスとか。 www.cocoadev.com/index.pl?CocoaBooks に書評があるのでみてみてね。
752 名前:デフォルトの名無しさん mailto:sage [2006/10/04(水) 20:57:38 ] >>751 ひれがす?
753 名前:デフォルトの名無しさん mailto:sage [2006/10/05(木) 06:36:37 ] >>744 はCocoaとObjective-Cを混同している予感
754 名前:デフォルトの名無しさん mailto:sage [2006/10/05(木) 08:20:41 ] 混同してるようには見えんが
755 名前:744 [2006/10/05(木) 12:38:03 ] >>753 Cocoaはobjcのライブラリーでしょ? >>751 ありがとうございます。参考にします。
756 名前:・∀・)っ-○◎●新世紀ダンゴリオン ◆DanGorION6 mailto:sage [2006/10/06(金) 06:37:45 ] Obj-C自体実質MacOS X専用言語だからなー
757 名前:デフォルトの名無しさん mailto:sage [2006/10/06(金) 11:40:45 ] はつみみです
758 名前:デフォルトの名無しさん mailto:sage [2006/10/06(金) 14:38:05 ] はなしし?
759 名前:デフォルトの名無しさん mailto:sage [2006/10/06(金) 15:35:07 ] Mr.ダンゴリオン・・・あなたは一体何者なんですか?
760 名前:デフォルトの名無しさん mailto:sage [2006/10/06(金) 15:37:17 ] お団子ちゃんの退化系
761 名前:デフォルトの名無しさん mailto:sage [2006/10/06(金) 15:46:14 ] ウソップとそげキングみたいなものでつか?
762 名前:デフォルトの名無しさん mailto:sage [2006/10/07(土) 00:37:38 ] ってか Mac 以外の環境で Objective-C 触ってる物好きなヤツっているの??
763 名前:デフォルトの名無しさん mailto:sage [2006/10/07(土) 00:39:14 ] いまだにOpenStep使ってる椰子とか
764 名前:デフォルトの名無しさん mailto:sage [2006/10/07(土) 01:16:13 ] 白豚さんとか
765 名前:デフォルトの名無しさん mailto:sage [2006/10/07(土) 01:52:05 ] GNUstepではだめ?Windows環境で学びたいんだが... つーわけで、とりあえずcygwinでApacheモジュール作ってみた
766 名前:デフォルトの名無しさん mailto:sage [2006/10/09(月) 10:18:53 ] Objective-Cのソースコード整形ツールってあるん? 人から渡されたコード読んでるけど汚くってかなわん。 両刀使いだからWinでもMac用でもかまへん。
767 名前:デフォルトの名無しさん mailto:sage [2006/10/09(月) 13:11:40 ] ObjC 2.0でますますCocoa専用言語な印象が強まったんですが。
768 名前:デフォルトの名無しさん mailto:sage [2006/10/09(月) 21:41:54 ] GNUstepの中の人たちが頑張ってくれるだろう。 もしくは中の人になれ。
769 名前:デフォルトの名無しさん [2006/10/10(火) 01:00:55 ] >>766 汚いソースの例が見たい
770 名前:デフォルトの名無しさん mailto:sage [2006/10/10(火) 01:53:17 ] WinとMacで両刀使いか ならばMonaも使ってると三所責めだな
771 名前:デフォルトの名無しさん mailto:sage [2006/10/14(土) 20:42:55 ] ObjCをコンパイルできる無料のコンパイラってgcc以外にある?
772 名前:デフォルトの名無しさん mailto:sage [2006/10/15(日) 00:09:03 ] POC 使えば、原理的にはどんな C Compiler でもコンパイル出来るはず。 users.pandora.be/stes/compiler.html
773 名前:デフォルトの名無しさん mailto:sage [2006/10/15(日) 13:31:16 ] >>772 ちょっくら読んでみたけど、これってObjc -> Cに変換するプリプロセッサ?
774 名前:デフォルトの名無しさん mailto:sage [2006/10/15(日) 14:08:58 ] うn、中々面白いよ、でも癖があったりするからちょっと困る
775 名前:デフォルトの名無しさん mailto:sage [2006/10/16(月) 22:38:16 ] macでプログラミングをしてみたいのです mac関連のプログラミング本はほとんどObjCで書かれていますが この板ではObjCはあまり人気がないように見えます。 みなさんはぶっちゃけどの言語をお勧めしますか
776 名前:デフォルトの名無しさん mailto:sage [2006/10/16(月) 22:44:33 ] ぶっちゃけObj-C
777 名前:デフォルトの名無しさん mailto:sage [2006/10/16(月) 23:21:46 ] ObjCスレで聞いてObjC以外の答えが返ってくると思うのかい?
778 名前:デフォルトの名無しさん [2006/10/17(火) 00:30:34 ] Obj-C最高! とまで言わないがかなりイイ!
779 名前:デフォルトの名無しさん mailto:sage [2006/10/17(火) 06:51:47 ] Macでのプログラミングの話題は新Mac板の方が活発。
780 名前:デフォルトの名無しさん [2006/10/17(火) 10:12:35 ] >>777 このスレできいて、違う言語があがればそれこそObjCを見限ろうと 思ってました
781 名前:デフォルトの名無しさん [2006/10/17(火) 10:40:03 ] う〜ん、言語の善し悪しというよりはライブラリの善し悪し、そのライブラリを使うためのObjC、かなぁ? Cは好きだけどCarbon onlyで書こうとは思わんし、Cocoa-javaも付け焼き刃の印象しかない WebObjectsみたいに気合いが入ってなさそうだし>>Cocoa-Java
782 名前:デフォルトの名無しさん mailto:sage [2006/10/17(火) 11:41:21 ] 見限るとか見限らないとか、そんな大層な問題じゃないような… 気になったら遊んでみればいいし、飽きたら忘れれば良い
783 名前:デフォルトの名無しさん mailto:sage [2006/10/17(火) 13:23:53 ] というか ObjC は C とオブジェクト指向を知ってたら文法は屁でもない。 C++ 知ってたらとりあえず一日でだいたい使えるようになる。 Cocoa の API をつかむのは案外時間いるかもだけれども。
784 名前:デフォルトの名無しさん mailto:sage [2006/10/17(火) 13:38:36 ] ObjC→C++はどうでつか?
785 名前:デフォルトの名無しさん mailto:sage [2006/10/17(火) 14:40:34 ] C++ はとんでもない機能が沢山あるので、そこまでやりたければじかんがかかるでせう
786 名前:デフォルトの名無しさん mailto:sage [2006/10/17(火) 15:06:24 ] >>781 WebObjectsも気合いは入ってない
787 名前:デフォルトの名無しさん mailto:sage [2006/10/17(火) 15:53:38 ] ていうか Cocoa-Java はとうとう deprecate された
788 名前:デフォルトの名無しさん mailto:sage [2006/10/17(火) 17:31:08 ] もうだめぽ
789 名前:・∀・)っ-○◎●新世紀ダンゴリオン ◆DanGorION6 mailto:sage [2006/10/17(火) 18:31:34 ] Cocoa-Ruby まじでおすすめ
790 名前:-○◎○ mailto:sage [2006/10/17(火) 19:01:04 ] この道を行けばどうなるものか、危ぶむなかれ。 危ぶめば道はなし。踏み出せばその一足が道となる。 迷わず行けよ。行けばわかる ありがとう、ダンゴリオンさん Cocoa-Ruby でいってみます
791 名前:デフォルトの名無しさん mailto:sage [2006/10/17(火) 22:33:56 ] ちなみに RubyCocoa だと思ふ... あと、RubyCocoa は Objective-C+Cocoa をやってから やっぱスクリプトがいいや〜、と移行するものであって それではじめるものではないと思うけどどうでせう。 Obj-C 有る程度わかってないと Cocoa のドキュメント読めないでそ。
792 名前:デフォルトの名無しさん mailto:sage [2006/10/22(日) 13:58:29 ] Smalltalk、Objective-C、Ruby メッセージ指向なオブジェクト指向言語の方がCocoa向きだよね
793 名前:デフォルトの名無しさん [2006/10/22(日) 15:02:51 ] >>792 >メッセージ指向 なんだそれ?
794 名前:デフォルトの名無しさん mailto:sage [2006/10/22(日) 15:06:33 ] >>>792 Ruby は違うでしょ。単に動的なだけ。
795 名前:デフォルトの名無しさん mailto:sage [2006/10/22(日) 20:38:38 ] >>793 アラン・ケイのオブジェクト指向。メッセージングという考え方を表現や問題解決の中心に据える。 対して、C++、Eifflel、Java などが立脚しているのは「クラス指向」なビアルネ・ストラウストラップの オブジェクト指向。抽象データ型を(Simulaの)クラスという機能を用いて実現するという考え方。 >>792 ,794 Ruby のポリシーは、「いろんな言語のいいとこどり」なので、オブジェクト指向についても どっちつかず。
796 名前:・∀・)っ-○◎●新世紀ダンゴリオン ◆DanGorION6 mailto:sage [2006/10/22(日) 20:43:12 ] メッセージ指向っていえばWin32のウィンドウクラスの考え方がそうだ 汚いが。
797 名前:デフォルトの名無しさん mailto:sage [2006/10/23(月) 03:35:31 ] caseの化け物のことか
798 名前:デフォルトの名無しさん [2006/10/23(月) 07:08:43 ] >>795 解説アリガォ。 結局動的か静的かになるんだろうけど、どちらもオブジェクト指向つーのは分かりづらいな。 オブジェクト指向メッセージ指向? オブジェクト指向クラス指向? 指向指向うるさいなw
799 名前:デフォルトの名無しさん mailto:sage [2006/10/23(月) 09:51:02 ] メッセージ指向とクラス指向って排他なの? あとクラス指向って本当にStroustrupがベースなの?
800 名前:デフォルトの名無しさん mailto:sage [2006/10/23(月) 21:03:11 ] >>798 ケイのオブジェクト指向、ストラウストラップのオブジェクト指向でおk 動的か静的か…のくくりだと語弊があるかも。 ケイは静的型チェックを否定しているわけじゃなく、ストレスなしに使える 静的型チェック機構の存在を知らない…と言っているだけだし。 >>799 排他ではない。けれど、前提となるもの、視点が違うから適所でうまく切り替えるべき。 たとえば、ストラウストラップの…は抽象データ型に軸足をおいているから、 クラスやオブジェクトの中身の設計や見せ方に重きを置くけれど、ケイの…は そういうことには頓着しない、とか。 別の例では、ストラウストラップの…は基本データ型との混在を許すが、ケイの…では論外、とか。 抽象データ型を SIMULA のクラスを使って…というアイデアは、ストラウストラップが C++ の前身である C with Classes で試したのが最初。メイヤーは、C++ にあれこれ いちゃもんを付けたり、ストラウストラップの主張を黙殺したりするけど、言っていることは ほぼ、ストラウストラップ+α(契約によるプログラミング)の類で、新機軸を打ち出しているわけではない。 まあ、ストラウストラップ自身は「クラス指向」という言葉を使っているわけではないので、 (彼は、「抽象データ型のスーパーセット」、「継承によるプログラミング」と称している) 799が疑問を呈しているその「クラス指向」がなにかにもよるけれど…。いずれにせよ、 よく言われる「カプセル化・継承・多態性」とかのオブジェクト指向は、ストラウストラップので、 ケイのじゃない。
801 名前:デフォルトの名無しさん mailto:sage [2006/10/24(火) 01:24:11 ] >>800 ん、そうだっけ? Smalltalk78の時点で継承という概念は導入されているし、メッセージを飛ばすSmalltalkはそもそも多態性だろう。 カプセル化については、オブジェクトを作るという行為そのものがカプセル化ではないのか。
802 名前:デフォルトの名無しさん mailto:sage [2006/10/24(火) 01:49:39 ] カプセル化はアクセス制御出来ないとダメなんじゃないの。 クラス指向とオブジェクト指向は、何を本質とするかであって、 単にマッピング出来るかどうかの問題じゃないんじゃないかな。