Objective-C

このエントリーをはてなブックマークに追加
1デフォルトの名無しさん
マイナーみたいだけど、結構いいと思います。
2デフォルトの名無しさん:2001/05/23(水) 08:47
スレの主旨を明確にしてくれ
3デフォルトの名無しさん:2001/05/23(水) 09:22
カテゴリって意味がよくわかんないんですけど、どういったもの
なんですか?
プロトコルはjavaのinterfaceってことで納得したんですけど、
カテゴリはjavaのinner classに相当するって言われてもイマイチ
ピンとこないんです。
4デフォルトの名無しさん:2001/05/23(水) 11:24
ProjectBuilderって
Windowsでいう所のどういうものなのですか?

O-C
って、言語的にどのような物と近いのですか?

おしえてクレクレ君です。ヨロツク
5Cocoaマンセー:2001/05/23(水) 12:27
Objective-C = C + Smalltalk
6デフォルトの名無しさん:2001/05/23(水) 14:16
今月号のCマガジンで紹介されてたのを読んだけど、
良さそうですね。
MAC OS-Xがちょっと欲しくなりました。
7デフォルトの名無しさん:2001/05/23(水) 14:46
gccのObjective-C対応機能って、まだ残っているんでしょうか?
随分昔に見たときには「ほぉこんなものも対応してるのか」って思ったけど、今は?
8デフォルトの名無しさん:2001/05/23(水) 16:45
Windowsのまともな開発環境ってある?
9デフォルトの名無しさん:2001/05/23(水) 17:04
なにいってんだ?>>8
煽り?
10デフォルトの名無しさん:2001/05/23(水) 18:53
>>9
Windows用のObjective-Cの開発環境を訊いてるんだろ?
11デフォルトの名無しさん:2001/05/23(水) 22:13
たんなるDelドキュとして。知識はCマガだけ(w

>>4
>ProjectBuilderって
>Windowsでいう所のどういうものなのですか?

少なくともDelよりは少し(以上)は賢いような気がする。
DelってMVCとか(のサポートが)が弱いから…。

あとMだのVだのの部品の間を線でピっと「繋ぐ」ことが
できるそうなので、それも(そういうのが無いDelより)
美味しいと思われ。

>O-C
>って、言語的にどのような物と近いのですか?

OOPの動的度で言えば
C++ << Java < Del << O-C << Ruby
ってとこか。

Class(というかInterfaceってのか?)の定義は
コンパイル時にがっちりやるみたいだけど、
それを変数の型に反映させないみたいだね。
変数について言えば型なし言語…かな。
12デフォルトの名無しさん:2001/05/23(水) 23:13
参考書少ないよね。
親言語のsmalltalkより少ない。
13デフォルトの名無しさん:2001/05/24(木) 00:30
確かに参考書すくないですね。。。
でもできればC++を殲滅させるほどの地位を占めてもらいたい(ワラ
14デフォルトの名無しさん:2001/05/24(木) 00:42
フリーで入手可能なのって、
gnu-objective-cやトランスレーターぐらい?
15デフォルトの名無しさん:2001/05/24(木) 02:18
C++ << Java < Del << O-C << Ruby
JavaとDelあたりの順位がDelドキュとしての所以か、、、
16デフォルトの名無しさん:2001/05/24(木) 03:25
<< Ruby
遺憾の意を表明
17デフォルトの名無しさん:2001/05/24(木) 15:55
>>11
ほんとか?
おれもDelドキュだけど。

CoCoaヤハ-゚リのページみてるんだよね。

見た目にだまされちゃいかんぞ。
JAVAStudioっていう線でピピッな
ヨゴレSun純正ツールもあるでよ。(滅びたけど。)

ProjectBuilderは
GUIでインスタンスを作れるとかきいたけど
TCompornentレベルの事ではないかな?

ちなみにOOP度で
MVCなどにこだわらなくてよしだと思われ。

言語としてどれに近いというのは余り興味なし。
開発ツールとしてどれに近いのかな?
18デフォルトの名無しさん:2001/05/24(木) 16:01
>ちなみにOOP度で
>MVCなどにこだわらなくてよしだと思われ。

下手な文になっちまった。
OOP度を測る時にMVC度などにこだわらなくてヨシ
って事を書きたかったのです。
あんなもん、自然に身につく

知識がCマガだから、よっているのか。
エピステーメ氏辺りの影響かな。

OOP度は、Del<<JAVAだとは思う
でも、
実際実用にならないからJAVA要んない。
破棄を全部GCに任せる仕様は絶対おかしいって。
1911:2001/05/24(木) 22:25
>>18 とか。なんか勘違いされちゃったけど、

>OOP度は、Del<<JAVAだとは思う

違う違う。おらが言ったのはOOPの動的度だ。
メタクラスあるか?とか、クラスを実行時に作れるか?とか、
作れないにしても…云々…って奴。

メタクラスもどき(超サブセット)があるDelと
ぎりぎりで無いJavaとでは、ちょびっとだけDelが動的。
20デフォルトの名無しさん:2001/05/24(木) 22:31
>>17
>JAVAStudioっていう線でピピッな
>ヨゴレSun純正ツールもあるでよ。(滅びたけど。)

DelのIDEとPBを比べたら、という話っすぅ。

>ProjectBuilderは
>GUIでインスタンスを作れるとかきいたけど
>TCompornentレベルの事ではないかな?

俺もその線だと思う。
ほかにやりようが無いような気がする。原理的に。

>>18
>OOP度を測る時にMVC度などにこだわらなくてヨシ

違う違う。MVCをサポートしたPBつー話。
言語(のOOP度やOOP動的度)の話じゃなくて。
まーDelでもコンポやなんか自作してそれっぽいものを作ることは
可能だろうけど、デフォ状態についてとりあえずの話。

前半と後半は結構別のことを言ってるんよ>>11は。
まぎらーしくてすまん。
21デフォルトの名無しさん:2001/05/24(木) 23:16
Objective-Cの話をしない奴は帰れ!>>16-20
次レスから950までの発言には、
「Objective-C」という単語を必ず入れること!
22デフォルトの名無しさん:2001/05/24(木) 23:31
Objective-Cはス八゙ラシ丁!
23デフォルトの名無しさん:2001/05/24(木) 23:32
Objective-Cは数値計算につかってます。
C++では本質的なところ以外に気を取られるのがうっとうしい。
24デフォルトの名無しさん:2001/05/24(木) 23:42
Objective-C
名前ナガイ。ゴロ悪い。知名度ナシ。
何か反論は?
25デフォルトの名無しさん:2001/05/24(木) 23:45
Objective-C
やっぱクラスライブラリは巨大なの?
26デフォルトの名無しさん:2001/05/24(木) 23:52
>>24
Objective-C
略すとO-C?
カコ悪い
27デフォルトの名無しさん:2001/05/25(金) 00:10
C++でい〜じゃん。
あ、Objective-C
28デフォルトの名無しさん:2001/05/25(金) 00:11
(・∀・)Objective-C
29デフォルトの名無しさん:2001/05/25(金) 00:17
>>24
NeXT は大半が Objective-C でかかれていたが、
大半が C++ でかかれた OS は未だ存在しない。

Objective-C は「オブジェクト指向言語」だが、C++ はそうではない。

ビル・ゲイツは当初、NT のグラフィック部分を C++ で書かせたかったが、
グラフィック部分担当チームは開発できなかった。

何か反論は?
30デフォルトの名無しさん:2001/05/25(金) 00:19
>>26
カッコつけはLISPに逝ってね<w

Objective-C
31デフォルトの名無しさん:2001/05/25(金) 00:20
Objective-Cのおかげで身長が10cmちぢみました
32デフォルトの名無しさん:2001/05/25(金) 00:24
そうきたか(w>31
Objective-C
33デフォルトの名無しさん:2001/05/25(金) 00:28
>>29
ああNeXTはObjective-Cだったのか。さすがだ。
34デフォルトの名無しさん:2001/05/25(金) 00:57
Objective-Cのライブラリには
頭にNSがつくよね、NextStepザンス
35デフォルトの名無しさん:2001/05/25(金) 01:02
>>29
BeOSはC++じゃないの?
36デフォルトの名無しさん:2001/05/25(金) 01:03
言語名といい、NSといい、
なんかネーミングセンスが・・・>Objective-C
c-plusplusもゴロ悪いけど>24
37デフォルトの名無しさん:2001/05/25(金) 02:46
C+って読んであげるのはどう?
38デフォルトの名無しさん:2001/05/25(金) 03:34
>>29 Aperiosや EPOCなど、C++でかかれた OSはいっぱいあるよ..
そういう「こんなに使われてるよ」って土俵に持ち込むと、
負けるのは ObjectiveCだよ..
39デフォルトの名無しさん:2001/05/25(金) 03:59
C++b(しーぷらすぷらすふらっと)でどうよ?
40デフォルトの名無しさん:2001/05/25(金) 04:51
Objective-Cってよさげだけど、参考書もないし、
まわりで使ってる人いないから、よーわからん。
マジで使い物になる?
41デフォルトの名無しさん:2001/05/25(金) 19:47
++C
42デフォルトの名無しさん:2001/05/25(金) 19:53
>>38
ふ〜ん。聞いたことないけど、そなの。
これでまた一歩、ひとに近づいた...。 :-)
確かに Objective-C はユーザ人口(?)では C++ とおそらく比較にならんからね。
43デフォルトの名無しさん:2001/05/26(土) 02:53
Objective-C、図書館で1冊だけみつけた
(SmallTackは3冊ぐらい)
44デフォルトの名無しさん:2001/05/26(土) 03:47
>>42
>ユーザ人口
MS Objective-C が出なかったのが悪いと思われ。
標準規格がなくてベンダーごとに仕様が違ったとかは枝葉末節だ。
45デフォルトの名無しさん:2001/05/26(土) 04:58
>>44
OOPascalみたいね。あっちはDelphiのおかげで普及したけど。
名前カッコ悪いのは同意>Objective-C
46デフォルトの名無しさん:2001/05/26(土) 10:26
>>45
delphiはそれ以外のOOPascalとは別物なんで、
「おかげで普及」ってのとはちと違うと。

ObjectiveC
素直に名付けたらゴロが悪かったんね。
47デフォルトの名無しさん:2001/05/26(土) 11:29
OCBuilderとかあったらうれしかったかもしれん。
48デフォルトの名無しさん:2001/05/26(土) 12:18
いっそのことJAVAみたいなネーミングにしちまえばよかったのに。
やっぱ、Cを意識するのにひつようだったてことか。

なら、名前的にはC#でもよかったんだな。
49ヴァカマカー:2001/05/26(土) 12:21
オライリーからCocoa本出たage
50デフォルトの名無しさん:2001/05/26(土) 13:41
マぁック開発者のMLとかBBSとかある?
51デフォルトの名無しさん:2001/05/27(日) 00:14
>>50
あるけどここでURL出していいんかな?
とりあえずCocoaはやっぱり!のリンクから辿って行けるはず。

英語が読めるならAppleやOmniのがおすすめっぽい。
52Objective-Cは:2001/05/27(日) 01:41
大括弧がうざい。
53デフォルトの名無しさん:2001/05/27(日) 02:08
>>52
C#もね。
54デフォルトの名無しさん:2001/05/27(日) 02:12
>53
大括弧おおかったっけ?
55デフォルトの名無しさん:2001/05/27(日) 02:24
大カッコってコレ?>[]
((((((lispはカッコウザイけど、メリハリが無いのが一因かと。)))))))
56デフォルトの名無しさん:2001/05/27(日) 02:28
>55
>大カッコってコレ?>[]
そう。
57デフォルトの名無しさん:2001/05/27(日) 02:36
ウザイってほど使ってるの?>[]
真にウザイのは何も考えずに書いたlispのカッコだらけのコードだと思うけど。
(コレはCのネスト構造同じ様に、減らす努力はできる。)
58デフォルトの名無しさん:2001/05/27(日) 05:29
何だかCやC++では使わないからウザイと言っているように感じる。
59デフォルトの名無しさん:2001/05/27(日) 09:53
Objective-C : [クラス変数名 メンバ関数];
だったかな?
60デフォルトの名無しさん:2001/05/27(日) 12:19
ところでO-CでもC++みたいな「クラス変数」なんていう
危険な用語を使うんでしたっけ?
クラス変数なんて呼び方じゃ、まるでインスタンス変数とは別物みたい
なんだけど、なんかC++方面ってインスタンス(ないしはオブジェクト)
とクラスとの用語をごっちゃにするのが一般化してるよね。困る。

[インスタンス メッセージ名]
でしたっけ?>O-C

だから、C++なら
hoge.do1().do2().do3() と書くところを、O-Cは
[[[hoge do1] do2] do3] と書く…んだったよな…

まぁやや多いとは思うけど、泣くほど多くはないし、
カッコで囲うってことはエディタのカッコ対応チェック機能
(viの%コマンドとか)で範囲を調べるのが楽ってことだし。
61デフォルトの名無しさん:2001/05/27(日) 12:22
Cの文法の中にSmalltalk風の文法(つまりメッセージ送信)を
紛れこませたかったので、メッセージ送信構文を[]で囲って
"環境"を切り離したかったものと思われ。

Smalltalkの構文だと空白だの":"だのを使ってて
Cとはあまりに親和性無さ過ぎなので、
切り離したかった気持ちはわかる気がする。
62デフォルトの名無しさん:2001/05/29(火) 00:18
oc
63デフォルトの名無しさん:2001/05/29(火) 21:37
age
64デフォルトの名無しさん:2001/05/29(火) 22:31
だれかO-Cならではってコード書いてくれ。
65デフォルトの名無しさん:2001/05/31(木) 11:01
age
66デフォルトの名無しさん:2001/06/02(土) 13:48
>hoge.do1().do2().do3()
>[[[hoge do1] do2] do3]
引数がいるときは
hoge.do1(arg1).do2(arg2).do3(arg3)
[[[hoge do:arg1] do2:arg2] do3:arg3]
()と[]の数は同じ。
67デフォルトの名無しさん:2001/06/02(土) 18:42
問題なのは括弧の数じゃなくてネストの深さなんじゃ?>66
68デフォルトの名無しさん:2001/06/02(土) 23:28
うーん。どうなんでしょう?
ネストが深くなるのって即ち「問題」なんでしょうか?

悪い面はなんとなく直感的にわかる
(というか直感的に感じるソレそのものが欠点なわけだ)けど、
良い面もなにかあるような気がする。
69デフォルトの名無しさん:2001/06/02(土) 23:45
>>68
ネスト前提な言語(lispとか)はなにも考えないとどんどん深くなるよ。
一因は内部定義が書けるからだけど。
例えばこれ、見やすいと思う?
(当然これよりも長くて深くなるコードは沢山ある)
(define fib
  (lambda (n)
    ((lambda (fib-iter)
       (set! fib-iter
         (lambda (a b c)
           (if (= c 0)
             b
             (fib-iter
               (+ a b)
               a
               (- c 1)))))
       (fib-iter 1 0 n))
      ())))
7066です:2001/06/03(日) 06:36
[[[hoge do:arg1] do2:arg2] do3:arg3]
hoge do:arg1 do2:arg2 do3:arg3
Objective-Cの[]ってただ付いてるだけだと思います。
[]をとるとSmalltalkと同じ。
71デフォルトの名無しさん:2001/06/03(日) 10:38

BeOSって、c++でかかれているがために、コアの拡張において致命的な問題があって………
っていうのをどこかで読んだことがある。
詳しい情報しってる人URLきぼーん

Objecive-Cマンセー(´∀`)
72デフォルトの名無しさん:2001/06/04(月) 01:30
>>71
BeOSは知らないけど、C++でOSを書いたってことは、
どっかAPIが変化したらOS全体をフルビルト
し直さないとならないってことだよね(藁
しかもLinuxみたいなオプソなら
我慢してでも一応ビルドできるけど
そうじゃないOSだとメーカーがビルドしてくれるのを
ひたすら待つことになる。

MFCのCRuntimeClassとかいう奴(MFCスレで見た)みたいに
動的Classを扱えるように拡張しているならば
回避できる可能性があるけど。

Objective-Cはメタクラスが有るんでしたよね。
こういう場合に強み発揮するだろうな。
73デフォルトの名無しさん:2001/06/04(月) 18:27
>>72は、COMやCORBA等について勉強すること。
74デフォルトの名無しさん:2001/06/04(月) 19:19
>>72は、仮想メンバ関数について勉強すること。
>>73は、コンポーネント間通信のオーバヘッドについて勉強すること。
7572:2001/06/05(火) 14:25
Objective-C広まれage

>>73
CORBAとかは後付けっしょ。C++に「出来ない」ことを
ラップしている。C++自体の能力が拡張されるわけじゃない。

>>74
仮想関数の仕掛けでは、既に存在していて、かつ存在が
(RTTIとか使って検索しなくても)判っている、
というメンバしか呼べないが?
未知のクラスをOSに「登録(というのかなあ)」できるようにして
それのメソッド一覧とかを動的に取得したい(OSに取得させたい)
と思わないかぃ?
76デフォルトの名無しさん:2001/06/05(火) 21:22
メタクラスがあると再ビルドの必要無いんですか?>>72
77デフォルトの名無しさん:2001/06/05(火) 21:25
78デフォルトの名無しさん:2001/06/05(火) 21:37
>>76
メタクラスというよりRTTIだろうな。
それさえあれば極端な話、関数名の文字列を与えれば関数を起動できるんだぜ。
だから、ビルドなんか要らぬ。
79デフォルトの名無しさん:2001/06/05(火) 22:04
引数の型は?>78
Cのargc/argvみたいにするんですか?
80デフォルトの名無しさん:2001/06/05(火) 23:46
>>75
おれ、もしそういうことがしたいなら、文字列か数値リテラル
IDをもつ関数ポインタ(か、Commandパターンインターフェイス
実装クラス)でハッシュテーブルのSingletonクラス作っちまうが。

ローカル版簡易ネーミングサービスもどき。
81デフォルトの名無しさん:2001/06/05(火) 23:49
知ったかぶりの臭いが。
82デフォルトの名無しさん:2001/06/05(火) 23:51
文字列伝播ということは、型情報とかは失われるわけですか?>80
8378:2001/06/06(水) 00:14
>>82
いわゆるシリアライズでやっちゃえ。
そうすりゃ送り先でObjectに戻せるぞ。

で、シリアライズで寄越された奴が
未知のClassだったりしても大騒ぎせんで済むように
なってると吉だぞ。
未知の(OSがビルドされた時点では未知の)クラスでnewできるからね。
84デフォルトの名無しさん:2001/06/06(水) 00:35
うーむ未知のクラスをnewできるというのが判らない・・
型情報も文字列で持って置くってことでしょうか。
"class point {
offset type size name
0   int  4  x
4   int  4  y
}"
とか。
別に可視でなくてもいいか・・
85デフォルトの名無しさん:2001/06/06(水) 00:54
例えば、クラスオブジェクトを文字列から探し出して、そいつに、
clone()とか発行すれば、「知らないクラスをnew」できる。
あとは、言語仕様とかいって、この動作を隠蔽すればいい、
と思うがどうか。
86デフォルトの名無しさん:2001/06/06(水) 01:10
ええと一応補足。おれは
未知のクラス「で」newって書いたんだ。
未知のクラス「を」newじゃない。

いや、MetaClassにClass(というInstance(藁))を
newさせて新規Classを作ろう、という話なら
それでもいいんだけど。(なぜならその新規Classに
更にnewさせれば所謂普通のInstanceが得られるから)

>>85
まぁ乱暴にいえばそれ。
クラス「を」という言いまわしがが心配だが。

ちなみにdelは卑怯だから、そういう意味での「ClassObject」を
持っていない。Class参照変数型は有るが、参照の先に
なにがあるのかは(ユーザーからは)知ることあたわず。
つまりClassObject「を」newする場面は無い。

function GetClass(const ClassName: string): TPersistentClass;
なんてのはあるようだ>del
ClassObjectはシングルトンになってるんだろうな。
newも起動時かどっかで勝手に行われているのだろう。
87デフォルトの名無しさん:2001/06/10(日) 02:12
age
88デフォルトの名無しさん:2001/06/27(水) 00:15
本が出てるぞage

MacOS X プログラミング入門
Objective-C
萩原剛志
89デフォルトの名無しさん:2001/06/29(金) 17:31
>>88
買う気は無かったのに、本屋逝って立ち読みしたら意外に良かったので
買ってしまったぞ。

zoneアゲ
90デフォルトの名無しさん:2001/06/30(土) 05:47
漏れも、地味によい本だと思ったage。
Macは興味ねーけどObjective-Cの本欲しいんで買った。
91名称未設定:2001/07/01(日) 22:34
>>88
新・Mac板の新・ProjectBuilderスレで紹介されていたので買ってしまいました。
現在、ババ抜きの部分を読んでる途中....
92デフォルトの名無しさん:2001/07/01(日) 23:51
>>90
>Macは興味ねーけど
泣けるね。

MAC使って開発してる人って、この板の何パーセントぐらいだろう。
93デフォルトの名無しさん:2001/07/02(月) 08:39
>泣けるね。

Macって、「見習いたい」面は多いとは思うんだが、
だからって自分でも買いたいか?というとそんなこたぁなくて、
なんというか読みたいけど立ち読みでいいやっていう感じ。

わざわざ単一実装であるハードとOSを
買いたいとは思わないな。
似たようなものを(別のもっとOPENなハードやOSの上に)
作ったり誰かに作ってもらったり(=立ち読み)はしたいと思うけど。
しかも、似たようなといっても「全体が」似てなきゃならんなんてことは
全然ないわけで、欲しい部分だけ似てりゃいい。
うざいと思う部分も多い(というか比べればそのほうが多い)し。

で、大昔、それを裁判のネタにしたわけよなAppleは。
そういやハードもちょっとOpenにしたあと急にCloseしたよな。
そういう姿勢、嫌い。

あの本にも書いてあるが、つまりはフツー(わら)の
Unixやwinの上で、gccをObjective-Cアリでmake
しなおしゃいいわけで。
変にMacまんせーな本じゃないんで安心して読めるよ。
94デフォルトの名無しさん:2001/07/08(日) 04:14
>>93
でもそれなりに面白いよ>macでのプログラム

仮想メモリが無い(あってもインチキっぽい)換わりにResourceMgrがあったり
ToolBoxの設計の基本部分は本物の天才連中がしたわけだし
MacAppのフレームワークは凄いと思うし
PowerPlantは面白いし
今度はNeXTだって言うんだから、なかなか興味深いモンがあるよ
95デフォルトの名無しさん:2001/07/08(日) 04:26
>>94
天才なのはQuickDrawの所だよね。昔のASCIIに詳しく乗ってた。
でもMacには標準出力も入力も無いんではっきり言って不満だった。
OSXはその点いいよね。まだOSとしてクソだけど。
96デフォルトの名無しさん:2001/07/08(日) 08:43
>>95
unix流の標準入出力は糞だろう。
ただし、それ(の代替手段)すらないなら、もっと糞だが。

Javaみたいな世界(言語そのものはどうでもよく、環境の話)が
今後は流行って欲しいなあ。
97デフォルトの名無しさん:2001/07/08(日) 23:18
で、話を戻そう(わら

CocoaってのはObjective-Cベースの「環境」だと思っていいわけ?
(単にUnixの上にObjecitveCアプリがぶらさがるだけじゃなくて、という意味)

いいのだとすると、そこにはJavaに匹敵するパワーが
少なくとも技術的には存在するはずだよね。
98名称未設定:2001/07/09(月) 00:09
>>97
通りすがりのものですが、
多分それでいいと思います。
Cocoaの部分はほとんどがOPENSTEPの資産を使って作っていますし、
OSXの開発環境としてのJavaはおまけとして後から付け加えたものですから。
99 :2001/07/10(火) 19:25
100デフォルトの名無しさん:2001/07/16(月) 20:06
>93

あの本の後半はMacOS X の為だけのものじゃないの?
gccについて書いてあるところでも「この本のソースはほかの環境では
動かない」ってかいてあるし。
Win32+cygwinとかだと参考にならんでしょ。
Objective-Cは言語としては魅力的だけれど開発環境がとぼしくて
つかいものにならない。
あの本買うよりFreeの"Object-Oriented Programing and the Objective-C Language"
を読んで,gccで適当に趣味で使うのがいいんじゃない?
101デフォルトの名無しさん:2001/07/17(火) 00:31
>Win32+cygwinとかだと参考にならんでしょ

「そうか!こういうクラスの作り方もあったんだな」
という意味では、あれ参考になったよ。
AutoReleasePoolとかZoneとかも参考になった。
なんで今までこれが(自分の周囲に)無かったんだろう?って。

移植なんて大それたことをする気はないが、
幾つかのクラスは喜んでパクらせてもらおうかと。

あと、Mac世界について「安心」というと
もう1つ意味があるわけで…おっと(わら
102デフォルトの名無しさん:2001/07/27(金) 18:08
age
103デフォルトの名無しさん:2001/07/28(土) 13:42
>>88の本、買っちゃった...
104デフォルトの名無しさん:2001/07/29(日) 13:58
Objective-Cの離婚パイラってないのん?
105デフォルトの名無しさん:2001/07/29(日) 16:47
ハァ?
106デフォルトの名無しさん:2001/08/04(土) 09:45
age
107デフォルトの名無しさん:2001/08/26(日) 00:00
gccのObjective-CでC++用のライブラリはリンクできるんでしょうか?

やっぱ一つ一つソースレベルで手で変換してやらなくちゃだめなのかな〜
108デフォルトの名無しさん:2001/08/26 07:42
>>107
http://www.tech-arts.co.jp/macosx/macosx-dev-jp/htdocs/900/997.html
Objective-C++の実装が進んでるらしい。
109107:01/08/26 15:41
>>108
見てみました、がリンク先が消えてました
一応使いたいライブラリのObjective-C版のラッパをどっかの誰かが
開発中らしいんでそっちに期待
110デフォルトの名無しさん:01/08/28 17:29 ID:iOvUzZpU
MacOS XってObjective-Cなんだ。ちょっと欲しくなった。
昔、趣味でNeXTでプログラム組んでたけど、未だにApplicationBuilderより使いやすい
RAD環境を知らない・・・
200万以上したNeXTも今では押入にしまいっぱなし(笑)
111デフォルトの名無しさん:01/09/06 23:51
>>88の本を買ってしまった…Cなんて全く知らないと言うのに…
112111:01/09/07 02:51
あ〜もう概念だけでお腹いっぱいって感じ…
だが、4500円は無駄にはせんぞ、絶対。
113103:01/09/07 18:29
本買ったのはいいが、そのままほったらかしだ...
>111
お互い、がんばろうな。
114111:01/09/08 01:49
>>113
おお、同志! つ〜か専門用語ばっかで訳わかんねえですわ。
「引数って何よ」って感じで。辞書に載ってねえよ!
>>114
>「引数って何よ」って感じで。辞書に載ってねえよ!
 ノー!そこからかよ
まずCやるよろし
116111:01/09/08 02:29
>>114
すんません、今、初心者向けのページで勉強中です。
え〜と、引数ってのを調べてみたんですけど、printf()とかの
カッコの中に書く情報が「引数」でいいんですよね?

スレと関係無いんでsageときます。
117111:01/09/08 05:25
どあっ! >>>114じゃなくて>>115でした。
更に恥を…逝ってきます。
118デフォルトの名無しさん:01/09/10 08:20
>>114があまりにもレベルの低すぎる発言をしたんで、
スレの流れが止まったぞ。おい。
age
119デフォルトの名無しさん:01/09/10 08:39
そういえば gcc て Objective-C++ にビルドできなかったっけ。
なんかものすごく強力そうな気がするが。(藁
120デフォルトの名無しさん:01/09/11 00:19
MacOSXでもgccが標準でしょ。
Object-CとObject-C++は具体的にどう違うの?

個人的に表記法はC++というかJavaというかそういう
文法が好きなのだが。

ちなみに>>119は何を言ってるのか不明。逝っていいかも。
OCはカス
122デフォルトの名無しさん:01/09/11 03:51
Objective-Cは、charがCのcharそのままでOO風に扱えないのが、
日本語化やi18nが面倒でいやん、とNeXTSTEP時代に思っていたが、
MacOS Xは、Unicodeが基本でぎゃふん。
それって、sizeof(char) == sizeof(wchar_t)って事なのか、
char *str = "string"; がダウトなのか、どっち?
124119:01/09/11 13:19
>>120
Objective-C = C + smalltalk
Objective-C++ = C++ + smalltalk
なんじゃないかな?
使ったことないからよくわかんないけどさ。
本当にそういう風にビルドできるのかも知らんよ。(藁

>>123
コンパイラの話じゃなくて、
API が Unicode ベースつーことでわ?
125114:01/09/11 15:44
すんません、レベルの低い114です。
C勉強ページによくある"Hello!"とかいうのをObjective-Cで挑戦。
#import <Foundation/NSObject.h>
#import <stdio.h>

@interface Greeting:NSObject
-(void)greeting;
@end

@implementation Greeting
-(void)greeting{printf("Hello!\n");}
@end

int main(void)
{
[[[Greeting alloc]init]greeting];
return 0;
}

Terminalに「Hellow!」と出た時にはもう嬉しくって(w
「ここはこうした方がいい」とかあったら指摘してやって下さいな。
>>125
Hello World!
じゃなきゃダメ。
127デフォルトの名無しさん:01/09/11 17:19
>-(void)greeting{printf("Hello!\n");}
>Terminalに「Hellow!」と出た時にはもう嬉しくって(w

Hello! とコーディングしたのに
Hellow! と表示されるってのは、重大な問題でわ?(ぷ
>>Objective-C++
STLのLISTにNSObjectを詰めてイテレータで回せるとか?
>>127
ワラタ
>>Objective-C++
なんか頭悪そうな言語だな
>>128
それ嬉しいんでしょうか?#C++に慣れてるからという理由ならば置いといて。
ObjectiveCに有る(既に有るかどうかは知らぬが自作だって可能だろうし)コンテナクラスで
それをやれば済むことなのでは?
132128:01/09/12 17:52
>>131
やっぱりそのくらいじゃ嬉しくないか。

C++のstringとNSStringを多重継承して、
両方のメソッドを呼び出せるってのはどう?

NSCPPString *str = [NSCPPString stringWithCString: "Hello"];
printf("%s", str->substr(0,[str length]) + " world!!");
133レベルの低い114:01/09/12 23:51
自分で書いておいて何なんですが、>>125のクラス"Greeting"が具体化した
オブジェクトって、どこに格納されてるんでしょうかね?
どこにも宣言してないし…宣言を省いたら自動的にid型でどこかに格納されてるのか、はて?

>>127
ぐっは…また恥を晒してしまった…逝ってきます。
134デフォルトの名無しさん:01/09/13 09:49
>>133
(mallocと同じように)ヒープに確保されて、使われて、そして放置されているのかも。
135デフォルトの名無しさん:01/09/13 17:42
>>123
unicharって型が出来ていて、(たぶんUCS-2); しかし凄い命名センス…流石apple.com)
NSStringってclassも増えてるな〜。(NeXTSTEPにはなかったと思う)
136デフォルトの名無しさん:01/09/14 03:14
>>134
そのクラスが、ガベコレもどき、つまり
「後で自分を消してもらうためのObject」に自分を自動的に(つまりinitで)登録
するようなクラスならば、あとでそいつに開放してもらえるだろう。

そうでなければ、仕事が終われば永遠に迷走。所謂メモリリーク。
どうせプロセス終了で片付くからイイという意見も有るが。
137レベルの低い114:01/09/15 23:17
>>134 >>136
なるほど、「どっか」に格納されて、そのまま放置されてるんですね。
こりゃ危険だ…。じゃあ、>>125のオブジェクトを生成する部分を、

id obj=0;
obj=[[Greeting alloc] init];
[obj greeting];

みたいにきちんと指定してやれば、大丈夫ですね。
…メモリ管理に関しては、今、その部分を読んで勉強してます。
138デフォルトの名無しさん:01/09/15 23:32
>>137 obj = [ [ [ Greeging alloc ] init ] autorelease ];
139レベルの低い114:01/09/16 05:28
うああ、なんかコンパイルしてたらエラー吐いたんですけど、
/usr/bin/ld: Undefined symbols:
.objc_class_name_NSObject
_objc_msgSend
これって「NSObject」が不確定だってことですよね?!
OSXごと全部再インストールしたんですけど、なんかダメみたいです。
これってどうすればいいですか?
140レベルの低い114:01/09/16 06:10
自己レス。
何のことはなく、コンパイルの時に
-framework Foundation
のオプションつけ忘れてただけでした…
Cの教本買ってきて読んでたもんですからすっかり忘れてました…

一晩悩んだ結果がコレか…
-I のかわりの -F なんてのもあったはずず
142レベルの低い114:01/09/16 07:54
>>138のをやってみたんですが、実行すると、
Hello!
Bus error
とか出やがります。
(インターファース部で何も上書きせずに"NSAutoreleasePool"を宣言しないと
コンパイルエラー吐くし…)
試しにprintf("%d",[obj retainCount]);
とかやってみたんですけど、結果は同じでした("1"と表示されると思ったのですが…)。

もしかして「Bus error」って出るのは、リファレンスカウンタが0だからでしょうか?
>Hello!
>Bus error
ワラタ
144デフォルトの名無しさん:01/09/16 23:11
int main(){
id pool, obj;
pool = [NSAutoReleasePool alloc]init];
obj = [[[Greeging alloc]init]autorelease];
[obj greeting];
[pool release];
return 0;
}
145デフォルトの名無しさん:01/09/17 09:35
コンパイラがちょっと頑張れば
obj = [Greeging alloc init autorelease];
と書けるはずなのに。

プリプロセッサだったころの手抜き仕様をそのままひきずってるところがイヤ。
いちいちカーソルを M-b で戻して [ を打ってまた M-f で進めて…。
>>145
頑張らないところがイイんじゃないの?
Lispと同じでさ。
素朴なことしかしてない簡素なコンパイラであるってのが。

C調ソースになれちまうと、どうもSmalltalkみたいな書き方は
感覚的に受けつけなくて、ねえ…
147レベルの低い114:01/09/24 02:04
>>144
遅レスすんません、Cの勉強してたもんで…
何から何まですんませんね。でも、それだとなんかコンパイル通らないんですよ。
いろいろいじってやってみたところ、新規プロジェクトで「Foundation Tool」を
作った時にデフォルトで”NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init];”
という文字列が出てきたんで、これを使ってみる事にしました。
int main (int argc, const char * argv[])
{
NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init];

id obj;
obj = [[[Greeting alloc] init ] autorelease];
[obj greeting];
[pool release];
return 0;
}
mainの宣言の所で何やってるかまだわかんないし、NSAoutoreleacePool * poolってのが
何やってるかわかんないんですが、これでなんとかオブジェクトの解放に成功したみたいです。
いろいろ教えていただいて、ありがとうございました。
もっと勉強せねば…
148デフォルトの名無しさん:01/09/25 02:38
結局の所、この言語ってどこで使うのですか?
例えばC++はいろんなところ、
Javaはいろんなところ、
じゃあ、O-Cは?
てな感じでイマイチそのところが分からなくて
手を付けようか迷ってる次第です。
149デフォルトの名無しさん:01/09/25 02:43
150レベルの低い114:01/09/25 23:33
>>149
わ〜い! 知らない勉強ページがいっぱいだ〜!
ちょうどメモリ管理について言及してるページもありますね。
何から何まですんませんねぇホント…

>>148
荻原式(>>88の本)に書いてあったんですけど、どうやら
gccでも普通にコンパイルできるとか。でも、それだとCocoaの
Foundation kitとか使えないですよね。
あとは…OPENSTEP入れるとか?
151デフォルトの名無しさん:01/09/26 03:36
>>150
いえ、そういう意味でなくて
実際に活用する場面はどこかなという意味だったのです。

Javaはどのマシンでも動くプログラムが書きたい時に使うとか
アプレットを作りたい時に使うとか...

O-CはマックX関連機能の開発にとどまるのならどうなのかと。
152レベルの低い114:01/09/26 04:04
先日買ってきたCの解説書をやっと読破できました…あ〜眠。
概念だけで文法とか全然覚えてないですけど。

>>151
あ〜なるほど、すんませんです。
そういう事でしたら、現状ではMacOS X関係オンリーになってしまうのでは
ないでしょうか(もちろんUNIXやLinuxのソフトの開発もアリでしょう)。
ただ、OPENSTEPの元であるOpenStepは(紛らわしい)、オープンソースらしいので、
もしかしたらWin環境に移植なんて事もあるかもしれません。

あと、>>149のリンク先のttp://www.midi.co.jp/objc0.htmlでは、なんか
cgiがどうのこうのってやってます。詳しい事は良くわかんないんですが。

…これは噂の域を出ないんですが、新Mac板で「AppleがAMDのCPUを採用する」なんて
話がありまして。もしこれが実現して「MacOS X for AMD」が出た暁には、もっと
広い範囲でのソフト開発ができるのではないでしょうか。
(結局MacOS X絡みなんですが…)

なんかえらそうな事ばっかり言ってすんませんです。
153デフォルトの名無しさん:01/09/26 06:16
>>152
いえいえ、御丁寧にありがとうございますm(_ _)m
そうですか、やはりOSX関連ですか。
そうなるとやはりマイナーな モゴモゴ…・・・
使い道が限定 フガフガ…・・

でも逆に考えれば財宝が眠っているわけですね。
totoを買うよりも回収率がいいかもしれない....
Objective-C といえば、gyveってどうなったのかナー
ttp://www.aist-nara.ac.jp/~masata-y/gyve/gyum/
155デフォルトの名無しさん:01/10/01 11:49
Mac OS X10.1&PB1.1登場age

Objective-C++が使えるらしい。
156デフォルトの名無しさん:01/10/02 00:57
ぬは…10.1にアップデートしたらProjectBuilderがぁ…

PB1.1、早く落とさせてくれないかなあ…
>>155
なんか名前からしてすごそうだけど、0-Cと何が違うの?
OS10.1 + DevTools for 10.1 + WO5の順番で使える > 156
159デフォルトの名無しさん:01/10/02 12:15
160157:01/10/02 15:35
>>159
Thanx. I'll read it.
161レベルの低い114:01/10/05 03:20
あ〜、やっと荻原式を読破。
また最初っから読み返してます。

しかし、>>144>>147の違いって何なんでしょうね?
前者はid型で変数宣言してるのに対し、後者はNSAotureleasePoolの
インスタンスが入る事を明示しているだけなんですよね。

>>144のを見てから後でいろいろ変更を加えたりしてましたから、
もしかしたら原因は別の所にあるのかもしれません。
(Interfaceで-(id)greetingとしているメソッドを-(void)greetingと
していたり)

何にせよ、まだまだ勉強不足が否めませんね。
あ〜、2chブラウザとか作りて〜!
162デフォルトの名無しさん:01/10/11 07:54
>>144>>147では、実行時の挙動には全く相違はない。
ただ、id型ではなくどの型のオブジェクトが入るのか明示しておくことで、
そのオブジェクトが宣言していないメソッドを使っていたら、
コンパイルの段階で警告を出してくれるようになる。

>>161
実はCocoa製2chブラウザはもうあるのですよ(w
http://teri.2ch.net/test/read.cgi/mac/988273635/
オープンソースだし参考にしとけ。
163デフォルトの名無しさん:01/10/21 05:51
age
164デフォルトの名無しさん:01/10/21 14:23
Ojjective-C++って例外処理はどうやってんの?

たしか、Objective-Cではsetjump,longjumpのマクロだった気がするんだが、
Objective-C++だとthrow,catchのマクロになってるの?
165デフォルトの名無しさん:01/10/21 15:17
>>164
http://homepage.mac.com/mkino2/spec/objectiveC++/objectiveC++.html
↑ここ読みなはれ。
ちょっとややこしいことになっている。
166デフォルトの名無しさん:01/10/22 15:37
POCというコンパイラを使っています。
GNU一般公有で、ソースも公開されています。
URL: http://users.pandora.be/stes/compiler.html


このコンパイラだと、C++ のコードを、
Objective-Cのコードと混在させることができます。

つまり、C++ のSTLをObjective-Cで使うこともできます。
しかし、自分は C++ が分からないので使っていません。

自分が使っているのは、UNIX用ですが、Windows用もあるようです。


このPOCのcakitのAPIで、お聞きしたいことがあるのですが、
このスレッドに、cakit に詳しい人はおられますか?

"Vectorのインスタンス同士の sameClass が false になる"

という現象が起き、途方にくれています。

よろしくお願いします。
167デフォルトの名無しさん:01/10/26 19:18
>>166
#include <stdio.h>
#include <objpak.h>
#include <cakit.h>
#include <stdlib.h>

int main(int argc,char **argv)
{
id vec2;

id cltn = [OrdCltn new];
[cltn add:[BigInt int:3]];
[cltn add:[BigInt int:4]];

vec2 = [Vector collection: cltn];

printf("%d %d %d %d\n",
1==1,
vec2->isa == [vec2 class],
[[vec2 scalarZero] isEqual: [vec2 scalarZero]],
[vec2 size]
);

[vec2 printOn:stdout];

[vec2 free];
return 0;
}

これの出力が

% a.out
1 1 0 0
{3,4,0,0}

になります。
168デフォルトの名無しさん:01/10/26 19:28
>>166-167

すいません。

よく見たら、

- scalarZero:aScalarZero numScalars:(int)numScalars
{
return [self notImplemented:_cmd];
}

でした。

なんか、実装されてないみたいです。

POC を使っている人は、どうしているんですか?
こういうのを、無駄な努力っていうんでようね…。
久しぶりに悲しくなった。
勝手にとばないでくれぇぇ.
171デフォルトの名無しさん:01/10/29 12:41
Morphic インストール失敗中。
だれか、成功した人、いますか?
172デフォルトの名無しさん:01/11/10 10:26
はい
173かじり中:01/11/11 00:28
[thred age]
174デフォルトの名無しさん:01/11/11 17:23
ObjectiveCから入門しても、他の言語に移る時大丈夫ですか?
175デフォルトの名無しさん:01/11/12 11:29
>>174
ObjectiveC から始めた人が他の言語に移るときの僕の予想

ObjectiveC -> Squeak(SmallTalk)
: 文法が分かるだけに、GUI にイライラする。

ObjectiveC -> Java
: [] から () に変わるので違和感を感じる。
: 配列操作と簡単なファイル操作が楽だなぁと思う。
: APIマニュアルが嬉しいと思う。

ObjectiveC -> C
: malloc が面倒臭いと思う。

ObjectiveC -> C++
: 気が狂う。
176デフォルトの名無しさん:01/11/13 15:52
Javaっすか。ありがとです。
177デフォルトの名無しさん:01/11/13 16:09
>>176
オブジェクト指向のメッセージ通信というのが、
Java では分かりにくいかもしれない。

ObjectiveC の文法を見て始めて
メッセージ通信というのが実感できた。
178デフォルトの名無しさん:01/11/13 21:14
>>175,177
ふむ。情報サンクスです。
まずはObjectiveCを修得するのが先ですが。ゎー
179デフォルトの名無しさん:01/11/14 00:43
Objective-C 使って GUI 作るとしたら GNUstep 使うしかないのでしょうか?

NSButton *gikoButton;

gikoButton = AUTORELEASE ([NSButton new]);
[gikoButton setTitle: @"Print Itteyoshi!"];
[gikoButton sizeToFit];

こんな感じでやってみたいんだけど。
180デフォルトの名無しさん:01/11/14 13:31
>>179
GUI だけは、 GTK/GDK を使って誤魔化している。

全部 ObjectiveCでやりたいので、
Morphic導入を検討したが、インストールすらできなかった。

あと、噂で、gnome-objc らしきものがあるらしいのですが、
これで GUI を構築している人いますか?

検索しても、サイトへのリンクが切れているので、詳しい人お願いします。
181Self:01/11/15 00:43
Smalltalk の Morphic や MVC、Objective-C の GUI ライブラリみたいな、
オブジェクト指向の GUI ライブラリで、多言語から使える物ってないのかな。
オブジェクト指向 GUI ライブラリ決定版! みたいな物が欲しい。

まだ出てないと思いますが、Objective-C 関連 FAQ.
http://www.ics.es.osaka-u.ac.jp/public/netnews-archive/FJ.ARCHIVES/fj.archives.answers/Objective-C/answers.j
http://www.ics.es.osaka-u.ac.jp/public/netnews-archive/FJ.ARCHIVES/fj.archives.answers/Objective-C/classes.j
http://www.ics.es.osaka-u.ac.jp/public/netnews-archive/FJ.ARCHIVES/fj.archives.answers/Objective-C/sample.j
182Self:01/11/15 01:01
>>180
Gyve?
http://www.aist-nara.ac.jp/~masata-y/gyve/gyum/

obgtk?
http://www.interq.or.jp/earth/inachi/gtk/obgtk/intro.html

http://www.airlab.cs.ritsumei.ac.jp/~taka/GYVE/ML/archive.old/msg00081.html

どちらかというと Tk の見た目が好きです。
メニューがティアオフ出来るところとかも。
183デフォルトの名無しさん:01/11/15 14:27
>>182
どうやら、探していたのはこの obgtk のようです。
サイトの ftp のリンクが切れて、ダウンロードできません。

名前が変わったのでしょうか?
公式サイトを見つけたいので、適切な検索語などありましたら、お教え下さい。
184Self:01/11/16 00:22
>>183
obgtk は gnome-objc の中に入ってます。
gnome-objc を ftp してみて下さい。
gnome 無しで使えるのかどうかは分かりませんが。

gnome-objc
ftp://ftp.gnome.org/pub/GNOME/stable/sources/gnome-objc/

GToolKit はドキュメントやサンプルがそれなりに充実しています。
興味がありましたら試してみてください。

GToolKit
http://www.informatik.uni-osnabrueck.de/elmar/projects/gtoolkit/

ここもお勧めです。

Objective-C Links
http://www.foldr.org/~michaelw/objc.html
185デフォルトの名無しさん:01/11/16 14:13
>>184
胸のつかえがとれたようなきがします。

さっそく試していますが、コンパイルをミスりまくりです。
(Solaris x86)
家に帰ってから Linux で試してみます。
186YO:01/11/16 20:18
YO
187デフォルトの名無しさん:01/11/19 21:16
Morphic 使っている人、外観はどんなですか?
画像とかどこかにあれば、お教え下さい。
188デフォルトの名無しさん:01/11/20 21:14
Squeak(Smalltalk) で C のコードを書いているが、楽だ。
やめられん。
僕のコードを解析する人は、自動生成されたコードの方を解析している。
みんな、ごめんね。
189デフォルトの名無しさん:01/11/24 07:57
動的結合age
190名無しさん@XEmacs:01/11/24 17:50
>>188
もしかして CCodeGenerator 使ってる?
ぜひTipsをば教えて下さい!!
Squeakスレで。
191デフォルトの名無しさん:01/11/26 14:05
>>190
Squeak ObjectiveC translator
ttp://swiki.gsug.org:8080/sqfixes/1251.html(なぜか今はつながらない)

配列が array[i] といった感じに展開されるので、
at: put: や value: といったように置き換える。
(この辺は Emacs や awk の機能でなんとか自動的に行う)

実装されていないメソッド(printf: や printf:f: など)
を実装する。
(これは、手作業。慣れてくるとテンプレートが使える)

これを繰り返すとなんとかコンパイルできる。
(時間がかかっても 5分くらいでコンパイルできるようになる。
それ以上、時間がかかるものは大概、自動変換は無理。)

ファイルの先頭に使うインクルードファイルを書き込む。
(使用するObjectiveC コンパイラ(gccやPOC)によって適当に。)

おそらく、UNIX だと、文字コード問題でコンパイルができないと思います。
それを解消するために、
「w3m や NC などでファイルを閲覧 -> バッファを保存」
という手順で文字コードを変換しています。

これを ObjectiveC でデバックする人は、たいへんだと思います。
192デフォルトの名無しさん:01/12/03 15:24
Morphicインストールした人、参考Webページおしえて下さい。
193デフォルトの名無しさん:01/12/12 09:09
泣きたい。
194デフォルトの名無しさん:01/12/19 16:41
部所の説得に失敗した。
ObjectiveC か VB かだったのだか、
VBに乗り換えざるをえなくなった。
>>194
>ObjectiveC か VB かだったのだか、

へんな選択肢だな。
196自削自炎:01/12/19 17:33
ObjectiveCでDLL書いてVBで使用。これ最強。
しかしチームで開発する時に、保守しにくくなる可能性があるという
諸刃の剣。プロジェクトにはお勧めできない。
まぁ、>>194はこの意見も参考にしてくださいってこった。
197_:01/12/19 19:47
機能はカッコ良いけど
見た目がカッコ良くない・・・
198デフォルトの名無しさん:01/12/19 19:59
>>195
まず、部所でこれまで使っていたのがVB。
大学がつくってくれたプロトタイプがObjectiveC。

これを機に、MS依存から脱却できればと思ったのだが、派手に沈没した。
199デフォルトの名無しさん:01/12/19 22:52
>>198

理解できる人がほとんどいなかった、に1,000,000ポイント
200デフォルトの名無しさん:01/12/20 00:51
GNUSTEP 使ってる人いない?
最近復活気味で活動が活発化しとるね。
良き事良き事。
201デフォルトの名無しさん:01/12/26 18:37
使ってるよ。
202名無し:02/01/03 11:57
なんも勉強しないで聞くのは恐縮なのですが
Objective-C は使ったことないのですが, iterator 関係はどうなっているんでしょうか。
Ruby だと簡単だけど遅いので同じことを C++ で書こうとして発狂しそうになりました。
>>202
C++だと

1:rubyのような内部イテレータを実現しようと思っても、C++では
無名手続きブロックを記述できないので、書きやすさが全然改善されまい。

2:引数とかの書きかたが柔軟ではないので、これまた綺麗にならない。

ここらへんは、ObjectiveCだとC++よりは随分柔軟であるので、
だいぶ楽にやれるんじゃないかな。

以上、こっちも知らない人でした(わら
204デフォルトの名無しさん:02/01/03 14:54
Objective-C と言ったら Stepstone社だろ?
Stepstone社はいずこへ?
205デフォルトの名無しさん:02/01/03 15:20
>>204
心の中に。
>>205
父さんしたのか。
207206:02/01/03 15:26
WebObjects 5 は、完全に java 化されたし。ハァ・・・
208デフォルトの名無しさん:02/01/03 18:56
MacOSXが市場を増やしていけばなぁ。
ProjectBuilderもあるし、どんどん移行して
いきたい気分だが…
209デフォルトの名無しさん:02/01/04 15:12
数値計算の cakit ってどうなってるんですか?
210デフォルトの名無しさん:02/01/08 00:02
>>202
Cocoaなら

NSEnumerator* enumerator = [array objectEnumerator]; //array is instance of NSArray
id obj;

while(obj = [enumerator nextObject] ) {
if( [obj respondsToSelector:@selector(hoge)] ) {
[obj hoge];
}
}

とか。
ifの中を
[obj conformsToProtocol:@protocol(theProtocol)]
とか
[obj isKindOfClass:[theClas class]]
とかにしてもいいし。
211デフォルトの名無しさん:02/01/15 05:30
212デフォルトの名無しさん:02/02/03 04:13
saga りすぎ。

GNUSTEP って COCOA 互換環境を目指すとか逝ってたような
気がするけど、どうなってるんでしょうかね。
213 :02/02/24 18:19
いまいちわからん。
214デフォルトの名無しさん:02/02/25 08:10
GToolKit のサイトが繋がらなくなってる。

Objective-C で GUI を作る時はどんなライブラリを使っていますか?
勿論、Cocoa 以外でね。

これって GNUstep 専用だよね?
http://www.gnustep.org/resources/documentation/gnustep-gui_toc.html
215デフォルトの名無しさん:02/02/25 23:09
>>211
コンパイル出来なかったよ。Makefile 変じゃない?
どなたか Morphic インストール出来た人いらっしゃいませんか?

GToolKit は freshmeat の方は生きてるみたい。
でも、メインサイトの方がサンプルコードが充実していて良かったのに。
216デフォルトの名無しさん:02/02/26 00:04
(plz ref-book)
217216:02/02/26 00:10
@implementation sorryForAll
-(id)wrongThreadAgeSorry{printf("sumaso\n")};
@end

こんな感じで良い?
MSはVisual Object-Cださないかな
219デフォルトの名無しさん:02/02/26 02:18
>>218
gcc Developer Station 2000
http://popup.tok2.com/home/choro/gds2k/gds2k.htm
をがんばってObjective-C対応にするとか。
220219:02/02/26 02:19
でも、簡単に導入できる、
Objective-C環境は
おいらも欲しいです。
221デフォルトの名無しさん:02/02/27 20:58
US のサイトでも良いから、Morphic のインストール方法を載せている所
無いでしょうか。
222デフォルトの名無しさん:02/03/11 00:24
興味あるので age ます。
223デフォルトの名無しさん:02/03/18 22:35
WindowsでObjective-Cを利用するための解説文書ってありますか?
GUIアプリをこの言語で作ってみたいのですが。
224223:02/03/18 22:36
Googleとかで検索してみたのですが、
いまいち見つからないのです。
225デフォルトの名無しさん:02/03/19 02:24
gcc + gtk で可能なんじゃない?
226デフォルトの名無しさん:02/03/19 02:37
次の選択肢があるかと。

・GTKKit, GToolKit, GNOMEObj-C などの GUI ライブラリを使う
  GToolKit は Win も OK だったと思う。日本語が通るかは微妙。
・GUI 部分は C で書く

あと、一応 GNUSTEP は Windows で動かない事もないみたい。
http://www.peanuts.org/GNUstep/information/faq_1.html#SEC5

バイナリの配布には向いてないと思うけど、GNUSTEP が一番面白そう。
227デフォルトの名無しさん:02/03/19 12:22
>>225-226
ありがとうございます。
http://www.sixnine.net/cygwin/cygwin-doc/mingw-doc/w32api.README.html
のMinGW関連の文書読んでたら、
COMとかいうものが使えないみたいです。

GUI 部分は C で書くっていう方法を取ろうかと
思います。Win32 APIとかも学ばねばいけないですね。
がんばります。

C-->Objective-Cへの移行はすんなり行ける
みたいなので、もうちょっとWindowsでも
流行ると良いのですが。
228デフォルトの名無しさん:02/04/15 04:38
プログラムはじめたばかり
経験延べ3日ぐらい、Cの本を半分ぐらい読みました
入出力・数値の計算・制御文とか書いて実際動かしてみて
コードってこういう風に書くのか、とゆーのがおぼろげに分かった段階。
ポインタとか構造体は詳しくやってないです

で、Cをある程度覚えたらObjective-Cに移行しようと思ってたけど
どの程度までCをやればいいかわからんです・・
あるいはCを飛ばしていきなりO-Cはじめた方がいいのかと思いはじめている
目的はOSXでシーケンサーとかサンプラー(音楽アプリ)を自作することなんで
あの原始的な感じがどこまで今のGUIに直結してるのか不安になってきた。

べつに仕事で必要に迫られてやるわけじゃないんで
じっくりCから覚えていけばいいのかもしれないけど、
あんまり後で使わなそうな知識を詰め込みたくもない
(使えそうかどうかの判断すらできない)
この状態でO-C始めるのは無謀なのかなぁ

まぁ俺は挫折するかもわからんけど
直感的にObjecCいいと思うのでみなさまがんばってください
229デフォルトの名無しさん:02/04/15 06:52
Objective-C で行き詰まったら C に戻ればいいんじゃない?
C の標準ライブラリ関数くらいは憶えておいた方が良いと思うけど。
Objective-Cで行き詰まるようなら、Cに戻っても一緒と思ってみるテスト
挫折しない方法として、目標を定めるのでなく、まずプログラミングを楽しむべき。
そしたらCをやろうがObjective-Cをやろうが、何とかなるだろ。

自分の欲しいアプリを作れるって事は、プログラミング中毒者の特権だと
思ってもらいたい。
232229:02/04/15 23:18
>>230
分かり難かったらスマソ。
行き詰まるって書いたのは、Objective-C でサポートしていない低レベルの
実装をいじりたかったり、パフォーマンス上のボトルネックが発生した時等、
技術的な面ね。そうなったら C を勉強すれば良い。
その辺りが C でも書ける Objective-C の柔軟な所だと思うよ。

まずプログラミングを楽しむべきというのには同意。
折角プログラミングを始めたんだから、その醍醐味を十分味わって欲しい。
その内自分にしっくりくる言語も分かってくるし、それが Objective-C だったら
良いね。
自分にしっくりくる言語がRubyだったら・・・
イークナイね。
234デフォルトの名無しさん:02/04/16 19:29
>>232
オサン臭い話になるかも知れんが・・・
その昔、パソコンはあるけどソフトがない時代は、パソコンで遊ぶ方法って
言えばプログラミングだったなぁ。でも今はソフトが溢れてる。
だから、プログラミングの目的はプログラミングでなく、必然的にソフトを
作る事になるんだよなぁ。
目標を持つのは良い事のように見えるが、プログラミングは目標に向かって
一直線に進めないのが難しい所なんだよなぁ。
だからゲ製板は、いつまでもあの調子なんだよなぁ。
とか呟いてみる実験
>>232
>Objective-C でサポートしていない低レベルの
揚げ足とりでスマンが、これはフレームワークの話だな。

>>234
hello, world!
236234:02/04/18 09:09
意味わかんねーッス。
237228:02/04/21 07:06
Cの入門書ざっとやり終えてみました。
まだ知らない関数とかたくさんあるので
もうちょっと詳しい本やってみます。
そのあとOSX買いに逝てきます

反応して下さった方々ありがとうです。
とても参考になりました。
書いてみるもんだなぁ
238デフォルトの名無しさん:02/04/26 16:43
Objective-C の文法に惚れていろいろなプログラムを作った。

そこらにあるようなデータ可視化ツールの類だ。
OpenGL でぐりぐり動いてくれた。使っていたのは POC だ。
実によくやってくれた。自分の知的好奇心は存分に満たされた。

あるとき、研究用の数値計算ツールのプロトタイプを作ることになった。
「たしか、POC には cakit という数値計算ライブラリがあったはず…。」
そう思い、
「簡単! 来週中に、コンソール版だけ動くよ。」
と、同僚や上司に公言していた。

しかし、動かない。何回自分のプログラムを見ても間違いに気づかない。
約束の期日から2日ほど過ぎてしまった。

しょうがないから、昔使っていた VB のツールを流用することになった。

泣いた。
VB が固まる度に自分が責められるようになった。
自分の地位は、地に落ちた。


あるとき、 cakit のソースを見ると下の文字が…。

[self notImplemented:_cmd];




ブチ切れた。
239デフォルトの名無しさん:02/05/11 16:18
age
240デフォルトの名無しさん:02/05/16 13:58
age
241デフォルトの名無しさん:02/05/16 13:59
GNOMEは何故Objective-Cを採用するのをやめたのだろう。
Linuxで安心して使いたいなぁ。
242デフォルトの名無しさん:02/05/16 14:00
あ、標準開発言語としてね。
243デフォルトの名無しさん:02/05/17 11:51
Objective-C.NET
ってあるん?
>>243
それホスィーな。

>>241
GNOMEってそういう路線だったの?
そのまま行ってくれれば使ったのに。
でも、KDEと違いどの言語でも開発できる
様にするためとかなんとか書いてあったのを
読んだ様な気がする。
245デフォルトの名無しさん:02/05/17 21:11
どこかのサイトにGNOMEプロジェクトの創始者(か誰か)が言ってたと書いてた.
UNIXは資源の再利用がされていないから駄目だ.
GNOMEはこれを解決する(そして,その方法はObjective-Cだ).
とかなんとか.
で,何かがあって,結局Cになったらしい.

NSObject使うには,Gnustep入れないといけないのかな?
Vinelinux2.5には入ってないのかな?
246244:02/05/18 00:51
>>245
解説Thanks。
そっちの路線でいけば、
GNOMEでObjective-Cなドキュメントが増えて
ありがたかったのだが。
今は使えるけど、ドキュメントがほとんど無いみたいだしね。
結局のところ,MacOS X以外ではいろんなドライバとかがC++で書かれていたりするから,Objective-Cを使うのは難しいよね.
gcc-2.9x当りからObjective-C++が使えるようになったってのは,どうなんだろう.
248デフォルトの名無しさん:02/05/19 02:55
Objective-Cは、文字扱いがCでcharなのが痛い。
MultiByteString/WideCharacterにwrapping可能なstring classを
使ってくれるとは限らないからね。

MacOS XはUnicodeだからまだいいんだけど。

ひまなんで。
>>247
Objective-C++は制限いろいろ、とのこと。
以前、説明をするページがあったが、作者が間違えて消してまったらしい。
キャッシュ。
http://www.google.co.jp/search?q=cache:Cso_2H6Nd2QC:homepage.mac.com/mkino2/spec/objectiveC%2B%2B/objectiveC%2B%2B.html
ありがとう.
とりあえず自分でC++を書く気は全然ないので,
ライブラリさえ使えれば問題ないです.
ただ,Linux上のgccでObjective-C++が使えるのかな…と.
gcc2.9xのパッチで出たとかなんとかで,
gcc3.1では使えるとのウワサだけ効いたんだけど…どうなんだ〜?!
という状態です.
いや,Vinelinuxのgcc2.95で使えないとちょっと困るんですが.
はい,自分で確かめてみます.
駄目でした…
ヘッダファイルの読み込の時点で怒られる.
aaa.m----

#include <string>
using namespace std;


…objective-c + C++なプログラム…
---------
gcc -c aaa.m
でも
g++ -c aaa.m
でも駄目.
もしかして,拡張子が.ccとかだったらいけるとか?!
252デフォルトの名無しさん:02/05/26 17:10
.mmじゃないナリか?もしくは.M
253デフォルトの名無しさん:02/05/26 20:09
>>247
> MacOS X以外ではいろんなドライバとかがC++で書かれていたりするから,

"Hello IOKit: Creating a Device Driver With Project Builder"より、

> ・Device drivers are (frequently) written in C++.

実際、例はC++で書かれていて、Objective-Cの'O'も出てきません。

正直、Objective-Cのmethod dispatcherをdriverで使うのは嫌ですよね。

254251:02/05/28 00:55
>> 252
試してみました.
が,普通のObjective-Cのソースでもコンパイルが引っ掛かる…
駄目っすね.

>> 253
そうなのか…
確かにドライバーで[ ]は使いたくないといえば,そうかも.
でも,C++はアリなのか〜?!
255デフォルトの名無しさん:02/05/28 02:07
>>254
> でも,C++はアリなのか〜?!

C++は効率いいからね。
/System/Library/Frameworks/IOKit.framework/Versions/Current/Headers/scsi-commands/IOSCSIMultimediaCommandsDevice.h なんかもろC++。
256IOKit:02/05/29 23:05
C++じゃないよお。Embedded C++だよお。
257251:02/06/01 23:26
でも,Objective-CってほとんどCなんだから,
C++と変わらないくらい効率よくないのかな?
>>257
殆どSmalltalkなOO拡張は、静的な最適化がほぼ不可能。
かといって、Smalltalkのような動的最適化をかませる
方法が無いから、ものすごく遅い。C部分での最適化で
稼ぐしか無いけれど、それでは、C++に対する利点には
なり得ないよね。
C++は、最適化に命をかけたような仕様で、そのせいで
効率の悪くなっている部分があるのが皮肉だけれど、
それでもだいたい成功してる。比較にならんよ。
259251:02/06/02 11:40
なるほど.
うーん,でもC++はいやだなぁ…(書き方が美しくないという理由だけ)
かといって,Javaで書けるほど上の部分でもないしなぁ…
でも,いずれ社会に出るとC++になるのかなぁ.
言語に得手不得手があるのは当たり前。
[thisThread retain];
2CHThread *objCThread = [[[2CHThread alloc] init] createWithTitle:@"Objective-C"];
NSLog(@"ほとんど人いないね...");
だれかgcc3.0でObjective-C++が使えるかどうかを知ってる人は
いませんでしょうか?
遅くてもいいんです,いずれマシンが早くなるから.
Apple has offered to contribute Objective-C++ to a future version of
FSF GCC, but the GCC Steering Committee, whose charter includes
decisions about whether to include new languages in FSF GCC, has yet
to say whether or not they would accept it. The Steering Committee
and its members are described at gcc.gnu.org; if you want ObjC++ in
FSF GCC, please lobby them, either as a group or individually.

オーマイガッ!!
頼むよ,FSF.
266デフォルトの名無しさん:02/06/14 13:52
さがりすぎだなあ…
勉強でもしょう。
そして一週間経過...
さらに一週間経過...
>>264
Objective-C++って何だ。
270デフォルトの名無しさん:02/06/28 12:31
271デフォルトの名無しさん:02/07/02 18:35
>>263
NSLog(@"みんな新・Mac板じゃない?");

[NSNotificationCenter age];
ちゃんと開放しとくよ

[thread release];
[thread retain];
[thread retainCount];
[thread dealloc]
276login:Penguin:02/07/08 19:43
後で読み返してみる。文献無いから。
週に一度の保全タイム。
278通りすがりの者:02/07/21 22:22
うーん、ずいぶん寂れてきてますなー。
ちょっと残念だ。(´ー`)y-~
保全に来たら先客がいて残念無念。
280objective-c出来ないんだけどね:02/07/28 21:32
>>211にあるMorphicのコンパイルは成功したが、
example-1の下のa.outが実行できん。

Message backtrace:
WorldMorph: Does not implement this message.
アボートしました

だそうです。
281デフォルトの名無しさん:02/08/05 15:54
あるオブジェクトが、どんなメソッドを受け付けるかというのを知る方法はありますか?
リファレンスマニュアルっていうのは無しで、というかカテゴリ使ったら抜けてしまうからだめ。
>>282
CocoaでやってるんならNSObjectのメソッドである
respondsToSelector: で調べられますけど。
283282:02/08/05 23:21
ごめん… >>281です。
284281:02/08/06 05:43
>>282
おー、ありがとうございます。
NSObjectクラスのメソッドではなく、NSObjectプロトコルのメソッドですね。
見つけられなかった...
285デフォルトの名無しさん:02/08/06 15:00
>>282
便乗。
セレクタの一覧を得るメソッドってあります?
286282:02/08/06 16:03
>>285
ここらあたりが参考になるんでは?
http://homepage.mac.com/mkino2/cocoaProg/ObjC/Method/Method.html#accessMethodList

つーか、漏れも目下Cocoa修行中の身であんまりわかってなかったり
するんで、突っ込んだ質問はカンベン。ま、お互いがんばりましょうってことで。
287285:02/08/06 19:37
>>286
おお、素晴らしい!
こんなサイトがあったとは!!
ありがとうございます。
288デフォルトの名無しさん:02/08/09 06:37
すんません。初歩的な質問で申し訳ないんですけど、
Objective-Cっではクラスのインスタンス変数が0で初期化
されてるんでしたっけ?
つまり id なら何も触っていなければ nil と考えていいんでしょうか?
素直に初期化されては如何か。
290288:02/08/11 02:28
ごもっともです、ハイ。
とあるサンプルで id 型のインスタンス変数を

if ( ! hoge ) {
hoge = [[hogeClass alloc] init];
...
}

みたいなことをやってたのでちょっと気になったのです。
291デフォルトの名無しさん:02/08/11 21:17
ところで、

static inline ってどういう意味?
292デフォルトの名無しさん:02/08/13 00:24
>>291
「白線の内側で静かにお待ち下さい」
おい、お前ら!
俺は今、「オブジェクト指向のプログラミング」(B.J.コックス)
を読んでモーレツに感動しているぞ!
ちょっと>>288が気になったので実験。
int main(void)
{
  id hoge;
  if(hoge != nil)
   printf("(・∀・)\n");
  return 0;
}

>>290のhogeはif文の以前でどっかから代入されてしかるべき変数なんじゃなかろうか。
>>294
main の中で id hoge とやったってそりゃ単なるポインタ型のローカル
変数なんだから nil なわきゃねえって。問題は hoge がインスタンス
変数の場合だろ。なんかで読んだけど、インスタンスが生成される時は
確保したメモリを 0 で初期化するとあったぞ。だから、インスタンス
変数に id 型があった場合、それは nil だと仮定してもいいはずだぞ。
なんか気持ち悪いが。
296294:02/08/17 14:56
え、そうなん?

@implementation Hoge
-(id)init
{
  [super init];
  if(hoge == nil) {
    NSLog(@"(・∀・)");
 }
  return self;
}

ほんとだ〜。マリガト。
297デフォルトの名無しさん:02/08/17 23:55
>>293
どうやって手に入れたの?
もう絶版で、出版社もなくなってるでしょ?
手に入れる方法があるなら、漏れも欲しい。
298293:02/08/18 03:12
>>297
これがなんと、Yahoo!オークションに出品されてたんだなー。
ついに最後まで入札相手が現れず、800円で落札した。
オークションはたまにこういうのがあるからあなどれないよね。
地道に網を張ってればそのうち引っ掛かるよ。
>>297
読むだけなら図書館で。
ふ、所有する喜び……
301デフォルトの名無しさん:02/08/18 10:17
>>299
田舎なもんで、置いてあるような図書館が近くにないのでした。
302_:02/08/18 18:30
学校の図書館でチラッと見かけた本で
メソッド検索のアルゴリズムが載ってたんですけど
これ毎回やってたら重くないですか?
macとかで実際にアプリ作ってる方がいれば聞きたいのですけど。
最近のPCだったら気にしなくていいのかな?
303デフォルトの名無しさん:02/08/18 20:15
>>302
毎回検索してたら、遅いでしょ。
普通キャッシュするでしょ。
304デフォルトの名無しさん:02/08/18 20:29
>>303
そうですね。色々内部で高速化されてると思うんですが
実際どうなのか知りたくって。
変わらないならC++より柔軟なObjective-Cの方がいいかなと思ったんです。
305デフォルトの名無しさん:02/08/18 22:40
>>304
キャッシュしてるみたいです。
↓が詳しいです。
http://homepage.mac.com/mkino2/spec/optimize/index.html

実際にはそんなに気にならないと思います。MacOSXの一般的なアプリケーションでは描画の方が圧倒的に重いし。
それに速度が重要な部分はCを使うでしょう。

あと、ObjCにはなくてJavaだとfinal classってのがあるけど、これって最適化に使われてるんでしょうか?
306デフォルトの名無しさん:02/09/01 02:30
age
307名無しさん@Emacs:02/09/06 22:04
http://www.delorie.com/gnu/docs/libobjects/libobjects_toc.html

ここを見て、Linux で Objective-C を始める事にした。
Objective-C のライブラリ等は最初からインストール済だったので
それを使ってみようと思ってるんだけど、POT というのも気になる。
クラスブラウザは便利そうだし、GUI も Objective-C 風に書ける
(んだよね?)のも良いかなと。

以上、上げるついでに・・・
308デフォルトの名無しさん:02/09/10 11:56
cocoaでスレッドの実行を指定された時間だけ中断させるのってどうするの?
winでいうところのSleep()と同じ
>>308
こっちで質問した方が解答率高いぜ。
http://pc.2ch.net/test/read.cgi/mac/1007632025/l50
>>308

とっくに自力で見つけてると思うけど一応。

[ NSThread sleepUntilDate:[ NSDate dateWithTimeIntervalSinceNow:second ] ];
なんのまだまだ
えいや、えいやぁ。
313デフォルトの名無しさん:02/10/16 11:29
ちょっとマイナーかもしれないけど Objective-C は最強のプログラミング言語だ!
314デフォルトの名無しさん:02/10/16 13:44
prefixのNSが消えたら、使うの考える。
315デフォルトの名無しさん:02/10/23 23:43
でもやっぱまともな開発環境がWinとかUnixでないのが
はやらん原因と思う。
Obj-C builder とかないかなぁ。
通報しますた
317デフォルトの名無しさん:02/10/25 21:12
>>315 GNUStepの開発よろしこ
318デフォルトの名無しさん:02/11/04 20:53
Objective-Cは需要はあるんですか?
ありません。
320デフォルトの名無しさん:02/11/04 21:01
>>319
マジですか?
じゃあC++やった方がいいんですか?
321:02/11/04 21:28
>>320
そんな事言ってる人にはC++は似合いません!
>>321
なんだとゴルァ!
Objective-Cは、Smalltalk風に書けて、
かつ、実行時間を稼ぎたいならCで書き直せるという
メリットがあったわけだけど、だったらProfilerが必須
だと思うんだが、どうだろうか。MacOS Xの開発環境には
Objective-CのProfilerがついてきてるの?

さらに言わせてもらえれば、Objective-Cは動作確認の
ために明示的なコンパイルが必要なSmalltalkに他ならな
いわけで、かなりウザいと思う。Cで書かれたライブラリ
に接続できるSmalltalkがあれば十分だと思う。

Coxの本が書かれた時代はソフトウェアICに未来があると
思われていたわけだけど、粒度の荒いソフトウェアICは
意外に問題が多かったことがわかってきたよね。GUI部品
とかはソフトウェアIC向きだけど、そこでは実行速度が
ビビッドな問題なので、Objective-Cのメリットはあまり
生きないという罠。
324デフォルトの名無しさん:02/11/04 21:57
>>323
じゃあこれからObjective-Cをやってもあまりよくないってことですか・・・
C++と比べてObjective-Cの良いところ:
 C++よりもシンプル。
 C++よりもダイナミック。
 C++よりもメモリ効率が良いかも知れない。

C++と比べてObjective-Cの悪いところ:
 C++よりマイナー。
 C++よりも低速(チューニングできるけど、面倒かつ危険)。
 C++よりもコンパイラに頼れない。

C++とObjective-C共通の弱点:
 コンパイルしないとテストできない。
 再利用性の高いソフトウェア部品を開発するのは難しい(※)。

※クラスベースのオブジェクト指向開発が、再利用を促進するというのは
希望的観測に過ぎなかったという結論があちこちで出ている。再利用可能
なソフトウェア部品を開発することは不可能ではないのだが、誰にでも開
発できるわけではなく、再利用性に期待して工数を短縮してしまうとデス
マーチになる。リファクタリングはOOPでしかできないわけではないので、
OOPはそれなりに便利なコミュニケーションツールとみなすべきだという
意見が正しいと思う。
ダイナミックって実行時型決定の事? C++ にも無かったっけ?
327デフォルトの名無しさん:02/11/10 16:39
あるけどデフォルトでスタティック
Objective-C FAQ より
http://www.ics.es.osaka-u.ac.jp/public/netnews-archive/FJ.ARCHIVES/fj.archives.answers/Objective-C/answers.j

---------------------------------------------------------------------
別な観点から言えば、
Objective-Cプログラムのすべての要素がオブジェクトで表現されていたとし
たら、おそらくSmalltalkと同程度の速度であり、Smalltalkが行なえる基本
クラスへの最適化がないことで苦戦するでしょう。
---------------------------------------------------------------------

基本クラスへの最適化ってどういう事でしょう?
Smalltalk スレで聞いた方が良いかな?
329デフォルトの名無しさん:02/11/11 01:14
ディスパッチのことじゃない?
>>326
メソッドディスパッチが動的に行われるので、実行中にライブラリを差し替え
れば即座に動作を修正できたりする。C++には無理。
>>328
Objective-Cが、将来的にも高度な最適化が行われないことを宣言しているわけ
ではなく、現状でこれといった最適化が行われていないけれどもハイブリッド
だからパフォーマンスが重要なところはCで書けるんで、その方がいいでしょ?
という程度の意味だと思う。

Objective-Cは「純粋なオブジェクト指向言語」ではない、という批判に対す
る返答として、「純粋なオブジェクト指向言語」にしちゃうと、そもそも
Objective-Cの存在意義なんかないじゃん?みたいな意味と言い換えても良い
かも。
Smalltalkではたとえば IF...THEN...ELSE 構造は Boolean オブジェクトにブ
ロッククロージャオブジェクトを投げるとかの純粋オブジェクト指向がコンセ
プトなんだけど、実際にバイトコードにコンパイルする時点で最適化が行われ
て、条件分岐命令に置き換わったりする。

そういう最適化のことを言っているんだと思った。
後で読み返してみる。文献無いから。
Objective-C 以外は糞
正直、objc使うくらいなら、Smalltalk使うな
336デフォルトの名無しさん:02/11/28 18:30
>>335
同意。昨今のマシンは十分に速いからねえ。
現状、あえてObjetive-Cを使う理由はCのソースとの親和性だけだな。
あれ?
337 :02/11/28 21:26
>>336
「あれ?」って何だよ?
338デフォルトの名無しさん:02/11/28 22:09
Objetive-Cを使う理由が残ってたってこと。
なにより資料が無さ過ぎなのが・・・
342デフォルトの名無しさん:02/12/10 21:49
初心者質問です。NSString の文字列に対して
Perl の s/a/b/ 相当(全ての a → b に変換)の
操作をするにはどうしたらいいですか?
>>342
えー、残念ながら、簡単な方法はないはずです。
伝統的にC/C++/Objective-Cは文字列の処理が弱いです。
Perlなんかは文字列の処理が極めて強力なので、Perlあたりでプログラミン
グを始めた人がCに触れると、まず間違いなく途方にくれます。
344デフォルトの名無しさん:02/12/10 23:51
>>343
普通はどんな方法でするの?
345342:02/12/11 03:50
>>343
とりあえずありがとう。
道理でネットをいろいろ探しても見つからないわけだね。
>>344
ttp://www.hi-ho.ne.jp/babaq/bregexp.html
とか、誰かの作った正規表現ライブラリを使うのがてっとりばやい。
ライセンスの問題をクリアするために自作している人も少なくないように思い
ます。
347デフォルトの名無しさん:03/01/04 17:56
あけましてObjective-Cございます。
348IP記録実験:03/01/08 22:03
IP記録実験
http://qb.2ch.net/test/read.cgi/accuse/1042013605/

1 名前:ひろゆき ◆3SHRUNYAXA @どうやら管理人 ★ 投稿日:03/01/08 17:13 ID:???
そんなわけで、qbサーバでIPの記録実験をはじめましたー。

27 名前:心得をよく読みましょう 投稿日:03/01/08 17:20 ID:yL/kYdMc
SETTING.TXT管轄でないということは全鯖導入を視野に、か?

38 名前:ひろゆき ◆3SHRUNYAXA 投稿日:03/01/08 17:22 ID:rLfxQ17l
>>27
鋭いです。

73 名前:ひろゆき ◆3SHRUNYAXA 投稿日:03/01/08 17:27 ID:rLfxQ17l
>ところで、IPが抜かれて何か今までと変わることってあるのでしょうか?
・今までより、サーバが重くなる。
・裁判所や警察からの照会があった場合にはIPを提出することがある。
この人→「ひろゆき ◆3SHRUNYAXA」って

マジであの2ch運営してる人ですか?だとしたら
今、同じ板にいるのが夢のよう(´ー`)y─┛~~
↓(´`c_,'` )プッ
351IP記録実験:03/01/09 02:32
IP記録実験
http://qb.2ch.net/test/read.cgi/accuse/1042013605/

1 名前:ひろゆき ◆3SHRUNYAXA @どうやら管理人 ★ 投稿日:03/01/08 17:13 ID:???
そんなわけで、qbサーバでIPの記録実験をはじめましたー。

27 名前:心得をよく読みましょう 投稿日:03/01/08 17:20 ID:yL/kYdMc
SETTING.TXT管轄でないということは全鯖導入を視野に、か?

38 名前:ひろゆき ◆3SHRUNYAXA 投稿日:03/01/08 17:22 ID:rLfxQ17l
>>27
鋭いです。

73 名前:ひろゆき ◆3SHRUNYAXA 投稿日:03/01/08 17:27 ID:rLfxQ17l
>ところで、IPが抜かれて何か今までと変わることってあるのでしょうか?
・今までより、サーバが重くなる。
・裁判所や警察からの照会があった場合にはIPを提出することがある。


今後、予想されるレス

「IPって何ですか?」

「串って何ですか?」 「串揚げ」

>>39
いやぁ、知らんです、、
301 名前:心得をよく読みましょう[] 投稿日:03/01/08 17:57 ID:zbarv++q
   >ひろゆき

   2ch閉鎖って考えたことある?

310 名前:ひろゆき ◆3SHRUNYAXA [] 投稿日:03/01/08 17:58 ID:rLfxQ17l
   >>301
   ラウンジが重いですとかいちいち電話してくる人がいたとき。

352 名前:ひろゆき ◆3SHRUNYAXA [] 投稿日:03/01/08 18:01 ID:rLfxQ17l
   悲しいときー。悲しいときー。
   正月に友人からエロゲーを借りて喜んで帰ってきたら、
   パソコンが壊れてたー。

   昨日ヨドバシカメラで部品買ってきて直しました。


>>56
それ偽者よ
======2==C==H======================================================

         2ちゃんねるのお勧めな話題と
     ネットでの面白い出来事を配送したいと思ってます。。。

===============================読者数: 138720人 発行日:2003/1/9

年末年始ボケがそろそろ収まり始めた今日このごろのひろゆきです。

そんなわけで、年末に予告したIP記録ですが実験を開始しています。

「2ちゃんねる20030107」
こんな感じで各掲示板の最下部に日付が入ってるんですが、
20030107以降になってるところはログ記録実験中ですー。

んじゃ!

────────────────────────Age2ch─
■この書き込みは、Age2chを使って配信されています。
────────────────────────────
Keep your thread alive !
http://pc3.2ch.net/test/read.cgi/software/1041952901/l50
────────────────────────────
OPERAから書き込みが出来なくなったのは私だけ?
IPまるだしでもマンコとかき続けることに変わりはない!!
>>112
そんなことはいちいち判断してらんないので、「もめごとは当事者同士で」
という結論になったんじゃないかと、、
>>110
7日ルールで言うと例えばこれ
http://qb.2ch.net/test/read.cgi/saku2ch/1034003763/

>>112
> どこまでが本気でまずい書き込みなのかが問題で
それは言われた方がどれくらい耐えるかに拠る。
現状だと、削除依頼を出されて7日ルールの範疇になった場合
スレッド上で反論をすれば、削除は保留されると思う。(俺の考え)
ただしその場合の責任は反論者に移る。 ってことかと。
大学受験板いけないのはいたい。
「4nd」ってなんだよ。
中学生以下だな
てかなんでここふしあなさんが多いの?
こんなスタイルになるのかな?

誰かが他の掲示板で密告→第三者が2chでスレ建て→祭り
test
おまえを殺す!とか言ったらタイーホされるの?
Objective-Cは需要はあるんですか?
ねえってば
00:00〜03:00
とか適当に書いておこう。
<丶`∀´><あっ糖が。
そういうわけでここは快速スレですすれ違いのタラコの話などはやめてくださいね。
ライブラリが一緒なんだ、なるほど。

とはいえそれが分かったところで何が出来るわけでもなく只聞いてみただけ(´Д`;)
======2==C==H======================================================

         2ちゃんねるのお勧めな話題と
     ネットでの面白い出来事を配送したいと思ってます。。。

===============================読者数: 139038人 発行日:2003/1/10

なにやら、連日メルマガだしてるひろゆきです。

そんなわけで、ログ記録実験ですが、いちいちサーバ指定するのが面倒なので、
全部のサーバに入れてみました。

重くなって落ちたりしてもご愛嬌ってことで。。。

んじゃ!

────────────────────────Age2ch─
■この書き込みは、Age2chを使って配信されています。
────────────────────────────
Keep your thread alive !
http://pc3.2ch.net/test/read.cgi/software/1041952901/l50
────────────────────────────
っていうか宇宙人から人類は監視されているよ。
25になって
ブルマにハァハァとか、
ドラちゃんかわいいとか、
オナニーはマウス動かしながらなので、左手ですとか

           そういうこと書くときは注意しないとな。    
なんとか なんねーの?
旧東ヨーロッパ系の胡散臭い国に鯖を移管して 名目上の管理者も
アル中のおやじとかやとってやらせてさあ。。

100%リモートじゃ無理?

2chみたいにこれだけ多くの不特定多数の人間が好きに発言できる場って
日本には他に無いはずだよ。良きにしろ、悪きにしろ貴重な存在だったのに・・・


どんなスレでも糞スレの雰囲気を漂わせるからねぇ。
ある意味すげーけど。
漏れはどこもさくさく行ける。
プロバ次第だと思われ。

キン肉マンに出てくるウールマン?
600,000,000
マジでIPってなんですか?
IPとれば処罰しやすくなるんだから良いことだ。マンコとかいてるぶんには、なんの問題もない
掲示板に「YOSAKOI爆破」予告、23歳を逮捕
インターネット掲示板に「YOSAKOIソーラン祭り」の爆破予告を書き込んだとして、
札幌中央署は、脅迫の疑いで苫小牧市内のアルバイト男性(23)を近く書類送検する。
<2002年6月27 北海道>
正直、本当の危機に直面しないと動かんだろうな。>2ちゃんねらー
だからこのスレ伸びないんだよ。
384山崎渉:03/01/13 18:48
(^^)
↑逆夢だね。。。
386山崎渉:03/01/15 18:03
(^^)
これってゴバク祭り?
388山崎渉:03/01/23 22:02
(^^)
389デフォルトの名無しさん:03/02/03 16:44
ここって、正常に動いてますか?
質問してもちゃんと答えが返ってきますか?
ちょっと不安です。書きたいことがあったんですけども。
>>388
とりあえずその質問を曝してテスト汁!
GNOME-objcの資料ありませんか?
ttp://www.interq.or.jp/earth/inachi/gtk/obgtk/intro.html
興味あるんだけどこれしか見つからない、、

深度111か、、
>>391
ttp://anoncvs.gnome.gr.jp/viewcvs.cgi/gnome-objc/
ここ見るかぎり、開発は停滞してるようだが…
本当に使う必要があるんなら、コードを読みながらってことになるな。

ところで、Objective-Cにガベージコレクタ実装させようと思うんだけど、誰かやってる人いる?
libgc使っちゃえば簡単だけど、参照を失ったオブジェクトはfree()させられるよりも
releaseメッセージが送られる方がうれしいなと思って。
393 :03/02/07 22:12
Portable Object Compiler
ttp://users.pandora.be/stes/compiler.html

これならちょっとだけ使ったことあるよ。Boehm gc に対応してる。
block(rubyみたいなの)も一応使える。
394391:03/02/07 22:42
>>392
資料ないですね、、一応書き手のelliotさんのページは見つけたんですが、、
ttp://people.redhat.com/~sopwith/

コード読みながらちょっと作ってみた。
長くなりますがこんな感じ?よくわからんケド、、

#include <obgtk/obgtk.h>

@interface testApp : Gtk_App
{
    Gtk_Window* winMain;
    Gtk_Layout* testLayout;
    Gtk_Label* testLabel;
    Gtk_Button* testBtn,*testBtn2;
    Gtk_Adjustment* hadj,*vadj;
}
- initApp:(int* )argcp:(char*** )argvp;
- free;
- button_press_event:(id)anobj :(GdkEventButton* )event;
- clicked:(id)anobj;
@end
395391:03/02/07 22:45
@implementation testApp
- initApp:(int* )argcp :(char*** )argvp
{
    [super initApp:argcp :argvp];

    hadj = [[Gtk_Adjustment alloc] initWithAdjustmentInfo:0:0:0:0:0:0];
    vadj = [[Gtk_Adjustment alloc] initWithAdjustmentInfo:0:0:0:0:0:0];

    testLabel = [[[Gtk_Label alloc] initWithLabelInfo:"Objective-C"] show];

    testBtn = [[Gtk_Button alloc] initWithLabel:"greeting"];
    [testBtn connectObj:"button_press_event" :self];
    [testBtn connectObj:"clicked" :self];
    [testBtn show];

    testBtn2 = [[Gtk_Button alloc] initWithLabel:"test2"];
    [testBtn2 connectObj:"button_press_event" :self];
    [[testBtn2 connectObj:"clicked" :self] show];

    testLayout = [[Gtk_Layout alloc] initWithLayoutInfo :hadj :vadj];
    [testLayout put:testLabel :(gint)0:(gint)0];
    [testLayout put:testBtn: (gint)30:(gint)30];
    [testLayout put:testBtn2: (gint)30:(gint)60];
    [testLayout show];

    winMain = [[Gtk_Window alloc] initWithWindowInfo:GTK_WINDOW_TOPLEVEL];
    [[winMain add:testLayout] show];
    [winMain signal_connect:"delete_event" signalFunc:gtk_main_quit funcData:NULL];

    return self;
}
396391:03/02/07 22:46
- free
{
    g_print("Freeing me\n");
    gtk_main_quit();
    return [super free];
}

- button_press_event:(id)anobj :(GdkEventButton* )event
{
    g_print("Button %d was pressed\n",event->button);
    return self;
}

- clicked:(id)anobj
{
    printf("A thing was clicked, object is %#x\n",(unsigned int)anobj);

    if(anobj == testBtn)
      [testLabel set_text:"Hello,world!"];
    else if(anobj == testBtn2)
      [testLabel set_text:"clicked by test2"];

    return self;
}
@end
397391:03/02/07 22:47
int main(int argc,char* argv[])
{
    id myApp;

    myApp = [[testApp alloc] initApp:&argc :&argv];
    [myApp run];
    return 0;
}

すれ汚してすいません、、
age