1 名前:デフォルトの名無しさん mailto:sage [05/01/29 16:18:12 ] ほんとプログラマにとってはMacって 本当に興味が無いOSだよねw Macでの標準的な言語であるObjective Cのスレすら無いし。 過去にはあったんだろうけど。
2 名前:デフォルトの名無しさん mailto:sage [05/01/29 16:18:56 ] 前スレ pc5.2ch.net/tech/kako/990/990574267.html
3 名前:デフォルトの名無しさん mailto:sage [05/01/29 16:19:32 ] オブジェクティヴィCってどんなもんなんだろうな。 少なくともC++よりはマシっぽいんだけど。
4 名前:デフォルトの名無しさん mailto:sage [05/01/29 16:22:58 ] またマカか
5 名前:デフォルトの名無しさん mailto:sage [05/01/29 16:32:53 ] 存在しない言語でスレを立てるな
6 名前:デフォルトの名無しさん mailto:sage [05/01/29 16:42:05 ] #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
7 名前:デフォルトの名無しさん mailto:sage [05/01/29 16:42:37 ] @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; }
8 名前:デフォルトの名無しさん mailto:sage [05/01/29 16:43:16 ] - 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
9 名前:デフォルトの名無しさん mailto:sage [05/01/29 16:44:08 ] int main(int argc,char* argv[]) { id myApp; myApp = [[testApp alloc] initApp:&argc :&argv]; [myApp run]; return 0; } 前スレの最後に載ってたけどgtk弄るだけでこんなかっこよくなる言語なんて初めて見たぜ
10 名前:デフォルトの名無しさん mailto:sage [05/01/29 17:14:16 ] >>1 勝手に俺のレスパクってスレ立てるなよw
11 名前:デフォルトの名無しさん mailto:sage [05/01/29 17:16:41 ] ×こんなかっこよくなる言語なんて初めて見たぜ ○こんな括弧よくでる言語なんて初めて見たぜ
12 名前:デフォルトの名無しさん mailto:sage [05/01/29 17:17:55 ] [ >>1 release ];
13 名前:デフォルトの名無しさん mailto:sage [05/01/29 17:19:17 ] >>8 の return [super free];が狙ってるようにしか見えない
14 名前:デフォルトの名無しさん mailto:sage [05/01/29 17:20:36 ] このスレmac系の板に移動したんじゃなかったっけ?
15 名前:デフォルトの名無しさん mailto:sage [05/01/29 17:27:38 ] 移動したは良いが、ただでさえMacプログラマの人口が少ないのに、 さらにいないMac板に移ってカキコが無くなり、消えた。
16 名前:デフォルトの名無しさん mailto:sage [05/01/29 17:43:11 ] VisuaRubyもそれなりにいいよ
17 名前:デフォルトの名無しさん mailto:sage [05/01/29 17:47:06 ] Objective-C っていえば Mac っつーより NeXT とか OSX だろ?
18 名前:デフォルトの名無しさん mailto:sage [05/01/29 17:48:42 ] OSXはMacな訳だが
19 名前:デフォルトの名無しさん mailto:sage [05/01/29 17:51:58 ] >>13 自作自演乙
20 名前:デフォルトの名無しさん mailto:sage [05/01/29 19:05:27 ] 今度はいつまで持つかな? 今のところ技術的な話題は無し。
21 名前:デフォルトの名無しさん [05/01/30 01:30:04 ] Mac mini 発売記念age. マカは偉そうにPCの使い心地に対して文句を言うくせに、 使い心地が良くなるように工夫はしない「クリエイタ」が多いですね。
22 名前:デフォルトの名無しさん mailto:sage [05/01/30 01:31:26 ] >>9 こんなキモイ言語いらね C♯の構文で x86/PowerPCのネイティブがはければ最強なのに
23 名前:デフォルトの名無しさん mailto:sage [05/01/30 01:35:58 ] C#の構文なんて糞じゃん
24 名前:デフォルトの名無しさん mailto:sage [05/01/30 01:36:12 ] 言語仕様どっかに落ちてない?
25 名前:デフォルトの名無しさん mailto:sage [05/01/30 01:39:16 ] www.toodarkpark.org/computers/objc/
26 名前:デフォルトの名無しさん mailto:sage [05/01/30 01:39:26 ] >>24 www.gnustep.org/resources/documentation/ObjectivCBook.pdf
27 名前:デフォルトの名無しさん mailto:sage [05/01/30 17:54:53 ] smalltalkが持つ理想郷と、Cの泥くさい、現実的な部分 を併せ持つ言語だと思う。 GUI部分はオブジェクト拡張部分でさくっと実装、 (画像、音声処理の)エンジン部分はCでねちねち実 装という場合に、もっとも真価を発揮すると思う。
28 名前:デフォルトの名無しさん mailto:sage [05/01/30 17:56:58 ] オブジェクト指向なんてパラダイムのひとつに過ぎないというのに、おおげさに 騒ぎ立てる人を見掛けると、いつも不思議に思っている。
29 名前:デフォルトの名無しさん mailto:sage [05/01/30 21:11:26 ] つか言語なんぞどうでもいい
30 名前:デフォルトの名無しさん mailto:sage [05/01/30 21:13:42 ] >>28 そういう連中はCライクな言語しか触った事がないんだよ。
31 名前:デフォルトの名無しさん mailto:sage [05/01/30 23:40:32 ] まずc++を勉強してからじゃないと難しいのでしょうか?cは知っているんですが。
32 名前:デフォルトの名無しさん mailto:sage [05/01/31 00:04:16 ] >>31 微妙・・・C++慣れるとObjective-C行くのも抵抗はあるぞ? 興味あるなら直接行けば(゚з゚)イインデネーノ? 正直、考え方とかを除くと言語自体はそれ程覚える所はない・・・
33 名前:デフォルトの名無しさん mailto:sage [05/01/31 00:19:22 ] C++は関係ないので勉強する必要はまったくありません。
34 名前:デフォルトの名無しさん mailto:sage [05/01/31 00:46:20 ] >>28 はオブジェクト指向の概念を理解出来ずに挫折した香具師と思われ
35 名前:デフォルトの名無しさん mailto:sage [05/01/31 00:50:50 ] >>34 なんでそう思うんだろう…
36 名前:デフォルトの名無しさん mailto:sage [05/01/31 01:19:47 ] >>3233 どうもです。アーロンの本はC++を知ってるのを前提にって事になっているので、C++知らないので読むのやめちゃったんですね。
37 名前:デフォルトの名無しさん mailto:sage [05/01/31 01:28:25 ] >>34 オブジェクト指向が特別重要でないと考える、ならば、オブジェクト指向の概念を理解できずに挫折した これは成り立つかどうかは怪しいね。 オブジェクト指向の概念を理解できずに挫折した、ならば、オブジェクト指向が特別重要でないと考える これは成り立つかどうかは難しいね。
38 名前:デフォルトの名無しさん mailto:sage [05/01/31 02:20:33 ] これほど使っている人が少ない言語も珍しい。
39 名前:デフォルトの名無しさん mailto:sage [05/01/31 02:33:05 ] > これほど使っている人が少ない言語も珍しい。 いや珍しくはないと思う。
40 名前:デフォルトの名無しさん mailto:sage [05/01/31 02:35:13 ] >>38 brainf*ck
41 名前:デフォルトの名無しさん mailto:sage [05/01/31 06:17:34 ] >>40 Objective-Cってそのカテゴリなのか。 確かに文法はちょっと変態的かもしれないけど。
42 名前:デフォルトの名無しさん mailto:sage [05/01/31 06:59:08 ] オープンソースアプリでの使用実績。 Objective C (626 projects) 他の代表的な言語と比べても桁一つ以上少ないな。 C (14193 projects) C# (2135 projects) C++ (14640 projects) Delphi/Kylix (1683 projects) Java (13888 projects) Perl (5637 projects) Visual Basic (2027 projects) sourceforge.net/softwaremap/trove_list.php?form_cat=160
43 名前:デフォルトの名無しさん mailto:sage [05/01/31 06:59:22 ] Whitespace
44 名前:デフォルトの名無しさん mailto:sage [05/01/31 10:02:06 ] >>42 C#がそこまで使われていたなんて知らなかった。 逆にVBがそんなに使われていないとも知らなかった。
45 名前:デフォルトの名無しさん mailto:sage [05/01/31 10:42:42 ] Objective-Cが626件というのも驚異的な数字だと思うんだけど。
46 名前:デフォルトの名無しさん mailto:sage [05/01/31 11:02:07 ] >>45 *オープンソースでは*わりと使われているみたいですね
47 名前:デフォルトの名無しさん mailto:sage [05/01/31 14:04:03 ] >>44 VBってオープンソース向けではないでそ
48 名前:デフォルトの名無しさん mailto:sage [05/01/31 19:05:32 ] VBはオープンソース向けでないにもかかわらず、 オープンソースでそれだけ使われているってことね。 Objective-Cがオープンソース向けかどうか知らないけど、 オープンソース向けとしてなら少ないし、 オープンソース向けでないとしても、 同じくオープンソース向けでないVBよりも少ない。
49 名前:デフォルトの名無しさん mailto:sage [05/01/31 21:26:54 ] Objective-Cそのものはオープンソースだけどね。
50 名前:デフォルトの名無しさん mailto:sage [05/01/31 21:38:25 ] >>49 そんなこと言ったらCだってオープンソースだし、Javaだってオープンソースだ。
51 名前:デフォルトの名無しさん mailto:sage [05/01/31 22:54:20 ] というか、もうMac専用言語だと割り切った方が良い。 >>36 OOPやってた香具師ならアポのPDFと、その辺にあるネットの 説明ぐらいで充分。元々大した量じゃない 後はサンプルなんか感触つかめばエエ話
52 名前:デフォルトの名無しさん mailto:sage [05/02/01 01:08:27 ] Mac専用言語だと思ったら、ますます >>45 が驚異的に思えるな。 CができてOOPが理解できてれば、すんなり入れて楽に使えるから、たしかに導入時のハードルは低いな。
53 名前:デフォルトの名無しさん mailto:sage [05/02/01 04:46:39 ] この本を読めばC++よりObjective-Cの方がオブジェクト指向を 忠実に実現しているのが分かると思う。 第1版は絶版らしいので第2版を紹介 ttp://www.amazon.co.jp/exec/obidos/ASIN/4775303716/ 今風にMacOSX向けの記述が追加されてるそうな。
54 名前:デフォルトの名無しさん mailto:sage [05/02/01 11:45:58 ] この言語良く知らないんだけど、GCって付いてるの?
55 名前:デフォルトの名無しさん mailto:sage [05/02/01 13:21:41 ] >>54 基本的にはできない。 Objective-C(っというかNSxxのCocoa[OpenStep]フレームワーク)は WinのCOMやboostのスマートポインタみたいに参照カウンタ方式。 NSでautorelease poolとかを使えばある程度の管理はしてくれ るけど、Javaのようなもんじゃない Objective-CのライブラリでGCもどきを誰かが作ってたきもする が失念 >>53 史実っていうかSmalltalkに似せようとしたのがObjective-C でそ?C++とコンセプトが違うから仕方ない # あーテンプレート使いテー
56 名前:デフォルトの名無しさん mailto:sage [05/02/01 16:05:53 ] >>52 うーん。言語仕様(マニアックに突っ込まなきゃ)だけなら Objective-C、C++、Java、C#、その他も覚える量は大して 変らんと思うよ。 実際ある程度の物を作るんだったら、フレームワーク覚えるのが 一番時間かかる(OOP関連除けば)んだから。。
57 名前:デフォルトの名無しさん mailto:sage [05/02/01 17:06:34 ] Cからの移行なら完全上位互換の Objective-C が楽なのは明確だろ。
58 名前:デフォルトの名無しさん mailto:sage [05/02/01 17:09:00 ] ObjectiveCでλ式は書けますか?
59 名前:デフォルトの名無しさん mailto:sage [05/02/01 17:43:13 ] >>57 そうか? C++の方が先だったので実際にC→Objective-Cをやった訳 ではないけど、覚え易さに強調(売りに)するほどの差は無い とは思うがね。まぁどっちでも良いわさ。 C→Objective-Cも、C→C++も別に大変ってわけでも無いし
60 名前:デフォルトの名無しさん mailto:sage [05/02/01 19:46:19 ] C++は無駄な拡張しすぎだと思う
61 名前:デフォルトの名無しさん mailto:sage [05/02/01 19:56:24 ] >>60 アーー、どんな拡張っスか。 僕様チャン頭ワりーんで、わかんねーッ アヒャww
62 名前:デフォルトの名無しさん mailto:sage [05/02/01 20:01:28 ] スタックにインスタンスとれるとこなんか、 なーんかやな感じなんだよなあC++
63 名前:デフォルトの名無しさん mailto:sage [05/02/01 20:14:59 ] >>62 俺はそこが好きなんだよね……
64 名前:デフォルトの名無しさん mailto:sage [05/02/01 20:18:13 ] Objective-Cは長いのでOCと書いても良いですか
65 名前:デフォルトの名無しさん mailto:sage [05/02/01 20:30:01 ] ふつー ObjC
66 名前:デフォルトの名無しさん mailto:sage [05/02/02 04:11:21 ] 他スレみたいにObjective-Cがらみのプログラミングで どうするのかとか聞くスレかと思いきや。 Objective-Cとは何か? って もはや新しく言語が出来てどういう言語なのか話しているのと同じレベルだな。 昔からある言語なのに使われていないと言うことが良くわかった。
67 名前:デフォルトの名無しさん mailto:sage [05/02/02 04:27:38 ] 今でもライブラリ・フレームワークを整備したら流行るかねえ。 そういえばObjective-C++なんてあったようななかったような。
68 名前:デフォルトの名無しさん mailto:sage [05/02/02 04:46:35 ] 次(あるのか?)のスレタイ 【雑談】Objective-C【禁止】
69 名前:デフォルトの名無しさん mailto:sage [05/02/02 07:53:01 ] Objective-C++ってなに?
70 名前:デフォルトの名無しさん mailto:sage [05/02/02 14:08:06 ] Cocoaはさっぱり!!! version.4 pc7.2ch.net/test/read.cgi/mac/1091927026/
71 名前:デフォルトの名無しさん mailto:sage [05/02/02 14:53:09 ] Cocoaはやっぱり!!! 202.228.189.75/
72 名前:デフォルトの名無しさん mailto:sage [05/02/02 14:53:59 ] >>71 怪しいから踏みたくないなぁ…
73 名前:デフォルトの名無しさん mailto:sage [05/02/02 15:32:44 ] >>69 homepage.mac.com/mkino2/spec/objectiveC++/objectiveC++.html
74 名前:デフォルトの名無しさん mailto:sage [05/02/02 17:15:00 ] >>72 >>71 は森永製菓だから大丈夫
75 名前:デフォルトの名無しさん [05/02/02 17:35:55 ] 日本語訳あるのね。 Objective-C プログラミング言語 developer.apple.com/ja/documentation/cocoa/Conceptual/ObjectiveC/index.html
76 名前:デフォルトの名無しさん mailto:sage [05/02/02 19:01:15 ] >>73 Objective-C と C++ の Rhapsody っていうより ただしっちゃかめっちゃかに見える
77 名前:デフォルトの名無しさん mailto:sage [05/02/02 20:54:37 ] ちょっとうろおぼえ何だけどさ、Nextの実装だと {obj message] でobj がnil でも落ちなかったよね?
78 名前:デフォルトの名無しさん mailto:sage [05/02/02 22:35:56 ] たしかnilは何でも受けるんじゃなかったっけ?
79 名前:デフォルトの名無しさん mailto:sage [05/02/03 00:43:38 ] 誰も答えを知らない言語・・・。
80 名前:デフォルトの名無しさん mailto:sage [05/02/03 00:45:03 ] 俺もこのスレ見てるけど使った事ないし。
81 名前:デフォルトの名無しさん mailto:sage [05/02/03 02:12:37 ] >>77-80 みんなGCCくらい持ってるでしょ? なら, #import <objc/Object.h> int main(int argc, char* argv[]) { id obj = nil; [obj new]; return 0; } を gcc Test.m -Wno-import -lobjc とコンパイルしてみればいいじゃない。 やってみれば分かるが,警告なしでコンパイルは通り,実行時も何もエラーは出ない。 nilはメッセージを何でも受け付ける。
82 名前:デフォルトの名無しさん mailto:sage [05/02/03 02:19:44 ] >>81 できた。 ちょっと構文規則でも読んでくる。
83 名前:デフォルトの名無しさん mailto:sage [05/02/03 11:01:50 ] 読んだ。なんとなく解かった。C++の方が使いやすいのは慣れていないからだろうか。 ともかくとして、疲れたから寝る。おやすみ。
84 名前:デフォルトの名無しさん mailto:sage [05/02/03 15:52:31 ] 10.4でpersistent objectが実装されるらしい。XML/RDBベース。
85 名前:デフォルトの名無しさん mailto:sage [05/02/03 15:53:49 ] >>83 ObjCは未知のサブクラスのインスタンスを呼び出せる。
86 名前:デフォルトの名無しさん mailto:sage [05/02/03 16:20:02 ] >>84 今でも nib っていうのがあるけど
87 名前:デフォルトの名無しさん mailto:sage [05/02/03 17:02:12 ] 10.4のQTKitに期待! No More カーボン!
88 名前:デフォルトの名無しさん mailto:sage [05/02/03 20:57:05 ] nilが全てのメッセージを受け取る言語だと nilで死ぬことないから、逆にチェックを厳密にやらないと 分かりづらいバグが出るだろうね。 しかし当たり前の話だけどnilはOKなのに releaseしたゴミポインタにメッセージを 送ると普通にSEGVで死ぬのがムカつく(w [obj release] obj=nil; これで安全。
89 名前:デフォルトの名無しさん mailto:sage [05/02/03 21:00:20 ] releaseだったら当該コードで死亡するところが、 autorelease pool つかうとどこが悪くて落ちるかわかんなくて 結構デバッグ大変じゃない?
90 名前:デフォルトの名無しさん mailto:sage [05/02/03 21:13:26 ] >>88 なんか前半と後半で矛盾したことを言ってるぞ。 >releaseしたゴミポインタにメッセージを >送ると普通にSEGVで死ぬのがムカつく(w ここで死んでもらわんとわかりづらいバグになるだろうがw
91 名前:デフォルトの名無しさん mailto:sage [05/02/04 01:10:22 ] >90 え、QTKitってCocoaでバリバリQuickTimeいじれるようになるんじゃないの、、、 NSMovieViewって基本的なことしか今はできないですよね? いろいろやろうとすると結局Carbonっていうのがなぁ、、、 QTKitでCarbonと同じようにCocoaからQTがいじれるのかなーと思ってます。
92 名前:デフォルトの名無しさん mailto:sage [05/02/05 16:25:45 ] >>86 nibってInterface Builderの、だよね。 変更したインスタンスは保存できんよ。
93 名前:デフォルトの名無しさん mailto:sage [05/02/06 17:04:21 ] ObjCの実装で実績あるのってappleのとgccぐらい?
94 名前:デフォルトの名無しさん mailto:sage [05/02/06 18:16:20 ] >>93 Appleの=gcc な訳だがw
95 名前:デフォルトの名無しさん mailto:sage [05/02/06 20:47:27 ] NSなんちゃら
96 名前:デフォルトの名無しさん mailto:sage [05/02/07 03:19:48 ] Stepstone の Objective-C 使ってますた
97 名前:デフォルトの名無しさん [05/02/07 11:29:15 ] OSXで初プログラミング中なんだけど、Interface BuilderとObjective-C++での 開発はめちゃくちゃ楽やね。もちろん最初は情報がなかなか捜せなくて、数行 で書けることをWebで見つけ出すのに数時間なんてことやってたけど。Winに もGNUStep入れてみようかと思ってる。
98 名前:デフォルトの名無しさん mailto:age [05/02/11 19:12:15 ] age
99 名前:デフォルトの名無しさん mailto:sage [05/02/12 21:14:32 ] メモリ管理のできるパフォーマンスのよいjavaみたいなもんだと 思うのだが、なぜか人気がない。why?
100 名前:デフォルトの名無しさん mailto:sage [05/02/12 21:24:13 ] 宣伝してないからかな。 ところでWindowsで使えるんか? Cocoaが無いと意味ないか。
101 名前:デフォルトの名無しさん mailto:sage [05/02/12 21:56:30 ] ttp://www.mosa.gr.jp/mpj2000/jul/toku1/toku1.html
102 名前:デフォルトの名無しさん mailto:sage [05/02/12 22:53:14 ] Objective-Cで満足にプログラミングできる環境が整ってるのはやっぱOS Xくらいだろうなぁ。 そのほかの環境でやるとしたらGNUStep + ObjCかGTK+ + ObjCってところ?
103 名前:デフォルトの名無しさん mailto:sage [05/02/15 09:42:28 ] >>99 字面
104 名前:デフォルトの名無しさん mailto:sage [05/02/15 15:19:34 ] ちょっと書きにくいんだよ、はじめの”[”が。 C/C++,Java,VBみたいにhoge.funcとかhoge->funcと左から右へ 単純に移動するだけですめばいいんだけど
105 名前:デフォルトの名無しさん mailto:sage [05/02/15 19:39:45 ] [obj message]; は主語と述語っぽくて読みやすいよ。 英文として読み下せるよ。ってどっかの外人が言ってた。
106 名前:デフォルトの名無しさん mailto:sage [05/02/15 23:49:44 ] cocoaの仕事したいなあ、どこで募集しているのだろう?
107 名前:デフォルトの名無しさん mailto:sage [05/02/18 21:28:07 ] その昔の実装だと 例外発生時にcatchまで飛ぶのはいいけど try - catch 中に生成したオブジェクトをdeleteしようがなくて メモリリークの危険バリバリだったよーな気がする。 これって今どーなってる?
108 名前:デフォルトの名無しさん mailto:sage [05/02/18 22:37:39 ] @finally でやればいいのでは?
109 名前:デフォルトの名無しさん mailto:sage [05/02/22 18:55:50 ] >>102 GTK+ の Objective-C バインディングというと, * GTKKit * GToolkit * gnome-objc あたりがあるんだけどどれもメンテナンスされてないんだよねぇ…? 昔 gnome-objc で遊んでたけど結構 buggy でいくつか patch 書いて送ったけど 完全無反応だったし… # まぁ C の API 直接叩けばいいんだけどさ…
110 名前:デフォルトの名無しさん [05/02/25 13:01:36 ] developer.apple.com/ja/documentation/japanese.html Cocoa バインディング入門 キー値コーディング(Key Value Coding) キー値監視について(Key Value Observing)
111 名前:デフォルトの名無しさん mailto:sage [05/02/25 15:04:26 ] 簡単な質問かもしれませんが、分からないので教えてください。 以下のプログラム、核は出来ています。このまま使用しても目的は達成できます。が、 tokyo.cool.ne.jp/kuonnnokizunanbalivetehe/CSJS2EUC.C tokyo.cool.ne.jp/kuonnnokizunanbalivetehe/CEUC2SJS.C この2つのソースコードをJISを経過させずに直接変換させるにはどうしたらいいでしょうか?
112 名前:デフォルトの名無しさん mailto:sage [05/02/25 15:05:47 ] まったく見ていないが、おそらく Objective-C とは何ら関係がない。
113 名前:デフォルトの名無しさん mailto:sage [05/02/26 04:56:52 ] なんか夜9時にいきなりツールを明日の朝までに作れって上司が言って 仕様書いたポストイットを俺の端末に貼って帰りやがった 最初は普通に VisualC++ で作ってたが途中で上司の態度がムカついてきたんで GNUStep と MinGW と コーディング用に Meadow 落としてきて Objective-C と GNUStep の Foundation と Win32API の不気味なコラボレーションで 仕様通りのツールを仕上げてやった 俺が辞めた後でソースみて気絶する奴が出ない事を祈る
114 名前:デフォルトの名無しさん mailto:age [05/02/26 08:04:44 ] >>113 GJ! と言っておこう。
115 名前:デフォルトの名無しさん [05/02/26 17:44:09 ] >>113 苦しむのは後釜と思われ。 その上司は次の誰かに朝までの修正を夜9時に渡して帰るだけだぞ。 内容が解らんので何とも言えんが、因みに本当に非道いケースでは 上司が定時帰宅で責任は部下に擦り付ける罠。 あとその成果物って他のPCでも動く?
116 名前:デフォルトの名無しさん mailto:sage [05/02/26 17:48:46 ] >>115 113じゃないがobjc.dllとgnustep-base.dllいっしょに入れときゃ動くでしょ。
117 名前:デフォルトの名無しさん mailto:age [05/02/26 23:32:11 ] Objective-Cの参考書(日本語)って存在しないのか・・・? 世の中はC、C++、C#、Java、VBがほとんどを占めている訳か? 「Cocoaはやっぱり」以外にOSXでのプログラミングを支援する書籍が無い! Appleは何を考えとるんだ・・・。 英語版をなんとかして読むしかありませんか。
118 名前:デフォルトの名無しさん mailto:sage [05/02/26 23:41:24 ] > Appleは何を考えとるんだ・・・。 イマドキ「日本語の参考書がないから勉強できまちぇん」 とかヌカしてる連中は必要ないということでしょう。
119 名前:デフォルトの名無しさん mailto:sage [05/02/26 23:50:07 ] >>117 ヒレガス本,萩原本,HMDTは? 萩原本は出版社がなくなったみたいだから手に入りにくいかも知れんけど。 Objective-Cの言語についてだったら日本語翻訳がある。 developer.apple.com/ja/documentation/cocoa/Conceptual/ObjectiveC/index.html
120 名前:デフォルトの名無しさん [05/02/26 23:50:23 ] >「Cocoaはやっぱり」以外にOSXでのプログラミングを支援する書籍が無い! これはあんまりだろ。
121 名前:デフォルトの名無しさん mailto:sage [05/02/26 23:55:59 ] とりあえずHappy Macintosh developing timeは買っとく事にします。 >>120 書籍ベースの参考書についてはJavaやC++みたいな 習得人口の多い言語と比べるべきでは無かったですね。
122 名前:デフォルトの名無しさん mailto:sage [05/02/27 00:40:30 ] Cocoaはやっぱり!とHMDT本と、HMDTのページのCocoa 1001があればほぼ用が済むと 思うんだけど.... APIリファレンスがちゃんとあるんだしさ。
123 名前:デフォルトの名無しさん mailto:sage [05/02/27 02:12:50 ] Objective-Cって学習コストがかなり低い部類に入ると思うけどなあ。 俺なんて講義でObjective-Cによるフレームワークのを使うからってんで 簡単な紹介とポインタ示してこういうものがあるから覚えてこいでおしまいだったぞ。 当然そっから先の講義のほとんどやレポートに必要だった。
124 名前:デフォルトの名無しさん mailto:sage [05/02/27 04:05:16 ] >> 123 * C言語が使える * 少くとも一つのオブジェクト指向言語が使える 人ならば学習コストは低いでしょうけど… 昔 "10 minutes learning objective-C"(だったかな?) とかいう Web page を読んで文法覚えました。 当時 C や Java を覚えた後だったんで覚えるのに1日はかからなかったなぁ。 #10分じゃ無理だったけど
125 名前:デフォルトの名無しさん mailto:sage [05/02/27 04:55:33 ] > 萩原本は出版社がなくなった うわ、ほんとだ。知らなかった。 www.dgcr.com/cgi-bin/backnumber/back.cgi?mode=right&year=2004&month=9&day=17
126 名前:デフォルトの名無しさん mailto:sage [05/02/27 10:10:34 ] Macに乗り換えてプログラミングに興味があるので、CocoaのObjective-Cでプログラミングをしてみたいのですが、どこから入れば良いでしょうか。 ちなみに、プログラミングの知識は0に近く、WindowsでHSPという言語でちょこっとやったことがある程度です。
127 名前:デフォルトの名無しさん mailto:sage [05/02/27 11:06:54 ] はじめてのMac OS X Cocoaプログラミング―v10.2対応 www.amazon.co.jp/exec/obidos/ASIN/4898143997/ 辺りかなぁ。
128 名前:デフォルトの名無しさん [05/02/27 11:43:37 ] >>127 中村本は取っ付きやすいとはおもうけどCの知識が0だときついよ。 Cの入門書とセットで読むといいかも。
129 名前:デフォルトの名無しさん mailto:sage [05/02/27 12:39:07 ] >>117-122 だべってないでお前らが本書けばいいだけじゃん 一人一殺だ
130 名前:r [05/03/02 23:57:23 ] ここって、Objective-CっつーよりCocoaスレなんだな。 あのさ、NSImageViewのサブクラスを作って、 -(void)mouseUp:(NSEvent*)event; をオーバーライドして、 画像上のマウスクリックのイベントを拾おうとしたんだが、 なんか、mouseUpメソッドが呼ばれないみたいだったんだ。 で、試しに -(void)mouseDown:(NSEvent*)event; も、ついでにオーバライドしてみたら、 mouseUpもmouseDownも呼ばれるようになった。 mouseUpとmouseDownって、ペアでオーバライドしなきゃいけないの? これってマカーには常識?
131 名前:デフォルトの名無しさん mailto:sage [05/03/03 02:27:37 ] そんなことはない 副作用で直ったと思われ
132 名前:デフォルトの名無しさん mailto:sage [05/03/03 18:39:51 ] 言語の敷居は低いが、Cocoaがキツイ。 良く在るC++のクラスライブラリと違ってOSの一部なので、ソースが無い。 かといって、JDKのように挙動が自明でもない。 試行錯誤させられる亊が多過ぎる。
133 名前:デフォルトの名無しさん mailto:sage [05/03/03 18:41:38 ] 演算子のオーバーロードがないから文字列クラスの扱いがきついね std::stringですら遥かにまし
134 名前:デフォルトの名無しさん [05/03/03 19:21:21 ] 早くXCodeがDをサポートしますように
135 名前:デフォルトの名無しさん mailto:sage [05/03/03 22:25:19 ] ソースはある
136 名前:デフォルトの名無しさん mailto:sage [05/03/03 23:15:51 ] >>135 あるの?
137 名前:デフォルトの名無しさん mailto:sage [05/03/04 01:12:28 ] mac mini届いた、Objective-Cを触ってみたが、C++に要した労力に比べると、格段に易い。 文法もすっきりしている、好きになりそうだ。
138 名前:デフォルトの名無しさん mailto:sage [05/03/04 01:39:01 ] >>137 すごいな。 漏れはずっとC++使って来て、PublicBetaを試したとき、 Objective-C自体の書式はすぐに分かったのだけど、 IBとPBの連携の意味を理解するのに半年掛かってしまった。 資料見ても意味分からないから試行錯誤&挫折の繰り返しでなかなか意図を見抜けなかった。 で、ようやくポトペタでGUIアプリが作れるようになったんだけど、 結局Cocoaのクラス構成とかの流儀に馴染む前に嫌になってしまったよ……。
139 名前:デフォルトの名無しさん mailto:sage [05/03/04 08:50:58 ] autoreleaseなんてのがあるので オブジェクト解放のタイミングが分かりづらくなってる気がする。 なかなか気付きにくいよ「イベントループの末尾で削除」なんて。
140 名前:デフォルトの名無しさん mailto:sage [05/03/04 10:19:26 ] そこでGNUstepのGCですよ。 マジほしいな、これは。
141 名前:デフォルトの名無しさん mailto:sage [05/03/06 13:05:38 ] 情報提供してあげてください。 ttp://www.rubyist.net/~matz/20050304.html >どうやらObjective-Cの「カテゴリ」と呼ばれる機能が、以前から悩んでいたselector namespaceに近いもののようだ。基本的な概念は理解できるものの、実際の挙動(と実装)がイメージできず苦しんでいたので、参考にできるものがあるのはありがたい。 >しかし、ちょっとGoogleしてみた範囲内では、その仕様はよくわからなかった。具体的な挙動や実装について参考になる資料はないものだろうか。 >あれ? まてよ。 >今、改めてGoogleしたページを読み返すと、別に有効範囲が静的スコープであるとは書いてないな。そうするともしかしてカテゴリってのは、ただ単に「インスタンス変数が追加できないMix-in」なのか。それだったらすっごい残念なのだが。 >selector namespaceのある言語といえば、他にSmallscript (S#)やJavaScript (EcmaScript 4.0)などもあるが、いずれも現時点で私には理解できていない。 >情報提供歓迎。
142 名前:デフォルトの名無しさん mailto:sage [05/03/07 12:12:31 ] >インスタンス変数が追加できないMix-in でほぼ正解じゃなかったかな…? メソッドも追加ができるだけでオーバーライドすらできないからそれ以下かな?
143 名前:142 mailto:sage [05/03/07 13:13:57 ] すまん… オーバーライドはできたかも…
144 名前:デフォルトの名無しさん [05/03/08 22:09:19 ] idとNSObject*と、他Objective-Cのインスタンスへのポインタって、 全く等価なもんなんでしょうか。 例えばObjective-Cのクラス Fugaが定義されているとして、 次の2行は等価? 非等価? id p = [[Fuga alloc] init]; Fuga* p = [[Fuga alloc] init];
145 名前:デフォルトの名無しさん mailto:sage [05/03/08 22:17:13 ] コンパイル時に型チェックが働くか否かの差
146 名前:デフォルトの名無しさん mailto:sage [05/03/08 22:25:34 ] >>142 Mix-inって、クラスを特定することなく定義できる必要があると思うんだけど。 Objective-Cのカテゴリって定義時にクラスを指定するから、他のクラスで使うことができない。 これをMix-inというのだろうか。そもそもMix-inとは?
147 名前:142 mailto:sage [05/03/09 13:43:29 ] >>146 わたしの中での Mix-in に対する認識は * 基本となる型(Flavor)が存在する * その型に対して追加機能を提供する型が Mix-in * 機能追加すること自体も Mix-in と呼ぶ(?) * 機能追加は,実装でも仕様でもOK * プロトタイプ言語には Mix-in は存在しない(必要ない) * C++ の多重継承でも Mix-in (の概念)は存在する(らしい) という感じです。 なので特定の型(Flavor)に機能追加するだけでも Mix-in だと思ってますが… 世間一般での Mix-in の定義はどうなんでしょうね?
148 名前:デフォルトの名無しさん [05/03/09 18:46:33 ] >>145 ダイナミックバインドってid経由でしか働かないんだっけ
149 名前:デフォルトの名無しさん mailto:sage [05/03/09 20:53:44 ] 仕様の追加は mix-in とは言わないんじゃ、、、 > * C++ の多重継承でも Mix-in (の概念)は存在する(らしい) というか、多重継承だからこそ mix-in が可能なんじゃないか? Ruby は多重継承ができないけど、 mix-in があるので 多重継承と似たことができますよ、ってことにしてるんでしょ?
150 名前:デフォルトの名無しさん mailto:sage [05/03/09 21:04:48 ] 逆 C++ では Mix-in を表現するに多重継承を使う方法がある
151 名前:デフォルトの名無しさん mailto:sage [05/03/09 21:14:19 ] あぁ、まぁ、そうか。
152 名前:デフォルトの名無しさん mailto:sage [05/03/09 21:29:40 ] >>148 developer.apple.com/ja/documentation/Cocoa/Conceptual/ObjectiveC/3objc_language_overview/chapter_7_section_8.html
153 名前:デフォルトの名無しさん mailto:sage [05/03/09 23:04:51 ] ここの住人は基本的にCocoaプログラマ?
154 名前:デフォルトの名無しさん mailto:sage [05/03/10 16:28:59 ] そうみたい でもCocoaに限らない話題希望
155 名前:デフォルトの名無しさん [05/03/10 16:46:04 ] >>154 Cocoa以外でobj-c使う場面ってどんな場面よ
156 名前:デフォルトの名無しさん mailto:sage [05/03/10 16:48:13 ] GNUstepとか。
157 名前:デフォルトの名無しさん [05/03/10 16:51:19 ] メッセージの一つ目の引数にラベルつけらんなくてみんな困ってます
158 名前:デフォルトの名無しさん mailto:sage [05/03/10 17:14:38 ] バカだなー、一つ目をダミーの引数にすればんだよ。
159 名前:142 mailto:sage [05/03/10 17:25:10 ] >>149 Mix-in の概念は実装の追加のみに限定されるものでもないと思うんだが… Java の interface や Objc の protocol も Mix-in な型として使われ る場合があるし,それも Mix-in と呼べると思うけど… Mix-in について解説したドキュメントでいいのないかな? Mix-in評論家(?)の日記くらいか? ttp://www.rubyist.net/~matz/0128.html
160 名前:デフォルトの名無しさん mailto:sage [05/03/10 22:45:41 ] Cocoaをはじめようと思います。Objective-Cを学ぶにはC言語を覚えてからオブジェクト指向を理解したうえで、というのが近道だと聞きましたが、ベースとなるC言語の知識はどれくらい必要でしょうか。
161 名前:デフォルトの名無しさん mailto:sage [05/03/11 00:02:58 ] そりゃ、基本的事項は全てだろ。 テキストがあれば、それの最初から最後まで。 心配しなくてもそんなに分量はない。 けと、その都度実践していかないと(つまり、ソースを作っては試す) 身にはつかない。
162 名前:デフォルトの名無しさん mailto:sage [05/03/11 01:11:55 ] 同意。 でも、多くの人がポインタで挫折すんだよねー。 まぁ、今は良い参考書もいっぱいあるから、昔に比べりゃ全然楽だ。
163 名前:デフォルトの名無しさん mailto:sage [05/03/11 01:40:32 ] 「すればんだよ」とか「けと、」とか日本語じゃない言葉が飛び交ってて 話てるのか何か良く分からないんです。
164 名前:デフォルトの名無しさん mailto:sage [05/03/11 01:42:50 ] >>162 >でも、多くの人がポインタで挫折すんだよねー。 それは数あるポインタの解説書がことごとく間違っていたり 嘘言っていたりして学習者の混乱を増長させているから。
165 名前:デフォルトの名無しさん mailto:sage [05/03/11 02:05:42 ] ポインタと配列の間に関係性を持たせてしまったCの仕様にも責任がある希ガス。
166 名前:デフォルトの名無しさん mailto:sage [05/03/11 02:23:51 ] どうして? ごく自然な仕様だろ。
167 名前:デフォルトの名無しさん mailto:sage [05/03/11 03:15:52 ] int *p; において、 「*(p+i)はp[i]って書き方もできます」って仕様は余計だと思う。 これのせいで、ポインタと配列は全く別ものなのに、 なんだか同じもののように初心者を混乱させている希ガス。
168 名前:デフォルトの名無しさん mailto:sage [05/03/11 05:20:10 ] 同じものですよw
169 名前:デフォルトの名無しさん mailto:sage [05/03/11 08:06:55 ] Xcode2.0はどの程度現状と変わるのか。 Tigerを買うかどうかは、そこの評価次第なんだけど。
170 名前:デフォルトの名無しさん mailto:sage [05/03/11 11:37:37 ] >>169 一番の売りはUML風味のクラス図自動生成とかでない? その辺実際どの位使えるのかは確かに気になる所。 Rationalのアレ並みにとは言わんけどさ(w。それなりにパパッと書いたのがぐりぐり動いてるよーだといいな
171 名前:デフォルトの名無しさん mailto:sage [05/03/11 12:40:57 ] 快適な開発環境がOSに標準でついてくるなら もう少し、Cocoaプログラマが増えてもいいと思うんだが。 Macを再評価する動きというのは無いものか。
172 名前:デフォルトの名無しさん [05/03/11 13:18:32 ] ついにObjCのみのAPIの登場だ。 Developing with Core Image developer.apple.com/macosx/tiger/coreimage.html
173 名前:デフォルトの名無しさん mailto:sage [05/03/11 13:20:47 ] >>170 EOFっていうベースがあるから、 そこそこ行けそうな気がする。 なんで別けたんだろうね。
174 名前:デフォルトの名無しさん mailto:sage [05/03/12 00:27:53 ] Core Imageって,Cocoa系のAPIだったとは。てっきり Carbonだと思っていた。
175 名前:デフォルトの名無しさん mailto:sage [05/03/12 01:33:37 ] Carbonからも呼べるんで、困りはしないんだけど、 Core Image使うところは、.mにせにゃならん。
176 名前:デフォルトの名無しさん mailto:sage [05/03/12 15:12:42 ] >>162 ポインタは難しい的な先入観もたせるのも どうなんだろうなって感じだよね。 何の先入観も無しにやってみて難しくて挫折するのは しょうがないとして、余計な先入観のせいで混乱しちゃうと ちょっとね。
177 名前:デフォルトの名無しさん mailto:sage [05/03/12 17:22:57 ] たぶん、ポインタの理解が「指し示すもの」「アドレス」の2つで混乱してるんだろうな わかる人は両方をちゃんと使い分けてるけど、説明される時はこのうち1つ側の説明しかされないし
178 名前:デフォルトの名無しさん mailto:sage [05/03/12 23:38:06 ] コンピュータってものを理解してれば全く混乱なんかしないよなあ。 もしかしてメモリやアドレスの概念を出さずに説明されるのだろうか? またはCPUやメモリの概念程度の基礎知識すらない奴がC言語を学んでいるのか?
179 名前:デフォルトの名無しさん mailto:sage [05/03/12 23:56:55 ] メモリとレジスタを絡めて教わったよ。 少なくともオレらは。
180 名前:デフォルトの名無しさん mailto:sage [05/03/13 03:34:30 ] やっぱり最初はアセンブラから?(w って、今頃そんなのをやれっても無理あるよなぁ。
181 名前:デフォルトの名無しさん mailto:sage [05/03/13 08:58:19 ] 君が知りたくなければ一生知らないままでいいよ。
182 名前:デフォルトの名無しさん mailto:sage [05/03/13 12:13:04 ] そこでBrainfuckですよ
183 名前:180 mailto:sage [05/03/15 01:26:13 ] >>181 いや、漏れではなく今頃の人に教えるのにアセンブラって言うのも厳しいもんがあるよなぁと。 漏れなんかはTK-80をガキの頃に親から奪って遊びだした世代なんで最初はハンドアセンブル しかなかったんだよな。 今だとそういういい教材はあるけれどなかなかにニッチだしなという事で。
184 名前:デフォルトの名無しさん mailto:sage [05/03/15 06:31:47 ] >>180 にとってアセンブラは厳しかった訳か
185 名前:デフォルトの名無しさん mailto:sage [05/03/15 07:40:38 ] 180の言ってる事はよくわかるけど?
186 名前:デフォルトの名無しさん mailto:sage [05/03/15 08:54:28 ] 最終的にShark使ってG5最適化とか、 今でもアセンブラの知識は役に立つが、 全くもってスレ違い。
187 名前:デフォルトの名無しさん mailto:sage [05/03/15 23:12:17 ] まあまあ、そんなことより >>158 のテクニックの実装方法について、 まじめに考えてみようぜ
188 名前:デフォルトの名無しさん mailto:sage [05/03/16 00:16:11 ] 「スレ番だよ」というのがよくわんない。
189 名前:デフォルトの名無しさん [2005/03/27(日) 01:31:22 ] MacOSXのターミナルで、Cocoaのフレームって使用できますか。 Object をNSObjectにしたいけど、リンクでエラーがでます。 Cocoaのライブラリを探してリンクすればいい、という発想はおかしいですか?
190 名前:デフォルトの名無しさん mailto:sage [2005/03/27(日) 02:04:35 ] -framework Foundation つけとけ
191 名前:デフォルトの名無しさん mailto:sage [2005/03/27(日) 11:41:02 ] >>190 おお、ありがとうございます!
192 名前:デフォルトの名無しさん mailto:age [皇紀2665/04/01(金) 16:42:30 ] Cocoaはやっぱり!
193 名前:デフォルトの名無しさん [2005/04/03(日) 16:03:44 ] CoreDetaに期待。Cocoa+Objective-Cはどんどん進化して欲しいね。 ttp://homepage.mac.com/mkino2/backnumber/2004_10.html#October%2020_1 ttp://www.hmdt-web.net/bbs/bbs.cgi?bbsname=mkino&mode=res&no=248&oyano=248&line=0 Mac OS X v10.4 Tiger ttp://developer.apple.com/ja/macosx/tiger/index.html Xcode 2.0 ttp://www.apple.com/jp/macosx/tiger/xcode.html QTKit ttp://blog.so-net.ne.jp/MyCometG3/2005-03-26-1 ttp://homepage.mac.com/mkino2/backnumber/2005_03.html#March%2025_1 ttp://slashdot.jp/journal.pl?op=display&uid=15678 Dashboard ttp://numata.aquasky.jp/programming/dashboard/dashboard.shtml
194 名前:デフォルトの名無しさん mailto:sage [2005/04/17(日) 12:08:04 ] Mac欲しいなぁ・・・。やっぱWWDCが終わるまでは待ったほうが賢いんだろか。 スレ違いすまん。
195 名前:デフォルトの名無しさん mailto:sage [2005/04/17(日) 16:11:01 ] PowerMacG5の最上位機種+メモリ8Gなら、今買ってもそれほど損は無いはず。 そんな金の無い俺は夏まで待ちますが。 これだけではなんなので、今Cocoa入門本としてヒレガス本を買うなら原著の第二版がお勧め。 日本語版=第一版は開発環境として10.2を対象としてるので情報が古い。 第二版では10.3=Xcodeに対応して、、GNUstepについてもちょこっと触れていたりする。 著者のページからサンプルも落とせるので、第一版を持っている人なら、 新旧のソースを見比べるだけでも勉強になるかもしれん。 www.bignerdranch.com/products/cocoa1.shtml Xcode2.0対応の第三版も出そうな気もするが参考までに。
196 名前:デフォルトの名無しさん mailto:sage [2005/04/17(日) 17:16:32 ] OSXは欲しいがMacは要らん
197 名前:194 mailto:sage [2005/04/17(日) 19:32:51 ] 会社でPowerBookG4+XserveG5使ってるんですが、自宅にも欲しいなぁと思って。 ヒレガス本ってのは黄色い表紙でべスパだか何かが写ってる奴ですよね? いまこれを読みながらCocoaプログラミングの勉強中です。Unixyな使い方だけでは もったいないかなと思って。で、ますますMac欲しいなぁ、と。 >>196 OSXってMac以外で動作可能なんですか?自宅にラック導入する予定はないのでXserveはパスね。
198 名前:デフォルトの名無しさん mailto:sage [2005/04/17(日) 21:06:02 ] >>197 OSXはMacだけ。 GNUstepなら他のプラットフォームでいろいろいける。 が、i18n関係はまだまだダメなので(w 是非そっち方面にも助力を
199 名前:デフォルトの名無しさん [2005/05/20(金) 02:03:50 ] [self age];
200 名前:age [2005/05/26(木) 17:04:19 ] 教えてください NSString* str = [NSString stringWithUTF8String:"test"]; で取得した str は 何時 [str release]; すべきなのでしょうか?
201 名前:デフォルトの名無しさん mailto:sage [2005/05/26(木) 17:34:52 ] >>200 そもそも release するべきでない。
202 名前:デフォルトの名無しさん mailto:sage [2005/06/06(月) 08:55:32 ] >>201 たしかにそうだけど、NSAutoreleasePool のインスタンスが用意されてなかったらメモリリークの悪寒。
203 名前:age [2005/06/06(月) 10:00:13 ] 教えてください ワーカスレッド(POSIXスレッド)内で NSString* str = [NSString stringWithUTF8String:"test"]; を行った場合、どのNSAutoreleasePoolが使われるのでしょうか?
204 名前:203 [2005/06/06(月) 10:59:18 ] 続き... NSAutoreleasePoolは、スレッド毎に独立しているのでしょうか?
205 名前:デフォルトの名無しさん mailto:sage [2005/06/06(月) 15:51:59 ] なんか釣られてるような気もするけど… >>203 ,204 NSAutoreleasePool はスレッドを生成するときに、プログラマが自分で用意するものだと思われ。 要するにスレッドごとに存在する必要あり。 ttp://developer.apple.com/samplecode/SimpleThreads/listing3.html とか見るよろし。 もっと言うと、AppKit(NSApplicationMain) を使ってない場合は、メインスレッドにも NSAutoreleasePool は(自動では)用意されないんで、この場合も自前で用意してやる必要がある。 GNUStep で遊ぼうとして、その罠にはまった人間が約一名(おれだが)。 あと、ワーカスレッドってのが何を意味してるのかわからんが、pthread_create とかで直接 POSIX スレッドを生成して云々って話なら、やめておいた方が良さそう。つーかその場合、おそらく NSAutoreleasePool がそもそも使えない気がする。 素直に NSThread 使いましょう。 それはそれとして、203(200 も?)の名前欄の age はコテハンなのか、それとも age てるのを主張したいだけなのか、それが問題だ(そうか?)
206 名前:200 [2005/06/06(月) 16:24:46 ] SimpleThreadのURL、ありがとうございました。参考になりました。 やはり、POSIXスレッドは使わないほうがよさそうですね...。
207 名前:デフォルトの名無しさん mailto:sage [2005/06/06(月) 16:43:03 ] >>205 > つーかその場合、おそらく NSAutoreleasePool がそもそも使えない気がする。 ttp://developer.apple.com/documentation/Cocoa/Conceptual/MemoryMgmt/Concepts/AutoreleasePools.html Note: If you are creating secondary threads using the POSIX thread APIs instead of NSThread, you cannot use Cocoa, including NSAutoreleasePool, unless Cocoa is in multithreading mode. Cocoa enters multithreading mode only after detaching its first NSThread. To use Cocoa on secondary POSIX threads, your application must first detach at least one NSThread, which can immediately exit. You can test whether Cocoa is in multithreading mode with the NSThread class method isMultiThreaded.
208 名前:205 mailto:sage [2005/06/06(月) 16:53:51 ] >>207 ごめん、英文読み違ってたか。 あらかじめ NSThread を使って一つスレッドを生成しておけば、Cocoa が multithreading mode ってのになって、その後は POSIX スレッドでも Cocoa(NSAutoreleasePool 含む)を使えるようになる。 マルチスレッドモードかどうかは、NSThread クラスの isMultiThreaded メソッドで確認できる。 …ってな理解で良い?
209 名前:デフォルトの名無しさん mailto:sage [2005/06/08(水) 23:34:03 ] NSなんちゃらと ネイティブは混ぜるな危険。pthredとか。
210 名前:デフォルトの名無しさん mailto:sage [2005/06/10(金) 00:30:51 ] >>209 >混ぜるな危険 確かにおれもそう思うが、Objective-C++ で書かれたコードとか読んでると、なんかどうでも良くなってくるぞw
211 名前:age [2005/06/15(水) 23:34:33 ] 教えてください 以下のように作成された NSString* selstr は何時解放するべき、まはた何時解放されるのでしょうか? %pの出力は毎回変わりますが、メモリリークは起きていないようです。 - (IBAction)button1Click:(id)sender { SEL sel = @selector(button1Click:); NSString* selstr = NSStringFromSelector(sel); NSLog(selstr); NSLog(@"%p", selstr); }
212 名前:デフォルトの名無しさん mailto:sage [2005/06/16(木) 00:56:12 ] それを解放するのは AutoreleasePool です。
213 名前:デフォルトの名無しさん [2005/06/16(木) 09:33:10 ] >>212 何時解放されるのでしょうか? [pool release] のときでしょうか?
214 名前:デフォルトの名無しさん mailto:sage [2005/06/16(木) 19:35:27 ] >>213 ちみはメモリ管理のことがよくわかってない風味なので、 ttp://developer.apple.com/ja/documentation/cocoa/Conceptual/ObjectiveC/4objc_runtime_overview/chapter_8_section_2.html ここのページを隅から隅まで読む事をお薦めする。 あと、厳密には NSAutorelasePool がするのは『解放』じゃなくて、 単に release メソッドを呼ぶことだ。 もしそのインスタンスに対して、どこかで retain が使われてれば、 実際には解放されないじょ。
215 名前:211 [2005/06/16(木) 22:19:09 ] Google で AutorelasePool イベントループ で検索したら、以下のURLで納得しました。 www.tech-arts.co.jp/macosx/macosx-jp/htdocs/4600/4618.html
216 名前:デフォルトの名無しさん mailto:sage [2005/06/17(金) 08:00:31 ] Objective-Cは CやC++、Javaと比べて簡単?便利に感じてる?
217 名前:デフォルトの名無しさん mailto:sage [2005/06/17(金) 09:25:52 ] 本が無い点を除けばいいと思う
218 名前:デフォルトの名無しさん mailto:sage [2005/06/17(金) 12:30:56 ] 簡単だよ
219 名前:デフォルトの名無しさん mailto:sage [2005/06/17(金) 13:28:02 ] Objective-Cは簡単だと思うが、Cocoaその他のAPIが辛い。 ドキュメントなさ過ぎ。
220 名前:デフォルトの名無しさん mailto:sage [2005/06/17(金) 16:00:27 ] あるよ
221 名前:デフォルトの名無しさん mailto:sage [2005/06/17(金) 17:16:17 ] ないとは言ってないだろ
222 名前:デフォルトの名無しさん mailto:sage [2005/06/17(金) 21:06:13 ] ないよ
223 名前:デフォルトの名無しさん mailto:sage [2005/06/18(土) 02:36:58 ] ありすぎ>>>>>ある>>>>>>ない>>>>>なさすぎ
224 名前:デフォルトの名無しさん mailto:sage [2005/06/18(土) 02:59:22 ] マジ? ありすぎ>ある>なさすぎ>ない こうじゃないの?
225 名前:デフォルトの名無しさん mailto:sage [2005/06/18(土) 03:00:21 ] 違った ある>ありすぎ>なさすぎ>ない 理由 過ぎたるは及ばざるが如し
226 名前:デフォルトの名無しさん mailto:sage [2005/06/20(月) 20:48:52 ] 掃除を しすぎ>>する>>しない>>しなさすぎ || || || || 潔癖性 普通 不潔 ゴミ屋敷 な?
227 名前:デフォルトの名無しさん mailto:sage [2005/06/21(火) 03:29:37 ] きれいずきは?
228 名前:デフォルトの名無しさん [2005/06/21(火) 13:46:44 ] セックスを しすぎ>>する>>しない>>しなさすぎ || || || || ヤリチン 一般人 インポ 童貞
229 名前:デフォルトの名無しさん mailto:sage [2005/06/22(水) 14:48:28 ] つまり O b j e c t i v e - C は 童 貞
230 名前:デフォルトの名無しさん mailto:sage [2005/06/22(水) 14:57:34 ] >>224 でいいんじゃね? ありすぎ: » 1 ある: ≥ 1 なさすぎ: ≈ 0 ない: = 0
231 名前:デフォルトの名無しさん mailto:sage [2005/06/22(水) 16:43:07 ] なんだこの流れは?
232 名前:デフォルトの名無しさん mailto:sage [2005/06/22(水) 17:18:55 ] んじゃ本来の流れというか質問 NSWindowのkeyDown:やperformKeyEquivalent:ではcommand等の修飾キー"だけ"押したのはわからないぽいんですが、 どうすれば取れますか?
233 名前:デフォルトの名無しさん mailto:sage [2005/06/22(水) 21:11:39 ] 気合いで取る。
234 名前:232 mailto:sage [2005/06/22(水) 21:32:41 ] んな殺生な というか自己解決 ファーストレスポンダで - (void)flagsChanged:(NSEvent *)theEvent をオーバーライドですね NSResponder見てませんでした
235 名前:デフォルトの名無しさん [2005/07/08(金) 02:17:14 ] メソッドにアクセス指定子つけられないとか 抽象クラスがないとかクラス変数がない等の点が Javaに比べていまいち使いにくい気がするんですが これは漏れの認識不足のせいですか?
236 名前:デフォルトの名無しさん mailto:sage [2005/07/08(金) 02:26:55 ] 気のせいです。
237 名前:デフォルトの名無しさん mailto:sage [2005/07/08(金) 15:49:13 ] >>235 アクセス指定子はないけどヘッダに書いたら公開扱いで書かなかったら 非公開扱いってことにして使うんだろう. # 実際にはヘッダに書かなくても呼出せるはずだから private ではないけれど… 抽象クラスはあったら嬉しいかもしれんがなくてもそれほど困らない. 逆に Java に出来なくて ObjC に出来ることとして category 使って既存クラス にメソッド追加したり override したりとかがある. コンパイル時の静的型チェックのゆるさとか考えても全体的に Java よりも 柔軟でプログラマ任せの言語になってると思う. #というより Java が堅すぎとも言えるけど…
238 名前:デフォルトの名無しさん mailto:sage [2005/07/08(金) 21:46:06 ] >>235 認識が不足しているのは ×誤 使いにくい ○正 使い慣れない という部分だな
239 名前:デフォルトの名無しさん [2005/07/28(木) 21:55:33 ] 保守age
240 名前:デフォルトの名無しさん [2005/07/29(金) 01:44:57 ] >>239 保守する暇があるなら新Mac板のCocoaスレの質問に答えてあげてよ!
241 名前:デフォルトの名無しさん [2005/07/29(金) 02:34:54 ] 質問者乙
242 名前:デフォルトの名無しさん [2005/08/08(月) 20:39:10 ] いままでProject BuilderでビルドしてMacOSX 10.2.8で動いていたプロジェクトを Xcode 1.5でコンパイルしたら10.2.8ではもう動かなくなってしまいました。Xcodeからコンパイルして10.2.8でも動くようにするオプションなどはありませんか?
243 名前:デフォルトの名無しさん mailto:sage [2005/08/09(火) 01:03:32 ] たしかXcodeをインストールするときにクロスコンパイル関連のリソースを入れるかどうか っている設定がカスタマイズのところにあったはず。 それを入れた上で、ビルド設定を見直せばいけるのではないだろうか。 すまんがいまMacが手元にないので確認できない....
244 名前:デフォルトの名無しさん [2005/08/10(水) 20:45:09 ] >>243 非常に参考になりました。どうもありがとうございます
245 名前:デフォルトの名無しさん mailto:sage [2005/08/19(金) 20:08:31 ] メモリ管理に抜けが無いか確認する方法を探しています。 Delphiの話なんですが、リンクするだけで確保と開放の組み合わせ数が一致しているかどうか検出できるライブラリがあります。 開放洩れがあると、アプリの終了時に警告ダイアログが出ます。 似たような事をCocoaアプリで行う方法を知っている方は居ないでしょうか? # Fundationでコマンドツールを作った時は標準出力に開放洩れ警告が出るので、組み込みで機能があるような気もしています。
246 名前:デフォルトの名無しさん [2005/08/22(月) 00:57:00 ] >>245 www.big.or.jp/%7Ecrane/cocoa/7000_cocoaNote/cocoaNote_050424.117.pdf
247 名前:デフォルトの名無しさん mailto:sage [2005/08/22(月) 13:25:16 ] >>246 ありがとうございます。 MallocDebugは以前から使っていますが、終了時点で内部を歩けなくなるので、開放洩れの確認には向いていないと思います。 # WindowやDocument単位では出来ますけど、それもすごい手間が必要です。 単純に、「確保が500回で開放が480回なんで、20個どっかにリークしてるよん」みたいな情報が欲しいと思っています。
248 名前:デフォルトの名無しさん [2005/08/23(火) 07:19:21 ] >してるよん ふざけるな
249 名前:デフォルトの名無しさん mailto:sage [2005/08/24(水) 01:40:03 ] 朝から何キレてんの
250 名前:デフォルトの名無しさん mailto:sage [2005/08/26(金) 13:21:01 ] >>247 使ったことないけど、leak コマンドってのがあるらしい。 ここにちょこっと紹介されている→ ttp://webkit.opendarwin.org/blog/
251 名前:デフォルトの名無しさん mailto:sage [2005/08/26(金) 20:37:33 ] >>250 使ってみました。 実行中のプロセスに対して使うコマンドであるようです。
252 名前:デフォルトの名無しさん [2005/08/28(日) 01:01:36 ] Objective-Cの []が嫌い
253 名前:デフォルトの名無しさん mailto:sage [2005/08/28(日) 01:03:46 ] そのこころは?
254 名前:デフォルトの名無しさん mailto:sage [2005/08/28(日) 01:28:51 ] Objective-Cから[]取ったら、只のCじゃん。
255 名前:デフォルトの名無しさん mailto:sage [2005/08/28(日) 01:40:56 ] 個人的にはオブジェクトにメッセージを送っている、という感じがして好きだな。 あの表記とCocoaのおかげでクラスと構造体の違いとかオブジェクト指向という 考えとかにピンと来た。 Objective-Cのあの記法は「Cのオブジェクト指向拡張なんだ」という発想から 来てるんだろうね。Cという割とマシンに近いレイヤーと、オブジェクトの メッセージのやり取りのレイヤーを分ける、みたいな。逆にC++のCに習った 記法は「Cは本当はこうあるべきだ」みたいな発想からなんだと思う。 >>254 というわけで、[]とったらただのCになるようにしたかったからああいう風に なったんじゃないかな。
256 名前:デフォルトの名無しさん mailto:sage [2005/08/28(日) 11:25:19 ] 元祖のSoftwareICのライブラリって、未だにフリーにはなっちゃいないんだっけ? 最近ちょっとあっちのクラスがどーなってるのか気になって仕方ない(w
257 名前:デフォルトの名無しさん [2005/08/28(日) 16:58:07 ] C++もObjCもあんま差ないよね
258 名前:デフォルトの名無しさん mailto:sage [2005/08/28(日) 17:45:16 ] 使い方によるのでは。
259 名前:デフォルトの名無しさん mailto:sage [2005/08/28(日) 18:14:33 ] そもそも何の差だ。
260 名前:デフォルトの名無しさん mailto:sage [2005/08/28(日) 21:26:22 ] >>257 どんな視点から見てもとてつもない差があると思われ
261 名前:デフォルトの名無しさん mailto:sage [2005/08/28(日) 23:02:55 ] んな事無いよ
262 名前:デフォルトの名無しさん mailto:sage [2005/08/28(日) 23:28:31 ] なんか寂しいのでこっちにレスしてみよう。 >>256 SoftwareICは知らないけど、Cocoa以外のクラスライブラリならPortable Object Compilerのライブラリもあるよね。こっちは使ってみた?っていうか、 使ってみた人いるかな。実はあんまり期待してないので見てないんだけど…。
263 名前:デフォルトの名無しさん mailto:sage [2005/08/30(火) 01:16:40 ] >262 結局今生き残っていて、サポートされ、改良され続けているのはAppleのCocoaと GNUstepという結局OpenStepの末裔の2つだけなわけで。 Brad Coxの元祖Objective-Cの為のSoftwareIC(なんかICpakって名前で101(Foundation)と 201(GUI)という見ようによってはOpenStepと変わらない構成っぽいことはぽいのだけど、 言語仕様的にも ttp://wwwa.dcns.ne.jp/~nito/objective-c/answer-16.html のFAQに書いてある通り結構いろいろ違いがあるみたいだし、当然そうなりゃライブラリも構成が 当然違うだろうなぁ?という感じではあるんだけど。 今やStepstoneもBradCoxのサイトも消えちゃってるし、余計に気になってねぇ(笑) PorgtableObjectCompilerも面白そうではあるけど、ちっと嫌〜んな感じがあって(笑) やっぱり手を出しちゃいないんだけどね。 #なんのこたぁない、NSObjectじゃないルートクラスが見てみたいだけっつーだけなのかもしれない(笑)
264 名前:デフォルトの名無しさん mailto:sage [2005/08/31(水) 02:27:12 ] >>263 よく覚えてないけど、そういえばPOCの人はOpenStep的な発展にかなり批判的 だったっけね。 そういえば、Swarmとかいうシミュレーション?のソフトでObjectvie-Cが使われ ている、みたいなのをちょくちょく見たな。調べてみたらこんなのが。 www.swarm.org/swarmdocs-2.2/set/set.html www.quintessa.co.jp/study.html ちょっとみた所だと、なんかcreateBeginでオブジェクトを作ってから パラメーターを設定してcreateEndで初期化を完了する、みたいなことをやる みたいだった。あとフォーマルなプロトコルがかなりたくさんあったな。
265 名前:デフォルトの名無しさん mailto:sage [2005/08/31(水) 10:48:30 ] 学校の講義で使ったよ。swarm。 Objective-Cはそれまで知らんかったけど簡単に書けるからいいよね。
266 名前:デフォルトの名無しさん [2005/09/01(木) 16:44:23 ] 萩原って人の本いいねぇ〜
267 名前:デフォルトの名無しさん mailto:sage [2005/09/02(金) 13:10:52 ] >>266 同感。 出版社がつぶれたのは不幸だけど、がんばって他から新刊出して欲しい。 新しい例外や同期の構文とかも加筆したやつ。
268 名前:デフォルトの名無しさん mailto:sage [2005/09/02(金) 22:37:39 ] というわけで、復刊.comへの投票よろしく www.fukkan.com/vote.php3?no=29943 投票しても復刊時の購入義務は無いので、ご安心ください。
269 名前:デフォルトの名無しさん mailto:sage [2005/09/03(土) 07:23:12 ] もう持ってるゆ
270 名前:デフォルトの名無しさん mailto:sage [2005/09/03(土) 10:27:56 ] ゆ?オレも持ってるよ。>>267 同様、復刊よりも新刊きぼー。
271 名前:デフォルトの名無しさん mailto:sage [2005/09/03(土) 17:55:10 ] すぐにはでないだろうから、 10.5_Xcode対応で出して欲しいゆ
272 名前:デフォルトの名無しさん mailto:sage [2005/09/04(日) 09:35:53 ] コラム連載「ダイナミックObjective-C」 pcweb.mycom.co.jp/column/objc/001/ ・第1回 CocoaとObjective-Cと動的なオブジェクト指向- Cocoaハックの第1歩 ・第2回 Objective-Cの動的型付け ・第3回 Cocoa実現の肝- クラスとそのメソッドの調査方法をチェック ・第4回 ターゲット/アクションパラダイム(1) - 動的特性を利用したデザインパターン
273 名前:デフォルトの名無しさん mailto:sage [2005/09/04(日) 20:31:48 ] 勉強してソフト作ってみようかねぇ
274 名前:デフォルトの名無しさん mailto:sage [2005/09/09(金) 23:49:05 ] >>266 潰れたのか…道理でなかなか見つからないと思っていた。偶然近くの古書店で 見つけた割れは好運であったか! >>267 投票しようとしたが、登録していない人はどうすれば良いのか分からなかった のでバイバイ。サイトの作り悪いねここ。
275 名前:デフォルトの名無しさん mailto:sage [2005/09/10(土) 00:26:17 ] どうしても見つからないて嘆いてる人はとりあえず地元の図書館のサイト(検索できるなら)で 検索してみるといいかも。 もちろん図書館によるけど、意外と蔵書しててくれたりするので、借りてみるといいかもしれない。 うちの市の図書館にも1冊あったよ。
276 名前:デフォルトの名無しさん mailto:sage [2005/09/17(土) 17:23:45 ] >>268 登録して、投票しますた。 発売3日前に買ったが、そろそろばらけてきた。 Objective-Cはそのものについての本があれだけだったのに本当に残念。 最新内容も加筆したのが出たら、是非欲しい。
277 名前:デフォルトの名無しさん mailto:sage [2005/10/17(月) 03:44:35 ] いまやObj-CはApple独占なのだからどんどん使用拡張してほしい。 D言語の事前条件・事後条件・不変条件とか。
278 名前:デフォルトの名無しさん mailto:sage [2005/10/17(月) 13:04:38 ] >>277 断る
279 名前:デフォルトの名無しさん mailto:sage [2005/10/17(月) 15:53:04 ] そんならいっそObj-Dでも開発して欲しい 利用できる言語が増える分には構わんぞ ライブラリでなく言語仕様のほう頻繁に弄られちゃたまったもんじゃねー
280 名前:デフォルトの名無しさん mailto:sage [2005/10/17(月) 22:37:35 ] 後方互換なら問題ない
281 名前:デフォルトの名無しさん mailto:sage [2005/10/17(月) 22:43:07 ] そんなもん採用するくらいならクロージャを追加したほうが100倍便利。
282 名前:デフォルトの名無しさん mailto:sage [2005/10/18(火) 19:57:15 ] >>281 インナークラスというか、Smalltalkのブロックみたいなものだろ。 すげー欲しい。
283 名前:デフォルトの名無しさん mailto:sage [2005/10/19(水) 17:29:07 ] >>282 このコンパイラはサポートしていたりする。 ttp://users.pandora.be/stes/compiler.html
284 名前:デフォルトの名無しさん mailto:sage [2005/10/20(木) 02:16:55 ] わけわかんねー!^^
285 名前:デフォルトの名無しさん mailto:sage [2005/10/21(金) 19:03:29 ] >>268 の票数が急増したな。 うれしいことだ。
286 名前:デフォルトの名無しさん mailto:sage [2005/10/21(金) 22:09:06 ] HMDTで紹介されたからね。
287 名前:デフォルトの名無しさん mailto:sage [2005/10/22(土) 02:14:59 ] ふつうに近くの本屋で売ってるんだが そんなに評判のいい本なのかコレ
288 名前:デフォルトの名無しさん mailto:sage [2005/10/22(土) 02:53:00 ] 中身の評価もだが、日本語で書かれたものが、 これぐらいしか無いという点の方が大きいと思う。 他にも無くは無いけどStepStoneやらNextStepやらが対象だったりして 今から読むには辛い内容だったりする。 できればMacに依存しない(早い話がGnuStepの)本が出て欲しいけど 難しいだろうな。
289 名前:デフォルトの名無しさん mailto:sage [2005/10/25(火) 00:02:30 ] id型には何でも入る〜 スーパークラス、サブクラス、全然関係ないクラス〜 自由〜
290 名前:デフォルトの名無しさん mailto:sage [2005/10/25(火) 03:07:48 ] 恐ろしいことです
291 名前:デフォルトの名無しさん mailto:sage [2005/10/25(火) 11:39:25 ] id型には夢や愛も詰まっています。 恐怖や憎しみも
292 名前:id型ばんざいの人 mailto:sage [2005/10/26(水) 00:40:10 ] 学生の頃に、研究室のNeXTのObjective-Cを必死になって いじっていた。オブジェクト指向を自分なりに理解したのは Objective-Cを通じてだ。 後になって、C++を勉強した際に、ポリモーフィズムを実現 するためには基底型のインスタンスに派生型をはめ込む 必要があるというのを知り、妙な制限をかけるもんだと思った。 今は仕事でJavaをやっているけど、やっぱりObjective-Cが 一番だよ。誰も使ってないけど 。・゚・(ノД`)・゚・。
293 名前:デフォルトの名無しさん mailto:sage [2005/10/26(水) 15:56:22 ] 漏れもJavaはオブジェクト指向と言ってるけど ポリモーフィズムできないじゃんとか思ってた
294 名前:デフォルトの名無しさん mailto:sage [2005/10/31(月) 20:43:22 ] これ以外にポージングができる言語ってあるか? いい統合開発環境ないかなぁ
295 名前:デフォルトの名無しさん mailto:sage [2005/10/31(月) 23:08:12 ] ちょこっと質問させてください。 Objective-C 使ってテキストデータ(CSV or XMLなどなんでもよい が)をSQL文を使って扱うくらい簡単に、 データ抽出したり、ソートしたりする方法ありませんか?
296 名前:デフォルトの名無しさん mailto:sage [2005/10/31(月) 23:10:12 ] まず日本語を勉強します。
297 名前:デフォルトの名無しさん mailto:sage [2005/11/01(火) 01:05:18 ] 人にわかってもらおうという努力をします。
298 名前:デフォルトの名無しさん [2005/11/06(日) 17:29:36 ] >>295 マカーって本当にスキル低いな。 そういうライブラリを自分で作るか、そういう事が出来るライブラリを使うんだよ。 OCじゃなくて、Cで十分。
299 名前:デフォルトの名無しさん mailto:sage [2005/11/06(日) 18:59:31 ] ここにも湧いたか。
300 名前:デフォルトの名無しさん mailto:sage [2005/11/06(日) 19:05:54 ] マカーだと思いこんでる時点で脳足りん確定
301 名前:デフォルトの名無しさん mailto:sage [2005/11/08(火) 21:37:58 ] 本棚を整理してたら、L.J Pinson/R.S Winer のObjective-C本が出てきた。 いかにもMacで描かれた絵が懐かしい。「ソフトウェアIC」とか「マジノ線防衛」とか。
302 名前:デフォルトの名無しさん mailto:sage [2005/11/09(水) 01:29:00 ] >301 元祖のアレ? いいなぁ。
303 名前:デフォルトの名無しさん mailto:sage [2005/11/10(木) 16:00:51 ] 違った違った。 B.J. コックス/A.J.ノボビルスキーの方だ.
304 名前:デフォルトの名無しさん mailto:sage [2005/11/17(木) 01:04:31 ] >>295 unix の grepとかsortコマンドを利用する
305 名前:デフォルトの名無しさん [2005/11/19(土) 21:00:01 ] 楽しいよー
306 名前:デフォルトの名無しさん mailto:sage [2005/11/20(日) 00:09:25 ] UMLやるようになったら、このC言語の良さにあらためて気付かされた。
307 名前:デフォルトの名無しさん [2005/11/22(火) 18:32:55 ] 興味があります。 Objective-Cの文法解説日本語サイトみたいなのお願いします。 ↓
308 名前:デフォルトの名無しさん mailto:sage [2005/11/22(火) 19:10:46 ] ttp://wisdom.sakura.ne.jp/programming/objc/
309 名前:デフォルトの名無しさん [2005/11/23(水) 04:39:45 ] ↑ 参考になりました。 思ったより簡単そうですね Windowsで使えると良いのですが
310 名前:デフォルトの名無しさん mailto:sage [2005/11/23(水) 11:47:17 ] >>309 GNUStep
311 名前:デフォルトの名無しさん mailto:sage [2005/11/23(水) 14:49:21 ] 萩原本はいい本だ。 持ってないあわれなおまいらのためにわざわざ投票してやってもいい。 しかし条件がある。おれさまは投票だけして買わなくてもいいのか?
312 名前:デフォルトの名無しさん mailto:sage [2005/11/23(水) 16:08:42 ] いいんじゃないの 発売決定したら買うかどうか選択できるし その時に欲しくなるかもしれないしね
313 名前:デフォルトの名無しさん mailto:sage [2005/11/24(木) 01:52:49 ] >>311 投票しても購入義務は生じないから、 持っていない自分としては是非投票して欲しい。
314 名前:デフォルトの名無しさん mailto:sage [2005/11/24(木) 14:02:19 ] 購入しろよ
315 名前:デフォルトの名無しさん mailto:sage [2005/11/25(金) 02:13:01 ] >>306 よくわからない
316 名前:デフォルトの名無しさん mailto:sage [2005/12/07(水) 10:22:24 ] そんなにいい本なのか 書店に残ってるから買っちゃおうかな・・・高いけど
317 名前:デフォルトの名無しさん mailto:sage [2005/12/09(金) 10:25:24 ] NeXTSTEP復活しないかなあ…
318 名前:デフォルトの名無しさん mailto:sage [2005/12/09(金) 12:49:23 ] >>317 OSXじゃ嫌なの?
319 名前:デフォルトの名無しさん mailto:sage [2005/12/09(金) 12:50:15 ] キャノ販の倉庫とかに眠ってないかな 今のPCで動かしたら爆速なんじゃないか?
320 名前:デフォルトの名無しさん mailto:sage [2005/12/09(金) 19:59:32 ] >319 ドライバ類が当時より困ったチャンな事になるかもしれんけどな(汗
321 名前:デフォルトの名無しさん mailto:sage [2005/12/12(月) 16:04:48 ] 仮想PCの上で動かしたらハードウェアもOKそうだね
322 名前:デフォルトの名無しさん mailto:sage [2005/12/31(土) 17:19:12 ] Cocoa でゲームつくったらフレームレートがめちゃ低いので 「やっぱ Objective-C は遅いのか、動的バインドだし」とか思ってたが、 ObjectAlloc を使えるようになってただ一つのメモリリークが発見でき、 そこを直したらフレームレートが超改善した。 この場を借りて Obj-C の神様に懺悔しまつ。
323 名前:デフォルトの名無しさん mailto:sage [2006/01/20(金) 02:12:00 ] ン年ぶりにユニマガ買ってここにたどり着きました。 appleがdocumentをpdfで提供してるとは知らなんだ このスレとあわせてこれから読みます
324 名前:デフォルトの名無しさん [2006/01/21(土) 00:44:31 ] デスクトップの Mac が出るまでに ObjC 勉強しようとした。 Windows しかないので Cygwin の Gcc でお勉強。 …リンクができねぇ。 Cygwin Gcc では ObjC は含まれていないんだと。 cygwin.com/faq/faq.programming.html#faq.programming.objective-c VMware 上の Linux で出なおします。
325 名前:デフォルトの名無しさん mailto:sage [2006/01/21(土) 04:32:10 ] >324 Mingwだっけ? あっちはどう? GNUstepのWin版に使われてる位だから動くと思うんだけど。
326 名前:デフォルトの名無しさん mailto:sage [2006/01/21(土) 08:39:29 ] GNUstepのWin版インストーラ使えばMingwも入って楽だよ。 まぁLinuxでProjectCenterとかGorm使った方が楽しそうだけど。
327 名前:デフォルトの名無しさん mailto:sage [2006/01/21(土) 10:16:01 ] >>320 当時でもドライバ類は困ったチャンだったから今のPCじゃ全滅でしょう。 >>321 VirtualPC上で問題なく動いてます。速度もそれなり。 NEXTSTEP/OPENSTEPなんて今のWindowsのUIから比べるとかなりクソですが。
328 名前:324 mailto:sage [2006/01/21(土) 12:38:00 ] >325 >326 情報ありがd。 GNUStep でも同様のエラーでますた。 原因は gcc のオプション -lobjc を最後にしていなかったから… orz オプションの類は前置きする癖がついていて、何度も何度も gcc -o Sample.exe -lobjc Sample.m としてました。gcc の使い方から出直しです。 -lobjc 最後にしたら Cygwin でもコンパイル・実行できました。 C をポインタで挫折して Java に逃げ込んだ私ですが、地道に出直します。 ありがとうございました。
329 名前:デフォルトの名無しさん [2006/01/24(火) 09:49:19 ] Objective-Cの特徴を一言で言うとどんなだろうな。 C++のような複雑怪奇流動的なものじゃなければ いいんだが。
330 名前:デフォルトの名無しさん mailto:sage [2006/01/24(火) 11:31:48 ] >>329 >Objective-Cの特徴を一言で言うと (Smalltalk + C) / 2
331 名前:デフォルトの名無しさん mailto:sage [2006/01/24(火) 11:38:14 ] よく言われるのはこんな感じ。 ObjectiveC,smalltalk メッセージ指向 C++,Java クラス指向 メッセージ指向って何さ、メソッドとどう違うのさという意見もあり、 smalltalk派とC++派の喧嘩(という程でもないが)の種になったりする。 この辺も参考に ttp://homepage.mac.com/mkino2/oop/messaging.html ttp://sumim.no-ip.com:8080/wiki/725
332 名前:デフォルトの名無しさん mailto:sage [2006/01/24(火) 13:40:08 ] >>331 それは動的、静的と言い換えてもよくない?
333 名前:デフォルトの名無しさん mailto:sage [2006/01/24(火) 18:13:14 ] Cなんだけど、スクリプト言語っぽいユルさがある。 ただメモリは解放してあげないといけない …のが良かったり、悪かったり。 カリカリには行けないけど、気はそんなに緩められず。 こんなんで良いのか?と思いつつ、楽に作れて動いてる。 とても微妙な感じのする言語ですね。
334 名前:デフォルトの名無しさん mailto:sage [2006/01/24(火) 18:17:14 ] C から ObjC のメソッドを呼び出すのはどうやるの?
335 名前:デフォルトの名無しさん mailto:sage [2006/01/24(火) 19:43:35 ] >>332 言葉遊びかもしれんが、動的、静的というより、 オブジェクトの結合が粗か密かという方が適切な気がする。 言語研究者や言語オタならうまく説明できるんだろうなあ。
336 名前:デフォルトの名無しさん mailto:sage [2006/01/24(火) 19:47:19 ] >>334 Appleの実装ならobjc_msgSend()とか
337 名前:デフォルトの名無しさん mailto:sage [2006/01/24(火) 20:08:06 ] >>336 ありがとう。Mac じゃないけど、gcc なんでちょっと試してみます。
338 名前:332 mailto:sage [2006/01/24(火) 20:14:43 ] >>335 それはやっぱりバインディングが静的か動的かと言ってるように 見えるんだけど、違うのかな。 「オブジェクト同士の結合が疎 」 ⇔ 「Cocoa BindingとかDuck Typingが可能」 ⇔ 「動的要素大」と。
339 名前:デフォルトの名無しさん mailto:sage [2006/01/24(火) 22:34:15 ] オブジェクト同士がメッセージでやりとりしてる感じの言語を作ろう!結果動的に。 みたいな動機の部分と実際の実装(?)ってことじゃないのかな?
340 名前:デフォルトの名無しさん mailto:sage [2006/01/24(火) 22:47:58 ] >>339 まあそういうことだあね。どっちに注目するかの差でしかない。 動的ってのは結構なメリットだと思うんだけど、 なんでメッセージ指向は流行らないんだろうな。
341 名前:デフォルトの名無しさん mailto:sage [2006/01/24(火) 23:35:14 ] 流行らない理由 ・遅い(或は、見るからに遅そう) ・メモリ喰い(ランタイム情報いっぱいくっつける) ・実行時バグは見つけ辛い(静的ならコンパイル時に弾いてくれるのに) ・静的マニアが多い(こいつらが一番問題) Objective-C はクロージャを捨てたのが間違いだよなぁ。 動的言語としては中途半端な感じ。
342 名前:デフォルトの名無しさん mailto:sage [2006/01/24(火) 23:41:26 ] >>295 亀レスだが、NSXML が使えるんじゃないかな...
343 名前:デフォルトの名無しさん mailto:sage [2006/01/24(火) 23:44:15 ] >>341 >・実行時バグは見つけ辛い(静的ならコンパイル時に弾いてくれるのに) OS X 標準だとクラッシュしたらスタックトレースが出て、 どのメソッドのどの行で死んだかすぐわかるのでそれほど問題ではないっす。
344 名前:デフォルトの名無しさん mailto:sage [2006/01/25(水) 00:27:04 ] テストが完全ならね。
345 名前:デフォルトの名無しさん mailto:sage [2006/01/25(水) 01:15:14 ] >>338 重要なのは言語ではない。その背景にある概念である。 by グラディ・ブーチ 実装面での話に置き換えようとした場合(きっとそれはたいてい成功しますが)、 もとの言葉の意図するところとは違ったところに着地するような気がします。 とりあえず、メッセージングについて知りたければ、その発案者であるケイの 書いたものを読むのがいいと思います。 lists.squeakfoundation.org/pipermail/squeak-dev/1998-October/017019.html www.purl.org/stefan_ram/pub/doc_kay_oop_en gagne.homedns.org/~tgagne/contrib/EarlyHistoryST.html それでもなお、そんなの「動的」でいいじゃん、と 332 が思うのならそれまでで。
346 名前:デフォルトの名無しさん mailto:sage [2006/01/25(水) 01:22:54 ] メッセージが静的に定義出来るなら、オブジェクト間の関係で例外を考えなくてもいいのになぁ。
347 名前:デフォルトの名無しさん mailto:sage [2006/01/25(水) 10:45:09 ] >>341 インスタンス変数の動的追加が出来れば、クロージャじゃなくてもいい。
348 名前:デフォルトの名無しさん mailto:sage [2006/01/26(木) 01:10:35 ] >>347 メソッドの動的追加も出来なきゃ嫌なんだが。あと、関数リテラルも。
349 名前:デフォルトの名無しさん mailto:sage [2006/01/26(木) 10:10:38 ] >>348 ランタイム関数で出来なかったっけ?
350 名前:デフォルトの名無しさん mailto:sage [2006/01/27(金) 07:48:00 ] インテル版の Mac では Objective-C ではなく C++ ベースの開発環境になるみたいでつね。 とても悲しい。 Objective-C サポートしてくれ〜>インテル
351 名前:デフォルトの名無しさん mailto:sage [2006/01/27(金) 09:13:12 ] >>350 日本語おかしいけど、どうせ ICC の話だろ。もう一回寝ろ。
352 名前:デフォルトの名無しさん mailto:sage [2006/01/28(土) 04:56:07 ] >>349 出来るなら、マジやり方教えて欲しい。
353 名前:デフォルトの名無しさん mailto:sage [2006/01/28(土) 16:47:37 ] >>350 本当に??? 過去の資産とか、どうするつもりなんだろう1?
354 名前:デフォルトの名無しさん mailto:sage [2006/01/28(土) 17:29:17 ] >>353 騙されてんじゃねーよ。ちょっとは自分で調べれ。
355 名前:デフォルトの名無しさん mailto:sage [2006/01/28(土) 20:12:10 ] メソッドの動的追加は class_addMethods で出来そうだな。
356 名前:デフォルトの名無しさん [2006/01/28(土) 23:46:24 ] >>354 非存在の証明は原理的に不可能 ソフトウエア開発者の常識
357 名前:デフォルトの名無しさん mailto:sage [2006/01/28(土) 23:48:10 ] ゴバクかな...?
358 名前:デフォルトの名無しさん mailto:sage [2006/01/29(日) 19:10:20 ] vorbisのコメントの読み出しは出来たけど書き込みってどうやったらいい?
359 名前:358 mailto:sage [2006/01/29(日) 19:34:51 ] ごめん・・・誤爆した・・・
360 名前:デフォルトの名無しさん [2006/01/31(火) 01:22:05 ] Objective-C で構文解析するときってどのライブラリ/ツールつかうんでしょ? ぐぐったら GSANTRL なるものが出てきたんだけど、情報が少ないのとサンプルが全く無いのでどうしたもんかなと。
361 名前:デフォルトの名無しさん mailto:sage [2006/01/31(火) 04:55:54 ] C との違いがほとんどないので、自前で C に落とすプリプロセッサを書いて 生成されたコードをほかのツールにかけるとか?駄目か。
362 名前:デフォルトの名無しさん mailto:sage [2006/01/31(火) 05:07:18 ] GSANTLR ね。使った事は無いけど...
363 名前:デフォルトの名無しさん mailto:sage [2006/01/31(火) 16:20:09 ] GNU GLOBAL で使えるようにしてくれ>>だれか
364 名前:デフォルトの名無しさん mailto:sage [2006/02/01(水) 00:26:28 ] >361 アドバイスありがと。 > C との違いがほとんどないので、 => Objective-C は C との違いがほとんど無いので、 ==> Objective-C は C のコードも利用できるので > 自前で C に落とすプリプロセッサを書いて => BNF などの構文定義から 自前で C に落とすプリプロセッサを書いて ==> BNF などの構文定義から、構文解析の対象を入力として適当な構造体を作る C のコードを、生成するプリプロセッサを自前で書いて Objective-C は C のコードも利用できるので、BNF などの構文定義から、 構文解析の対象を入力として適当な構造体を作る C のコードを、 生成するプリプロセッサを自前で書いて、生成されたコードをほかの ツールにかけるとか? すまん、がんばったけどアドバイスを理解できんです。なんとなくだけど、 Objective-C は C のコードを利用できるから、lex/yacc なり flex/bison なりで 生成した C コードを Objective-C から利用すればいいんじゃん? ってことですかね?
365 名前:デフォルトの名無しさん mailto:sage [2006/02/01(水) 00:43:58 ] >>361 は "Objective-C の構文" の解析の話をしてるんじゃないの? 俺もそういう質問だと思ってたけど。勘違いだったらスマソ。 Objective-C を使って構文解析するという話だったら、lex/yacc で 良いと思うよ。
366 名前:360 mailto:sage [2006/02/01(水) 01:04:39 ] >365 すんません。言葉足らずでした。 "Objective-C を使って構文解析する" という話でした。 ありがとう。 >361 質問悪かったです。すまぬ。
367 名前:361 mailto:sage [2006/02/01(水) 02:32:50 ] こちらこそ質問を誤解してすまそ
368 名前:デフォルトの名無しさん [2006/02/01(水) 03:43:04 ] こちらこそただ見てるだけですまそ
369 名前:デフォルトの名無しさん [2006/02/09(木) 12:45:22 ] 生きててスマソ しかも遅レスで超スマソ
370 名前:デフォルトの名無しさん [2006/02/10(金) 13:32:31 ] Objective-Cって、例外(try-catch)がつかえないんだっけ? クロージャはなくてもなんとかするけど、例外がないとちょっとつらい。
371 名前:デフォルトの名無しさん mailto:sage [2006/02/10(金) 14:16:13 ] 素の Objective-C にはないよ。 NextSTEP 系列なら NS_DURING / NS_HANDLER / NS_ENDHANDLER Panther 以降の Cocoa なら @try / @catch (/ @finally)
372 名前:デフォルトの名無しさん mailto:sage [2006/02/10(金) 15:14:07 ] #すれ違いスマン クロージャってCommandパターンのことか?
373 名前:デフォルトの名無しさん mailto:sage [2006/02/10(金) 17:17:40 ] Objective-C は Apple のものじゃないの? Stepstone -> NeXT -> Apple って権利が移ってると思ってたんだけど。 Apple が拡張した Objective-C のみが Objective-C って名乗れるのでは?
374 名前:デフォルトの名無しさん mailto:sage [2006/02/10(金) 17:22:53 ] >>371 さんくす。@try/@catch/@finallyか。あたらなディレクティブが増えてるんだな。 これって、Foundationでも使われているの? つまりPanthor以降のCocoaでは@try/@catch/@finallyをふんだんに使っているのか気になる。 例外処理をつかう・使わないではプログラミングスタイルが大きく違うので。 >>372 違う。イメージはなんとなくわからなくもないが。 クロージャは手続きと、それがアクセス可能な変数をいっしょにしたもの。 クロージャを使うと、手続き(処理)をデータとして扱う事ができ、メソッドの引数に渡したりできる。 つまり引数として整数や文字列を渡すのと同じ感覚で手続き(処理)を渡す事が出来る。 LispやSchemeでは関数がクロージャ。RubyやSmalltalkではブロックがクロージャ。 コマンドパターンも処理をオブジェクトとするための手法ではあるんだけど、外の変数にアクセスできないため、クロージャとはふつういわない。 つか、クロージャは言語の機能、コマンドパターンはデザインパターンのひとつ。比較する対象が違う。
375 名前:デフォルトの名無しさん mailto:sage [2006/02/10(金) 23:09:46 ] >>374 Smalltalkのブロックは最初びっくらこいた。 if文がメッセージで、その引数がブロックなんだよな確か。 あそこまでドラスティックにはやりたかないけど。
376 名前:デフォルトの名無しさん mailto:sage [2006/02/11(土) 00:47:21 ] クロージャがあればインスタンス毎に少しだけ振る舞いを変えたい時に 便利なのにね。button を押した時の callback を button 毎に設定する 時とか、イテレーションの処理本体を引数で渡したりとか。
377 名前:デフォルトの名無しさん mailto:sage [2006/02/11(土) 00:51:08 ] trueオブジェクトにifTrueのメッセージを送って引数のブロックを実行する、じゃなかったっけ? 数字なんかのリテラルにもメッセージをおくって計算させてたと思う。 個人的にネタで「オブジェクト指向ならこれくらいしないとなぁ」って言ってたレベルより徹底してる
378 名前:デフォルトの名無しさん mailto:sage [2006/02/11(土) 01:33:25 ] 例外って@NSException??
379 名前:デフォルトの名無しさん mailto:sage [2006/02/11(土) 23:57:20 ] >>376 後者は兎も角、前者は Cocoa ではアレだな、 ボタンのメソッドでアクションを登録するというよりは、 Interface Builder でボタンからコントローラにコネクションを張る (どのコントローラのどのメソッドを実行するか指定する)ので... まあクロージャあったほうが面白いけど。
380 名前:デフォルトの名無しさん mailto:sage [2006/02/12(日) 07:18:26 ] >>379 同意。376はVisualBasicが頭にあるんじゃないかな。
381 名前:デフォルトの名無しさん mailto:sage [2006/02/13(月) 14:41:38 ] >>374 @try関係は言語に組み込まれただけで、NS_DURINGとかのマクロと互換性あり。 Cocoaのほとんどのメソッドが例外を投げない状況に変化は無い。 >>372 クロージャは、下記が判り易いと思う。 ttp://kmaebashi.com/programmer/devlang/object.html
382 名前:デフォルトの名無しさん mailto:sage [2006/02/13(月) 20:15:15 ] 油断してたら Dylan のスレが落ちてた…
383 名前:デフォルトの名無しさん mailto:sage [2006/02/14(火) 01:24:04 ] Javaの無名クラスはクロージャの一種ですか
384 名前:デフォルトの名無しさん mailto:sage [2006/02/14(火) 06:54:50 ] >>383 違う。無名クラスからは生成された箇所のローカル変数にアクセスできない。 finalつけた変数にはアクセスできるらしいけど。
385 名前:デフォルトの名無しさん mailto:sage [2006/02/14(火) 12:03:58 ] それ、定数だからな。 そこそこ便利ではあるけど、クロージャではないね。 もっとも、クロージャのある言語にも無名クラスは欲しい(できれば レキシカル環境へのアクセスのあるクロージャとしての構成で)。
386 名前:デフォルトの名無しさん mailto:sage [2006/02/14(火) 23:30:07 ] >>385 クロージャとは別に無名クラスが欲しい場面を教えてくれ。 参考にする。
387 名前:デフォルトの名無しさん mailto:sage [2006/02/15(水) 06:05:48 ] ごめん、最近はJava書いてないからすぐには思いあたらないの。
388 名前:デフォルトの名無しさん mailto:sage [2006/02/15(水) 06:28:42 ] Javaには毎日触っているが、クロージャのある言語に触る機会がない。 Schemeでも勉強してみようかな。
389 名前:デフォルトの名無しさん mailto:sage [2006/02/15(水) 08:14:43 ] Groovyでいいんでね?それかJavaScript
390 名前:デフォルトの名無しさん mailto:sage [2006/02/16(木) 02:22:04 ] >>382 なつかしいね。まだ開発やってんのかな?
391 名前:デフォルトの名無しさん mailto:sage [2006/02/16(木) 13:49:29 ] >390 まだ続いてるよ(笑) Gwydion Dylanは今はgccのバージョンアップ絡み?で停滞気味かね? OpenDylan(Functional Developerのオープン版)に主力メンバーが注力してる感じ。 が、svcとか見る人でないと進展はないようにしか見えない罠(w
392 名前:デフォルトの名無しさん mailto:sage [2006/02/16(木) 21:21:16 ] >>382 どんな言語なの? つか、このすれとはどういう関係で?
393 名前:デフォルトの名無しさん mailto:sage [2006/02/16(木) 21:33:41 ] S式を使わない LISP …といったふぜいの言語。 Apple つながりでね。
394 名前:デフォルトの名無しさん mailto:sage [2006/02/17(金) 15:09:24 ] www.na.rim.or.jp/~kusumoto/dylan.html ずいぶんと古い文書が見つかった
395 名前:デフォルトの名無しさん mailto:sage [2006/02/18(土) 00:15:18 ] 今なら www.opendylan.org/ こことか、 monday.sourceforge.net/wiki/ ここらから眺めていくといいんじゃないだろか?
396 名前:デフォルトの名無しさん mailto:sage [2006/02/18(土) 02:38:25 ] dylan 刷れ立てる?利用者いないだろうけど。
397 名前:デフォルトの名無しさん mailto:sage [2006/02/18(土) 09:54:50 ] 必要ないだろ。 それより、るびまの他言語訪問、今回はDylanらしい。
398 名前:デフォルトの名無しさん mailto:sage [2006/02/22(水) 14:04:44 ] Objective-Cから.NET弄れれば面白いのに
399 名前:デフォルトの名無しさん mailto:sage [2006/02/22(水) 16:42:21 ] >>396 前あったが落ちた。
400 名前:デフォルトの名無しさん mailto:sage [2006/02/22(水) 23:27:34 ] >>398 何が面白いのか理解出来んが、MONO に call-in するインターフェイスを 書けば良いんじゃないの。
401 名前:デフォルトの名無しさん mailto:とりあえずageときますよ [2006/02/26(日) 19:25:31 ] [[myFriend girlfiend] retain];
402 名前:デフォルトの名無しさん mailto:sage [2006/02/26(日) 19:48:55 ] test
403 名前:デフォルトの名無しさん mailto:sage [2006/02/27(月) 03:09:51 ] >>401 girlfriend を autorelease して渡す 奇特な友人は居ないと思われ...
404 名前:デフォルトの名無しさん mailto:sage [2006/02/27(月) 10:46:54 ] retainして他に渡すのも変じゃないか?
405 名前:デフォルトの名無しさん mailto:sage [2006/02/27(月) 19:06:40 ] >>403 ちょっと彼女に会わせてあげる、みたいなノリじゃね?
406 名前:デフォルトの名無しさん mailto:sage [2006/02/27(月) 20:52:00 ] myGirlfriend = [[myFriend girlFriend] retain]; [myFriend release]; myFriend = nil;
407 名前:デフォルトの名無しさん mailto:sage [2006/02/27(月) 21:14:14 ] /* myFriendの復讐 */ - (nil)release { [>>406 dealloc]; [super release]; }
408 名前:デフォルトの名無しさん mailto:sage [2006/03/03(金) 05:32:07 ] girlFriend: が nil を返さない保証はどこにあるのさ?
409 名前:デフォルトの名無しさん mailto:sage [2006/03/04(土) 00:41:33 ] メソッドそのものが無かったりして…
410 名前:デフォルトの名無しさん mailto:sage [2006/03/08(水) 18:51:45 ] ないものは作る @implementation girlFriend 後はまかせた
411 名前:デフォルトの名無しさん mailto:sage [2006/03/08(水) 19:28:07 ] いや、girlFriendはインスタンス変数だと思うが。 クラスはGirlですか
412 名前:デフォルトの名無しさん mailto:sage [2006/03/08(水) 19:38:36 ] @implementation Human (GirlFriendInformalProtocol)
413 名前:デフォルトの名無しさん mailto:sage [2006/03/08(水) 21:09:57 ] - (id)initWithBoyFriend:(Human *)aBoyFriend { self = [super init]; if(!self) return nil; if( [aBoyFriend height] < 170.0 ) return nil; boyFriend = [aBoyFriend retain]; return self; }
414 名前:デフォルトの名無しさん [2006/03/09(木) 20:17:14 ] はじめてCocoaでSocketのプログラムを書いてみました asyncSocket smallsocket 等ライブラリがあるようですが、どれを使っても同じ問題が発生しています 問題 Javaで書かれたサーバーに接続し、Objective-Cクライアント側のsocketとstreamをcloseしてもサーバー側では分からないのです。 他の言語でクライアント側を書いた時は、クライアント側でcloseすると、サーバー側で検知されました。 これってOSXでは通常の動作でしょうか?どのようにしたら、サーバー側で検知できるでしょうか。 サーバー側のsocketに何かプログラムが必要でしょうか。 現在は、javaサーバー側のsocketでタイムアウトが発生するまで検知されません。 どなたか教えて頂けませんか。
415 名前:デフォルトの名無しさん mailto:sage [2006/03/09(木) 22:36:32 ] いわゆるひとつのマルチってやつですか
416 名前:デフォルトの名無しさん mailto:sage [2006/03/10(金) 11:06:52 ] そもそも、クライアント側のクローズをサーバで検出する事が間違い。 LANの外に出るとほとんど機能しない。 クライアントが先に送信バイト数を送るか、最後に終了コードを送って、サーバ側に切断させるのが正解。 またサーバ側は、タイムアウトでも切断するようにする。
417 名前:デフォルトの名無しさん [2006/03/10(金) 13:01:38 ] 最後に終了コードを送るようにしていますが closeが検出されないことが驚きでした このような動作は Objective-C+OSX だけではないでしょうか Realbasicでも検出されました javaやWINDOWS環境でも検出されます 何か間違っているでしょうか
418 名前:デフォルトの名無しさん mailto:sage [2006/03/10(金) 17:15:46 ] 何で通信してるか知らないけど、明示的にclose送ってみたら? その後閉じる。
419 名前:デフォルトの名無しさん [2006/03/10(金) 17:31:33 ] 終了コードを送る場合 文字コードとかあるじゃないですか なので とりあえず close だけで 閉じても サーバー側ではわからないのですね 正常にクライアントソケットを閉じてるのですからサーバーソケット側で 他の言語環境と同じように検知したいのですが こういう動作はObjective-C+OSXが初めてです なぜ検知をしたいかというと不正なクライアントを識別する機能と関係しています もし検知されないとしたら Objective-C+OSX のクライアントから 適当なサーバーに繰り返し接続して 放置しておくだけで DoS攻撃ができちゃいますよ
420 名前:デフォルトの名無しさん mailto:sage [2006/03/10(金) 19:18:15 ] 言語のせいなのか?
421 名前:デフォルトの名無しさん mailto:sage [2006/03/10(金) 19:25:46 ] ほほうCocoaアプリのWebブラウザは全てDoS攻撃可能ですか 帰れ馬鹿。
422 名前:デフォルトの名無しさん [2006/03/10(金) 19:45:48 ] だれも CocoaアプリのWebブラウザ全て なんて言っていませんよ これからもずっと狭い世界で生きていってください
423 名前:デフォルトの名無しさん mailto:sage [2006/03/10(金) 20:02:22 ] Objective-C+OSXのクライアント、なんて書くからだろ。そんなの山ほどあるよ。 そしてキミのトラブルwに類似した例で困ってる人なんか、ググっても誰も見つからなかったんだろ? そこで気付くべきだ。狭い世界で生きてるのは自分だとなw
424 名前:デフォルトの名無しさん mailto:sage [2006/03/10(金) 20:07:46 ] DoSの対処は、同一ホスト接続時ウェイトや最大接続数でやるものだ。 だいたいソケットのcloseは、ルータを跨ぐと伝わらないからインターネットでは使えない。 それに、終了コードで文字コードとかって何の話だ。 telnetで試せないような物を作っている気配がするぞ。 コマンドストリームなら英文字列のコマンドを送る物だし、データストリームは先にバイト数を通知する物だ。 まずネットワークプログラムの本で、定石なプロトコルの作り方を勉強した方が早いと思うぞ。 あとうまくいかない時は、まっさきに自分の不勉強を疑え。 そんな弱い心だと、腕が上がらんぞ。
425 名前:デフォルトの名無しさん [2006/03/10(金) 20:44:56 ] コメントありがとう >ソケットのcloseは、ルータを跨ぐと伝わらない Objective-C+OSX 以外は伝わりますよ java RealBasic その他ウィンドウズの環境でも
426 名前:デフォルトの名無しさん mailto:sage [2006/03/10(金) 21:17:32 ] プロトコルによる。
427 名前:デフォルトの名無しさん mailto:sage [2006/03/10(金) 21:58:46 ] >>419 >終了コードを送る場合 文字コードとかあるじゃないですか 意味わかんね。自分の中で話閉じるな。
428 名前:デフォルトの名無しさん mailto:sage [2006/03/10(金) 22:00:48 ] >>419 >なぜ検知をしたいかというと不正なクライアントを識別する機能と関係しています だったら、なぜサーバからクローズしない。
429 名前:デフォルトの名無しさん [2006/03/10(金) 22:35:41 ] 終了コード云々はプロトコルの問題です 文字コード云々もプロトコルに含まれます socketのcloseとdisconnectの仕様についてが元々の質問です Objective-C+OSX 以外のsocketの仕様については一部述べています その上でObjective-C+OSXのsocketの仕様についてお尋ねしているのです 問題を切り分けた上で質問しているということです。 >だったら、なぜサーバからクローズしない。 httpのように直ぐ切断するものでなくて 接続が続くタイプのサーバーだからです
430 名前:デフォルトの名無しさん mailto:sage [2006/03/10(金) 22:40:42 ] だったら、ふつうにサーバに切断要求を出せばいい プロトコルも当然自分で規定してるんだろう? 切断用のコマンドなりなんなり決めればいいじゃないか
431 名前:デフォルトの名無しさん [2006/03/10(金) 22:50:12 ] 切断用のコマンドも決めていますよ ただsocketの段階で他の環境と動作が異なっているので 質問しました プロトコルがテキストベースの場合CRLFなどを読むコードを書かないとsocketの切断処理を書けない のであれば 特殊だと思いましたので 間違っているのかどうか確認したかったのです とりあえず動かすということでなくて 問題を切り分けした上で プロトコル関係なく OSXのsocketの動作として どうなのかが質問のポイントです
432 名前:デフォルトの名無しさん [2006/03/10(金) 22:52:55 ] 誤:プロトコルがテキストベースの場合CRLFなどを読むコードを書かないとsocketの切断処理を書けない のであれば 正:プロトコルについて いろいろ決めて そのコードを書かないとsocketの切断処理を書けない のであれば
433 名前:デフォルトの名無しさん mailto:sage [2006/03/10(金) 22:58:21 ] TCP socketと自分プロトコルのクローズを混同してる。 RealBasic, Java, Windows環境でも検出されるというが、 言語環境とOS環境も混同してる。 当然、UNIX Cの socketでも確認したんだよな?
434 名前:デフォルトの名無しさん mailto:sage [2006/03/10(金) 23:06:26 ] なあ、とりあえずObjective-C関係なくないか? ネットワークプログラミングのスレとかに移動してもらえると助かるのだが。
435 名前:デフォルトの名無しさん [2006/03/10(金) 23:06:35 ] 混同なんてしていません あなたが勝手に間違っているだけとしか 思えませんが UNIX C の socket とは何ですか? なぜ そんなもので確認する必要があるのですか?
436 名前:デフォルトの名無しさん [2006/03/10(金) 23:07:04 ] UNIX Cの socketだけ まだです と言ってもObjective-Cから中で呼び出しているようですが 今度確認してみます Windowsの言語と言っても沢山ありますから ウィンドウズ環境とまとめただけです TCP socketのクローズについて聞いているのですが プロトコルのクローズについての返答が多いです
437 名前:デフォルトの名無しさん [2006/03/10(金) 23:09:58 ] 偽者行為して何になる>435 こういうやつが多いのですか マカーは
438 名前:デフォルトの名無しさん mailto:sage [2006/03/10(金) 23:17:50 ] なんでマカーという単語が出てくるんだ。
439 名前:デフォルトの名無しさん [2006/03/10(金) 23:22:39 ] 新マックの方にも書いたのですが 質問の意味が直ぐわかる方が半分ぐらい うざがってか なんでか からむ人が半分ぐらい という感じだったからです
440 名前:デフォルトの名無しさん mailto:sage [2006/03/11(土) 00:16:27 ] socketをクローズした時に、TCP FINが飛ばないって話ですか。 単にライブラリの誤用だと思いますけど。 ライブラリは止めて、NSStreamかCFStreamを直接使ってみたらどうです?
441 名前:デフォルトの名無しさん [2006/03/11(土) 00:38:06 ] ありがとうございます ライブラリといってもソースを読みましたが単純なものでしたが できるだけ低レベルAPIでやってみます
442 名前:440 mailto:sage [2006/03/11(土) 01:08:38 ] プロトコルで皆に突かれている事も妥当なので、再考した方が良いですよ。 クライアントが終了コマンドを送ってそのままクローズすると、コマンドが届かなかったりします。 切断は、終了コマンドを受け取ったサーバ側が行う事が定石です。
443 名前:デフォルトの名無しさん mailto:sage [2006/03/11(土) 01:10:20 ] いつまでもサーバが待ってる方が変だと思う
444 名前:デフォルトの名無しさん mailto:sage [2006/03/11(土) 01:32:31 ] 日本語は空白じゃなくて「、」で区切るんだよ。
445 名前:デフォルトの名無しさん [2006/03/11(土) 05:51:19 ] 基本的に切断はサーバ側で行っていますが Objective-C+OSXのsocketでcloseを検知しませんでしたので質問しました 予期しないクライアントの接続方法についてサーバー側では常に定石外のことも考えるべきだと思います 。を使わない時は、も使いません いつも使わないわけではありません 失礼しました
446 名前:デフォルトの名無しさん mailto:sage [2006/03/11(土) 14:40:01 ] OS X のソケットといっても BSD と異なるとは思えないけれど。
447 名前:デフォルトの名無しさん mailto:sage [2006/03/15(水) 00:36:57 ] さて、Objective-Cの話に戻ろうか
448 名前:デフォルトの名無しさん mailto:sage [2006/03/16(木) 21:03:39 ] -- I'm going down to the local autorelease pool for a quick swim, anyone care to join? -- not me. you never know what's been released in there..
449 名前:デフォルトの名無しさん mailto:sage [2006/03/17(金) 08:03:12 ] -- 近所の autorelease プールにちょっと泳ぎに行こうと思うんだけど、誰か一緒に行かない? -- 僕は遠慮しとくよ。 何がリリースされてるか判らないからね。
450 名前:http://www.vector.co.jp/soft/win95/util/se072729.html mailto:http://msdn2.microsoft.com/ja-jp/library/h2k70f3s.aspx [2006/03/18(土) 21:30:52 ] TextSS のWindowsXP(Professional)64bit化おながいします もしくは64bitにネイティブ対応したテキスト置換ソフトありますか? そういや64bitにネイティブ対応している2chブラウザてありましたっけ?
451 名前:デフォルトの名無しさん mailto:sage [2006/03/25(土) 23:22:17 ] [self hosyu];
452 名前:デフォルトの名無しさん mailto:sage [2006/03/27(月) 10:25:14 ] ∧||∧ ( ⌒ ヽ MonaOSにlibobjc移植してみたけどコンパイルできない・・・ ∪ 。ノ ∪∪
453 名前:デフォルトの名無しさん mailto:sage [2006/03/28(火) 11:45:35 ] MonaOSってObjective-Cで書かれてんの?
454 名前:デフォルトの名無しさん mailto:sage [2006/03/28(火) 12:43:09 ] >>453 C++とかC#とかぐちゃぐちゃだよ 単にObjective-Cが使いたかっただけなんだ
455 名前:デフォルトの名無しさん mailto:sage [2006/03/28(火) 18:55:29 ] Objective-C良いよね。
456 名前:デフォルトの名無しさん mailto:sage [2006/03/28(火) 19:10:57 ] だよね。
457 名前:デフォルトの名無しさん mailto:sage [2006/03/29(水) 00:51:28 ] [[NXApp alloc] init] とか見ると快感すら覚える。
458 名前:デフォルトの名無しさん mailto:sage [2006/03/29(水) 20:49:22 ] [[Object alloc] init] と [Object new] はどうちがいますか?
459 名前:デフォルトの名無しさん mailto:sage [2006/03/30(木) 09:50:39 ] >>Object<< どっちも使えねぇという意味で違わない
460 名前:デフォルトの名無しさん mailto:sage [2006/03/30(木) 19:29:03 ] NXApp ってあんた何年前の話よ。 alloc] init] と new ] の違いは、 後者は普通使わなくて前者をよく使うというだけでは、慣習的に。
461 名前:デフォルトの名無しさん mailto:sage [2006/04/02(日) 01:58:47 ] 俺の人生はNeXT Computer Inc.が消滅した時に終わったから...
462 名前:デフォルトの名無しさん mailto:sage [2006/04/02(日) 10:24:39 ] すろやまさん?
463 名前:デフォルトの名無しさん [2006/04/02(日) 13:46:30 ] 荻原本復刊記念age
464 名前:デフォルトの名無しさん mailto:sage [2006/04/02(日) 15:01:11 ] どう変わるかな、しかし高いので立ち読みだけにします。
465 名前:デフォルトの名無しさん mailto:sage [2006/04/02(日) 15:14:50 ] 萩原盆とはなんぞや
466 名前:デフォルトの名無しさん mailto:sage [2006/04/02(日) 16:00:49 ] >>462 いい読みだが、漏れはあんな負け組さんじゃない。
467 名前:デフォルトの名無しさん mailto:sage [2006/04/02(日) 16:51:42 ] >>265 これだろ? 「Objective‐C―MacOS Xプログラミング入門 MacOS Xプログラミング入門」 荻原 剛志 (著) Human Interface Guidelines も復刊してくれ
468 名前:デフォルトの名無しさん mailto:sage [2006/04/02(日) 19:09:49 ] >>466 人生終わってるのに勝ち組カコイイー
469 名前:デフォルトの名無しさん mailto:sage [2006/04/02(日) 19:53:05 ] すろやまさん乙
470 名前:デフォルトの名無しさん mailto:sage [2006/04/02(日) 22:32:34 ] よく+(id)sharedInstanceみたいな感じでインスタンスをひとつだけ作ってそれを返すメソッドがあるけど、 あれってどうやって実装してるの?
471 名前:デフォルトの名無しさん mailto:sage [2006/04/02(日) 23:36:49 ] ? 単純にsingletonじゃねーの? if (_object==nil){ _object = [[Hoge alloc] init]; } return _object; Hoge alloc, Hoge initは非公開にしてこんなかんじ? もうちょっといろいろしてると思うけど #そういう話じゃない?
472 名前:デフォルトの名無しさん mailto:sage [2006/04/03(月) 00:26:41 ] ttp://developer.apple.com/documentation/Cocoa/Conceptual/CocoaFundamentals/CocoaObjects/chapter_3_section_10.html
473 名前:デフォルトの名無しさん mailto:sage [2006/04/03(月) 09:31:45 ] Javaじゃあるまいし、initを非公開になんてしないんじゃね? 普通にinitでもファイルスタティックな変数に入れた共有インスタンスを返せばいい。
474 名前:デフォルトの名無しさん mailto:sage [2006/04/03(月) 13:10:45 ] Amazon登場 Objective-C Mac OS Xプログラミング 荻原 剛志 (著) ttp://www.amazon.co.jp/exec/obidos/ASIN/4797333340/
475 名前:デフォルトの名無しさん mailto:sage [2006/04/03(月) 19:53:46 ] ありがとうございます。 Singletonっていうんですね。デザインパターンについてはあまり勉強してませんでした。
476 名前:デフォルトの名無しさん [2006/04/03(月) 20:27:51 ] >>474 前作を持っている人は購入の必要はなさそうですか?
477 名前:デフォルトの名無しさん mailto:sage [2006/04/05(水) 03:47:17 ] Objective-C++ で boostって使えます? ヘッダインクルードすると大量のエラーが出ますが やっぱりアウト?
478 名前:デフォルトの名無しさん mailto:sage [2006/04/05(水) 06:57:20 ] externはしたのか。
479 名前:デフォルトの名無しさん mailto:sage [2006/04/08(土) 18:24:50 ] レビューまだー?
480 名前:デフォルトの名無しさん mailto:sage [2006/04/08(土) 20:34:31 ] せめて目次出して...
481 名前:デフォルトの名無しさん mailto:sage [2006/04/09(日) 01:15:38 ] >>480 前の本との比較としては ・CHAP13「アプリケーションの構造」CHAP19「キー値コーディング」が追加。 ・CHAP11「オブジェクトのコピーと保存」にアーカイブとプロパティリストについて追加 ・第8章「例題:カードゲームのシミュレーション」が削除 という感じ。ディープすぎる内容が本文からコラムに移されていたりと 読みやすさとしても良くなってると思うよ。
482 名前:デフォルトの名無しさん [2006/04/09(日) 07:59:45 ] 前の持ってたらいらねーかなー 高いしなー
483 名前:デフォルトの名無しさん mailto:sage [2006/04/11(火) 15:22:51 ] なぜか前の2冊持ってる俺
484 名前:デフォルトの名無しさん mailto:sage [2006/04/11(火) 15:57:46 ] >>483 ヤフオクで高値で売ろうとしていたが、 復刊に気付かず売り抜けられなかったってこと?
485 名前:デフォルトの名無しさん [2006/04/11(火) 16:45:44 ] 萩原本買ってきた。 wktkしながら読みはじめる所。 次は、ヒレガス本のTiger版が欲しい。 つか、TigerであれだけAPIが増えたのに、それ関係の書籍が出ていないし。
486 名前:デフォルトの名無しさん mailto:sage [2006/04/11(火) 17:21:24 ] 出ないだろう。Macプログラム本は基本的にはどこの出版社も 出したがらない。mixiのどこだったか忘れたけど2年がかりで Macプログラム本を書いたのにボツにされた人がいた、とか 書いてあったよ。
487 名前:デフォルトの名無しさん mailto:sage [2006/04/11(火) 18:22:28 ] ヒレガスじゃないけど、Tiger本出るよ。
488 名前:デフォルトの名無しさん mailto:sage [2006/04/11(火) 18:42:14 ] >>476 是非Web公開してほしいじゃないか
489 名前:デフォルトの名無しさん mailto:sage [2006/04/11(火) 19:06:19 ] >>486 んなこたあない Macプログラム本は種類が少ないから結構売れる。
490 名前:デフォルトの名無しさん mailto:sage [2006/04/11(火) 20:48:52 ] >>481 じゃあおまえが出版社つくって売ってやれ
491 名前:デフォルトの名無しさん [2006/04/14(金) 11:37:31 ] >>487 ソースきぼん。
492 名前:デフォルトの名無しさん [2006/04/14(金) 17:03:33 ] CHAP15の例外とエラーは、Tiger向けにかなり書き直されてる。 購入推奨。 ただし、スレッド周りダメっぽい。 volatileとメモリバリアの区別が付いていないように読める。
493 名前:デフォルトの名無しさん mailto:sage [2006/04/14(金) 23:25:05 ] >>491 本人か周りの人だろ。ローカスか広文かBNN って、全部出版社潰れたんだっけ?
494 名前:デフォルトの名無しさん mailto:sage [2006/04/16(日) 14:31:49 ] volatileって、実行コードになった時、該当変数をレジスタで保持しないって指定だよね? たしか、別タスクで書き替えられる可能性のある変数の変更がちゃんと反映されるように保障する指定
495 名前:デフォルトの名無しさん mailto:sage [2006/04/16(日) 15:16:35 ] >>494 それもあるけど最適化もしない。 while (i--); なんて文は大抵最適化で消されるけど、 iがvolatileだったら消されずに実行される。
496 名前:デフォルトの名無しさん [2006/04/17(月) 00:03:09 ] それ買ってObjective-Cっての勉強しようと思ったが、 値段見て愕然とした、米買えなくなるから諦めた。
497 名前:デフォルトの名無しさん mailto:sage [2006/04/17(月) 00:23:18 ] >>494 違う。最適化コードの出力を禁止するだけ。 組み込みとかでメモリにI/Oが割当たっている時に、 書き込みが省略されたりすると意味が変わってしまう時に使う。 一方ハードウェアの実行時最適化(命令の並べ替え)には影響しないので、 マルッチスレッド下での排他制御には意味を持たない。 メモリバリアとか、メモリの可視性とかを調べよう。
498 名前:デフォルトの名無しさん mailto:sage [2006/04/17(月) 01:04:49 ] >>497 >>494 は排他なんて言ってない。 変更が反映されると言ってるだけだから、参照だけだろ。 むしろvolatileだけで排他なんかかけたら問題だw
499 名前:デフォルトの名無しさん mailto:sage [2006/04/17(月) 08:49:31 ] >>498 違う。参照も保証されない。 お前もメモリバリアを勉強し直せ。
500 名前:デフォルトの名無しさん [2006/04/17(月) 09:23:37 ] CのvolatileとJavaのvolatileが混同されているな
501 名前:デフォルトの名無しさん [2006/04/17(月) 12:15:16 ] >>499 そうね。 Cの場合は下記を参照 www.yuasa.kuis.kyoto-u.ac.jp/~yasugi/4/par.html Javaはこのあたり参照 www.netgene.co.jp/java/concurrentTips.html C/C++の場合は、volatileはスレッド間のメモリ可視制御を何もやっていないけど、 Javaについては意味がある。 現状Cocoaの場合、インラインアセンブラでメモリバリアを差し込むか、 メモリバリアを入れるOSコールを呼び出す必要がある。 Cocoaが下請けに使っているpthreadについては、「メモリ同期を行う関数」一覧があるので調べられる。 が、Cocoaのどのクラスのどのメソッドが該当するのかは、ドキュメントが見当たらないので推測になる。 念のために書いておくが、494の認識はマルチプロセッサ登場前は概ね正解だった(それでもCPUによる)。 そのため嘘を書いている本は大量に残っている。 ちゃんとした本はあまり無いが、Effective C++を書いたエロイ人のドキュメントもあるので、 英語が読める人には推奨しておく。 www.nwcpp.org/Downloads/2004/DCLP_notes.pdf
502 名前:デフォルトの名無しさん mailto:sage [2006/04/17(月) 16:08:59 ] Objective-C の @synchronized ではいかんの? マルチスレッド書いたことないのですいません
503 名前:デフォルトの名無しさん [2006/04/17(月) 17:02:49 ] >>502 問題無い。lock系の操作はメモリバリアが入ってる。 ダメなのは、「4バイト以下のvolatile変数を使えばロックを使わないで済む」という勘違い。 複数のスレッドが変数にアクセスする場合の選択支は二つあって、 ・常にlockして読み書きする。 ・読み書きのポイントにメモリバリアを入れる。 のどちらか。 後者の方が性能面で有利だけど、前者を使う方がミスが少ない。 @synchronizedを使うのが一番確実。 ちなみにダメな理由を大雑把に説明すると、最近のCPUはアセンブラコードの順番を勝手に入れ替えて最適化処理をやっている。 その結果、コード上とは異なる順番でメモリ上の変数が書き換わったりしている。 これは単一のCPUから見る限り問題無い(ように最適化されてる)のだけど、他のCPUで動作するスレッドから見ると不味い事になる。 例えば、カウンタとフラグに関係を持たせたりしていると、タイミング次第で誤動作してしまう。 他にもCPU単位にメモリキャッシュがあったりするので、一部の変数の書き換えだけが延々と他のCPUに見えない時もある。
504 名前:デフォルトの名無しさん [2006/04/17(月) 17:33:08 ] 津波に@synchronizedとNSLock系の上手な使い方について詳しい解説はございませんかのう その・・・日本語で・・・
505 名前:デフォルトの名無しさん [2006/04/17(月) 18:00:46 ] >>540 期待値に達しているか判らないが、萩原本にはNSLock関係も載っている。 コラムのvolatile関係を読み飛ばせば問題無いのでは無いかと思う。
506 名前:デフォルトの名無しさん mailto:sage [2006/04/17(月) 20:46:35 ] 買っては見たものの、4200円は高杉だろ。
507 名前:デフォルトの名無しさん mailto:sage [2006/04/17(月) 21:22:31 ] なんだ? リア工房の俺でも買えたぞ
508 名前:デフォルトの名無しさん mailto:sage [2006/04/17(月) 21:57:51 ] プログラム系の書籍で4桁ぐらいでグダグダいってたら全然買えない 素直に諦めろ
509 名前:デフォルトの名無しさん mailto:sage [2006/04/17(月) 22:05:04 ] いや、あの内容で4200円かと思うとつい。
510 名前:デフォルトの名無しさん mailto:sage [2006/04/17(月) 22:38:15 ] パチスロの台の前に30分居たと思えば安いものだ。
511 名前:デフォルトの名無しさん mailto:sage [2006/04/17(月) 23:59:04 ] 抜きの1/4と思(ry
512 名前:デフォルトの名無しさん mailto:sage [2006/04/18(火) 00:38:33 ] 時間を買うのであれば安いだろ
513 名前:デフォルトの名無しさん [2006/04/18(火) 07:02:47 ] 米と比べちゃうよね…
514 名前:デフォルトの名無しさん mailto:sage [2006/04/18(火) 08:59:26 ] 萩本は一ヶ月分の米に相当するということでしょうか。
515 名前:デフォルトの名無しさん mailto:sage [2006/04/18(火) 19:43:49 ] 米一俵の精神で頑張ってくれたまえ。
516 名前:デフォルトの名無しさん mailto:sage [2006/04/24(月) 21:07:27 ] HMDTのTiger本きたね
517 名前:デフォルトの名無しさん [2006/04/25(火) 01:18:54 ] まだかじった程度だけど、 やっぱC系の言語って基本的に趣味の領域なのかなと。 大規模開発だと「プログラマに任せる」っていう設計思想は 危険すぎるから。 「これで、Objective-Cのオブジェクト型は、原理的に動的型であり、 静的な型は目安にすぎないことが理解できただろう。 言語として型の厳密性を保証することはなく、適切なオブジェクトが 代入させるかどうかの判断は、プログラマやフレームワークにまかされることに なる。実際にコードを書いてみると、このいわばルーズな文法が、非常に 楽であることに気づく。 しかし、次のような疑問も浮かぶだろう。そんないい加減なコンパイルで、 本当に実行時大丈夫なのか、と。これに対しては、次のように答えることが できる。正しいオブジェクトが渡るかどうかはプログラマが保証することで あり、ある程度の経験を積めば、基本的には大丈夫だろう、と。 」 なんてことを自信満々に言っちゃってる『ダイナミックObjective-C』の 作者さんはきっと企業内でコード書いたことないんだろうなあ。 ガベコレも導入するみたいだけど、なぜ Java を捨てたのか?Jobs との因縁か?w こんなマイナー言語をメインに据える Apple ってソフト自社生産の任天堂路線? デザイン的に洗練されれば Windows でもいいのに、Vista のスタートボタンを 糞にした MS に未来はないよ。とほほ
518 名前:デフォルトの名無しさん mailto:sage [2006/04/25(火) 01:26:51 ] 企業の業務用アプリケーションを構築する際にプロジェクト内に 一定比率で存在するへたれプログラマを相手にしてないんじゃね? > Objective-C の適用領域
519 名前:デフォルトの名無しさん mailto:sage [2006/04/25(火) 02:40:51 ] >>517 Java は捨てていないし、小規模開発が趣味の世界ではない訳だが。 型云々も大事だけれど、個人的にはクロージャを捨てたのが残念。
520 名前:デフォルトの名無しさん mailto:sage [2006/04/25(火) 04:32:44 ] >517 著者は企業プログラマじゃなかったっけ?
521 名前:デフォルトの名無しさん [2006/04/25(火) 06:47:31 ] >>519 >Java は捨てていないし つ developer.apple.com/documentation/Cocoa/Conceptual/LanguageIntegration/index.html Important: Features added to Cocoa in Mac OS X versions later than 10.4 will not be added to the Cocoa-Java programming interface. Therefore, you should develop Cocoa applications using Objective-C to take advantage of existing and upcoming Cocoa features.
522 名前:デフォルトの名無しさん [2006/04/25(火) 06:54:18 ] >>518 型チェックがあるおかげで、へたれでもとりあえず動くものが作れるってのは 企業にとってプラスなのかマイナスなのか。
523 名前:デフォルトの名無しさん mailto:sage [2006/04/25(火) 08:07:35 ] >>522 「型チェックがあるおかげで、へたれでもとりあえず動くものが作れる」→× 「型チェックがあるおかげで、へたれがコンパイルを通すのに時間がかかり、スケジュールが遅れる」→○ へたれが作ったものはコンパイルできるってだけで、動くって言いきるには無理があるぞ。 Objective-C ってーか動的な型付け言語は、「プログラマ==ユーザ」という環境下で最大のメリットが 出てくるもんだと思う。
524 名前:デフォルトの名無しさん mailto:sage [2006/04/25(火) 08:20:11 ] id嫌い 便利なのは認めるけど、自分をあんまり信じられないから コンパイル時の型チェックで内部変更の変更必要箇所を探させてたから チェック方法が1つ減るから。 #Squeak(Smalltalk)も同じ理由で苦手
525 名前:デフォルトの名無しさん mailto:sage [2006/04/25(火) 09:29:04 ] >521 「とりあえず今までどおり使えるけど、Javaはこれ以後サポートしないよ」 っていうのは、Javaを半ば捨てたのと一緒では? >523 誰かが言ってたんだけど 「どんなプログラマでもJavaでは平均的なプログラマになれる」 「LISPではプログラマは力量にあったプログラムしか書けない」 というのがあった。Javaだったらヘタレを雇っても安心、というのはある。 Obj-Cだったら能力のあるプログラマじゃないと 良いものを書いてもらえなさそう。 そういう意味で >524 には激しく同意。自分は信じられない。
526 名前:デフォルトの名無しさん mailto:sage [2006/04/25(火) 09:29:30 ] Java VM って Java で書いてあるの?
527 名前:デフォルトの名無しさん [2006/04/25(火) 10:07:15 ] 静的型チェックの無い言語を嫌悪する事は、プログラマの性格的素質としては良い傾向だと思う。 が、単に経験が足りない。 企業内でJavaを使ってWebベースのシステムを書かされているエンジニアは多い。 しかし良く考えれば、XMLやJSPをJavaのコードと結合するためにリフレクションまみれのフレームワークを使わされている。 そしてある日、「それだったら、全部動的言語で良くね?」と悟る。 実際rubyやphpでシステムを書き出すと、馬鹿らしくてJavaを使う気が失せるし、XMLがインフレを起こしている事に気がつく。 その後にObjective-Cを触ってみると、たぶん作者さんと同じ心境になれる。 >>519 クロージャをCのランタイムに載せたら神だと思うが。 匿名クラスや、匿名メソッドと勘違いしていないか?
528 名前:デフォルトの名無しさん [2006/04/25(火) 10:08:09 ] なんかよく分からんが、企業内ではJava使えばいいじゃん。 WinでもMacでも動くんだから。 適材適所でしょ。
529 名前:デフォルトの名無しさん mailto:sage [2006/04/25(火) 12:30:06 ] >>526 >Java VM って Java で書いてあるの? 確か、C/C++で書かれてあったはず。
530 名前:デフォルトの名無しさん mailto:sage [2006/04/25(火) 12:59:50 ] >>525 Cocoa-Javaはこれ以上新しい機能を追加しないってだけで Javaを捨てたわけではないと思うけど。
531 名前:デフォルトの名無しさん mailto:sage [2006/04/25(火) 13:05:36 ] >>529 なるほど。 じゃあ、Java 自体が趣味の領域なんだろうね。 >517
532 名前:デフォルトの名無しさん mailto:sage [2006/04/25(火) 15:41:20 ] C/C++はある程度コントロールできる奴ら(少数)向き チェックの多い言語は書き方がある程度強制されるから多人数向き
533 名前:デフォルトの名無しさん mailto:sage [2006/04/25(火) 17:03:05 ] OS9にもこれ以上新しい機能は追加されないと思うけど まだ捨てられてないんだっけ?
534 名前:デフォルトの名無しさん mailto:sage [2006/04/25(火) 19:03:44 ] idはたまに、共通の親クラスつくるの面倒な時とか使う それより面倒なのがプリミティブな型を使うとき ヘッダーにメソッド書いておかないとコンパイルできなかったり、動作がおかしかったり NSNumberを使うとタイプ量が多くて面倒臭い
535 名前:デフォルトの名無しさん mailto:sage [2006/04/25(火) 19:24:31 ] 発展途上のプリミティブな型がある言語にObjective-Cっぽいところを持ち込んでしまえばいいんじゃ?
536 名前:デフォルトの名無しさん [2006/04/25(火) 20:20:51 ] それがObjective-Cなのではあるまいか
537 名前:デフォルトの名無しさん [2006/04/25(火) 20:35:51 ] つまり、発展途上のプリミティブな型のあるC言語にSmallTalkっぽいところを持ちこんだのがObjective-Cだと言いたいのか? その通りだな。
538 名前:デフォルトの名無しさん mailto:sage [2006/04/25(火) 21:05:36 ] >>520 既に退職してる。
539 名前:デフォルトの名無しさん mailto:517 [2006/04/25(火) 21:12:11 ] >>531 あほですか? 低レベル(基礎的)な部分でC系の言語を使うのは全く問題ない。 フレームワークもまたしかり。 ただそういったランタイムor実行環境に依存する部分を公開するのは頂けない。 バグや変更があったときに影響が大きすぎる。 だからObjective-Cは頂けない。なんでもできるとか言って喜んでる奴は やっぱり趣味でコード書いてる奴の言うことだと思う。 構造体化でカプセル化も容易にくずせる言語をObjectiveって... 「オブジェクトっぽいC」もしくは「オブジェクト的な皮を被せただけのC」 ってことなんだね。
540 名前:デフォルトの名無しさん [2006/04/25(火) 21:30:28 ] >>539 うんまあ、最後の段落はまさにその通りなんだけどさ、 キミの使ってるOSって何で書かれてるかな。 多分Cだと思うよ。 それはなんでかな。 ランタイムや実行環境をいじれるからだよね。 ハードウェアに合わせてバリバリチューンも出来るからだよね。 でまあ、キミの価値観だとOSって趣味の領域なのかね。
541 名前:デフォルトの名無しさん mailto:sage [2006/04/25(火) 21:32:33 ] モチロンソウヨ
542 名前:デフォルトの名無しさん mailto:sage [2006/04/25(火) 21:55:48 ] IT土方向きではないな 最終成果物がイメージ(設計)できると動的のほうが効率いい
543 名前:デフォルトの名無しさん [2006/04/25(火) 22:49:09 ] なんか
544 名前:デフォルトの名無しさん mailto:517 [2006/04/25(火) 22:53:52 ] >>540 まあ極端な言い方をすればそうだね。 OSを純粋な「ソフトウェア」かと言えば俺は違うと思うから。 要は一部の「オタク」的な人間がハードウェアに依存した 部分でごちゃごちゃやってる部分はみたくないというか、 ソフトにとっちゃ本来はどうでもいいことじゃない? これからは少しは変わるかも知れないけど、依然として iLifeを使いたければMac上でなければならないし、Windowsで 使い勝手のよかったソフトはマック上で同じように動かすこと ができないなんて、もしくは買い直せなんてユーザーにとったら やっぱり何それって感じだと思うよ。 所詮はハードのおまけかと。 個人ユースだったらOSがバージョンアップするごとに ソフトが動かなくなっても「好きで付いてきてるんだろ」的な 態度でもなんとかなるけどw、 企業向けじゃそうはいかないからな。 なぜJavaがこれほど社会的な基盤として、また企業の商売道具として 発展し続けているかといえば、ソフトはソフトだと言えるところに 俺はあると思ってる。だからこそオープンソースという勢力を巻き込んで そのソフトを使用するのに今までウン万円も支払わなければいけなかったことが 変わりつつあるんじゃないかな。Eclipse しかり、OpenOffice しかり。 Objective-C をかじってみて気がついたのは、Appleは所詮ソフトを Macのおまけとしかみてないんじゃないかってことなんだよ。
545 名前:デフォルトの名無しさん mailto:sage [2006/04/25(火) 23:42:55 ] マルチプラットフォームがうれしいなら GNUstep でも使ったら?
546 名前:デフォルトの名無しさん mailto:sage [2006/04/25(火) 23:50:26 ] >そしてある日、「それだったら、全部動的言語で良くね?」と悟る。 それは悟りじゃない。単に面倒くさくなっただけ。 動的言語を使用した方が良い局面が増えているのは事実だが、 一事が万事というのはプログラマ的じゃない。
547 名前:デフォルトの名無しさん mailto:sage [2006/04/26(水) 06:56:48 ] プログラマ的発想から言えば、出来るだけ今あるものを使いたいと考える。 Objective-Cだってそういう発想から作られている。 でも今現在、出来るだけ今あるものを使おうとすると、Objective-Cはありえない。 JavaやC++の最大のメリットは型チェックでもクラス指向でもなく、使っている人が多いということ。 それとソフトがハードのおまけと考えてるのはAppleより、SunやIBM。 ハードを第一に考えるから、オープンソースに肩入れできる。 Appleも頑張っちゃいるが、Appleにとってはソフトも大事な売り物である以上、 全てをユーザーに委ねる訳にはいかない。 Xcodeがあれば俺は満足だけどね。
548 名前:デフォルトの名無しさん mailto:sage [2006/04/26(水) 11:56:21 ] >>547 >それとソフトがハードのおまけと考えてるのはAppleより、SunやIBM。 IBM にとってはハードもオマケだろ。サービスで喰ってるんだから。 >ハードを第一に考えるから、オープンソースに肩入れできる。 RedHat みたいな企業の事はどうお考えで?
549 名前:デフォルトの名無しさん mailto:sage [2006/04/26(水) 12:35:51 ] Objective-C の言語仕様や開発環境がどういうつーより 使用者が多いほうがえらい的な話になってるようなんで 別板いったほうがよくねすか? Java や C++ に開発者がいっぱいいて資産がたくさんあって うれしいならソレ使えばよろし。ここは「メモリを直接ドライブできるのに 動的結合できるなんて、ハァハァ」ていうひとのスレだと思うし。
550 名前:デフォルトの名無しさん [2006/04/26(水) 13:27:32 ] 俺は>>544 が別スレなり板に行けばいい話だと思うな。 どうもCが嫌いみたいだから、C叩きスレとかに行けばいいと思う。
551 名前:デフォルトの名無しさん mailto:sage [2006/04/26(水) 14:28:12 ] 民主党、共産党と同じでなんでも叩きたいだけでしょ。 その場に応じて主張を変える所なんかもそっくりだし。 枯れ木も山の賑わい。 ほっとけばいいんじゃない?
552 名前:デフォルトの名無しさん mailto:517 [2006/04/26(水) 21:19:11 ] >>547 ではなんで今あって、よっぽど使ってる人が多い言語の Cocoa-Java Interface を Apple は捨てるんでしょうね? Microsoft の .NET 戦略をみてもソフト会社だけあってか、ハードから 隔離させようとしてるのに、Apple は何でこんなマイナーで泥くさい言語にこだわるのか。
553 名前:デフォルトの名無しさん [2006/04/26(水) 21:42:45 ] Cocoa-Javaはこれから先が無いにしても、Javaそのものを排除してるわけじゃなし。 まあAppleの戦略について、ここで語ってもしかたないべ。 ところでマイナーなのは間違いないが、Objective-Cは泥くさいか? エレガントでスマートなコードを書いてる自信はないけどさ。
554 名前:デフォルトの名無しさん [2006/04/26(水) 22:02:38 ] setValue:a forKey:b みたいな書き方、俺は好きだね。 setValueForKey(a,b)なんて泥臭くてw
555 名前:デフォルトの名無しさん mailto:sage [2006/04/26(水) 22:09:15 ] >>552 ハードとは十分「疎」になってるでしょ。OPENSTEP は SPARC でも 動いてたんだから。Apple からしたら、Java の様に OS からも「疎」 にする必要は無いし、Objective-C で問題無いんじゃないの。 C の資産を丸ごと使えるわけだから、ユーザベースが少ない事が問題に なるケースは少ないだろうし。
556 名前:デフォルトの名無しさん mailto:sage [2006/04/26(水) 22:35:07 ] >>525 Mac OS Xネイティブアプリケーション開発用としては、Javaを捨てたってこと でしょ。そんな余裕があったらCocoaの機能増やすし、JavaはJavaで Cocoaに併せてる暇があったら、さっさと6.0に備える、ってことでしょ。 実際5.0 Release 4のリリースは困難を極めたわけだし。Developer Preview 7 まで行くなんていままで無かったぞ。 Java自体は開発しつづけないと、サーバOSとしての用途が恐ろしく限られて しまうので、結構必死に開発してるようだが。 あとCocoa+Javaという形じゃなくて、Java側からJavaのやり方で、Cocoaの ビューをAWT内で使う方法とかは作られてるね。Cocoa Componentとか。
557 名前:デフォルトの名無しさん mailto:sage [2006/04/26(水) 22:36:46 ] つうか、PHP 4で大規模開発なんて、おれは関わりたくないな。
558 名前:デフォルトの名無しさん mailto:sage [2006/04/26(水) 23:05:32 ] 趣味でObjective-C使ってる自分には、>>554 で十分だと思った。 そこは本質ではないんだろうけど。
559 名前:デフォルトの名無しさん mailto:sage [2006/04/27(木) 08:37:51 ] Cocoaフレームワークに静的なJava言語が対応しきれないというのも原因なのかもね。 pcweb.mycom.co.jp/column/objc/006/
560 名前:デフォルトの名無しさん mailto:sage [2006/04/27(木) 10:47:22 ] つか、Sunの企業利益のために割く人的資源は無いって事だろ?
561 名前:デフォルトの名無しさん [2006/04/27(木) 12:37:41 ] Cocoa+Javaは、引数が構造体や配列になっているメソッドがシカトされている事が多い。 機械的にバインディングを作れないので、力尽きたのでは無いかと思われ。 あとJavaのGCが動くタイミングで落ちる等の不具合が、とうとう直せなかったような気がする。
562 名前:デフォルトの名無しさん mailto:sage [2006/04/27(木) 13:45:15 ] >>561 そういうバグがあったのか。 もしかしてそれって、 Cocoa+Java で(明示的に生成していない) NSAutoreleasePool でコケてたのと根は一緒?
563 名前:デフォルトの名無しさん mailto:sage [2006/04/27(木) 20:32:38 ] わかった、Effective Objective-C が欲しいんだな、たぶん
564 名前:デフォルトの名無しさん [2006/04/27(木) 20:51:24 ] >>564 それはすごく欲しい。
565 名前:デフォルトの名無しさん mailto:sage [2006/04/27(木) 21:30:40 ] 俺様が執筆してくれるわ
566 名前:デフォルトの名無しさん [2006/04/27(木) 22:20:46 ] ははっ
567 名前:デフォルトの名無しさん mailto:sage [2006/04/27(木) 23:03:42 ] Objective-C用単体テストフレームワークってありますか? SmalltalkならSUnit、JavaはJUnitがありますが
568 名前:デフォルトの名無しさん mailto:sage [2006/04/27(木) 23:07:04 ] OCUnitがXcode2(10.4)から添付されてる。他のもあたるなら ttp://www.cocoadev.com/index.pl?UnitTesting あたり。
569 名前:デフォルトの名無しさん mailto:sage [2006/04/28(金) 02:43:15 ] >>559 Cocoaの実用的な範囲であれば、リフレクションでなんとかなる。 ポージングとかの変態領域は、JDK7で予定されている動的クラス生成を待つ必要があるだろう。
570 名前:デフォルトの名無しさん mailto:sage [2006/04/28(金) 02:47:10 ] Cocoa-Javaは、AppKitを使う上では制約が多かったが、既存のJavaライブラリを使う分には便利だった。 何をやるにも困らないぐらいのライブラリがあったし。
571 名前:デフォルトの名無しさん mailto:sage [2006/04/28(金) 04:01:47 ] >568さんありがとっ!
572 名前:デフォルトの名無しさん mailto:sage [2006/05/01(月) 08:08:13 ] >>547 >JavaやC++の最大のメリットは型チェックでもクラス指向でもなく、使っている人が多いということ。 激しく同意だなーこりゃ
573 名前:デフォルトの名無しさん [2006/05/01(月) 08:11:04 ] じゃあ誰が使い始めるんだよ?w
574 名前:デフォルトの名無しさん mailto:sage [2006/05/01(月) 09:25:49 ] 最大のメリット以外に合致した人じゃないの。 一つしか言語を使っちゃ行けないわけでなし。
575 名前:デフォルトの名無しさん [2006/05/01(月) 11:05:39 ] じゃあその最大のメリットって奴をどうやって計ったんだ?w
576 名前:デフォルトの名無しさん [2006/05/01(月) 13:09:14 ] >>554 set(value := a, key := b) と書かせる言語も幾つかあるね。
577 名前:デフォルトの名無しさん mailto:sage [2006/05/01(月) 16:13:06 ] >>576 AppleScriptもレコード使えばそういうことができるな。
578 名前:デフォルトの名無しさん mailto:sage [2006/05/01(月) 23:06:49 ] キーワード引数を取れるのは、Smalltalk, Common Lisp, Dylan, Self, Slate, Python なんかがある。Lisp 系と Smalltalk 系で扱いはちょっと違うけど。
579 名前:デフォルトの名無しさん [2006/05/02(火) 09:57:50 ] >>578 PL/SQLもいけるよ。 Oracleの拡張かもしんないけど。
580 名前:デフォルトの名無しさん mailto:sage [2006/05/02(火) 10:05:55 ] PL/SQL自体がOracleの私物だろ
581 名前:デフォルトの名無しさん [2006/05/02(火) 11:24:48 ] >>580 IBMやMSのサーバのストアードプロシージャは、PL/SQLじゃないの? てっきりIBMのDB2がオリジナルで、ISOで標準化された物だと思っていたよ。
582 名前:デフォルトの名無しさん mailto:sage [2006/05/02(火) 12:03:14 ] つ ttp://ja.wikipedia.org/wiki/PL/SQL IBM DB2は SQL PL MSは Transact-SQL というところでスレ違い化してきたので、あとはぐぐって。
583 名前:デフォルトの名無しさん mailto:sage [2006/05/07(日) 15:27:54 ] os x 10.4.6 で man gcc すると Leopard で garbage collection が追加されると 書いてあるという話... うちでは man gcc-4.0 しないとダメだったけど。 theocacao.com/document.page/258
584 名前:デフォルトの名無しさん mailto:sage [2006/05/09(火) 19:12:24 ] >578 VBも仲間にいれてやってください・・
585 名前:デフォルトの名無しさん mailto:sage [2006/05/09(火) 23:35:34 ] スマンね。Windows 系は殆ど知識無いんだ。 Smalltalk 系はメッセージ式の一部であり、構文拡張にもなるのが良いね。 単なる引数のラベルじゃない所が気持ち良い。
586 名前:デフォルトの名無しさん mailto:sage [2006/05/18(木) 10:23:04 ] >>584 VB のは本質的に違うんじゃない? もしそれが OK なら Perl や Ruby も OK になる
587 名前:デフォルトの名無しさん [2006/05/18(木) 13:15:10 ] rubyの場合は、辞書が一時変数として作られるだけだな。
588 名前:デフォルトの名無しさん [2006/05/22(月) 05:45:33 BE:18511766-#] マカーだけどこのスレちょくちょく購読させて貰うね
589 名前:デフォルトの名無しさん mailto:sage [2006/05/22(月) 23:28:32 ] >>588 では早速はじめの一月分の金を払ってくださいw
590 名前:デフォルトの名無しさん mailto:sage [2006/05/23(火) 00:12:11 ] マカーポーシャ
591 名前:デフォルトの名無しさん mailto:sage [2006/05/25(木) 11:37:57 ] Smalltalk のはキーワード引数じゃなくてメソッド識別子の一部のような気がするけど・・・ いや、「気がするけど」じゃなくて「一部である」と強気に主張してみる。
592 名前:デフォルトの名無しさん mailto:sage [2006/05/25(木) 14:13:47 ] そんな身構えなくとも、そうだと思う。Smalltalk のキーワードは、 セレクタの一部で分離、再配置はできない仕組み。 Objective-C も原則同じなのでは? receiver do: #something for: #me receiver …… メッセージレシーバ do: #something for: #me …… メッセージ do:for: …… メッセージセレクタ、もしくは、メソッド名 (前者はメッセージ寄りの呼び名、後者はメソッド寄りの呼び名。コロンも含める) #something と #me …… 第1引数と第2引数 一般的な記法に当てはめると、 receiver.do:for:(#something, #me) だから、LISP の機能の流れをくむキーワード引数とは別物。
593 名前:デフォルトの名無しさん mailto:sage [2006/05/26(金) 09:15:09 ] キーワード引数ならPythonがよくできてる。 位置で指定することも、キーワードで指定することも両方できるうえに、 該当しないキーワードを自動的にDictionaryにいれさせることも可能。 例えばHTMLタグを生成するようなメソッドを定義するとき、知らないキーワードが指定されたら それはHTMLタグの属性名だと判断して属性を出力する、なんてことができる。 スレ違いだけど、参考までに。
594 名前:デフォルトの名無しさん mailto:sage [2006/05/26(金) 13:28:59 ] そりゃ便利そうだな。 と思ったが、メッセージ送信にそんなコストかけてらんないか・・・
595 名前:デフォルトの名無しさん mailto:sage [2006/05/26(金) 13:52:28 ] >>594 存在しないキーワード付きの変数が現れたときに、 エラーにするかわりにmapを構築して渡すだけでそ。 コストはゼロでは?
596 名前:デフォルトの名無しさん mailto:sage [2006/05/26(金) 16:35:54 ] Cocoaの場合、結構NSArrayやNSDictionaryを引数にするメソッドがある。 なので、NSStringみたいな初期化構文はあっても良いかもしれない。 配列 [self dispose:@[@"Basic", @"SQL"]]; 辞書 [self assess:@{@"Basic" => @"garbage", @"SQL" => @"taint"}]; 構文糖だな(--;;
597 名前:デフォルトの名無しさん mailto:sage [2006/05/29(月) 15:20:11 ] [NSArray arrayWithObjects:@"Basic", @"SQL"]; これじゃダメなのかえ?配列の場合だけど。
598 名前:デフォルトの名無しさん mailto:sage [2006/05/29(月) 15:22:12 ] nil入れ忘れた
599 名前:デフォルトの名無しさん [2006/05/29(月) 16:08:02 ] >>597 それの省略構文に過ぎないから構文糖。
600 名前:デフォルトの名無しさん mailto:sage [2006/05/29(月) 16:10:58 ] しかしまあ、@
601 名前:デフォルトの名無しさん [2006/06/24(土) 00:58:44 ] すっかり廃れてしまったので、この記事を。 【境界を越える: Javaモデルを超える型定義戦略】 www-06.ibm.com/jp/developerworks/java/060621/j_j-cb05236.shtml 安全性と柔軟性 静的言語か動的言語かという議論の要点は、ある意味で安全性対柔軟性か、という点に尽きます。 静的言語の支持者達は、より安全な言語が良いのだと信じています。 動的言語の支持者達は、安全性のために費やされる労力を嫌います。 彼らにとって言語を評価するための鍵は、プログラマーの効率を最大にするためにいかに 素早く概念を表現できるか、という点です。 そうしたスペクトル分布の対極として、静的言語のエキスパートは、初期のバグを捉えることが 『可能』ならば捉える『べき』であり、言語の持つ制限はツールで補える、と主張するのです。 皆さんはプログラミング言語のユーザーとして、良きにつけ悪しきにつけ、ある時点で その言語の型定義戦略の奴隷となっています。 筆者は動的モエ〜らしいけど、 確かにO/Rマッピングとかやってると静的なのが面倒に感じる場合があるし。 ただ、言語である程度規定しないと静的な面の利点を享受できないから、 Objective-C は C との互換性やシンプルであれという思想からそれらの利点を捨てた時点で、 代替物が豊富にある Java の方がやはりプラットフォームとしての魅力はあるなあと。 逆説的に言えば、そうした利点を土台にしたからこそ、豊富な代替物を 引き寄せたとも言えるかもしれないね。
602 名前:デフォルトの名無しさん mailto:sage [2006/06/24(土) 14:24:55 ] 動的言語のスピードを生かしてプロトタイプを作り、 静的言語の安全性を生かして完成品を作る。 ってのが理想。
603 名前:デフォルトの名無しさん [2006/06/30(金) 01:56:40 ] webで調べたら、C++のクラスをインスタンス変数で使うときの 制限がたくさん載っててびびった。 newすればコンストラクタも仮想関数も問題なしってことなの?
604 名前:デフォルトの名無しさん [2006/06/30(金) 12:58:48 ] >>603 Tiger以降なら-fobjc-call-cxx-cdtorsつけとけばいいんじゃないの。
605 名前:デフォルトの名無しさん [2006/07/01(土) 02:42:33 ] >>604 ググッたけど分からんかった。 objevtivecからc++のコンストラクタとデストラクタを呼ぶって意味なのかな? とりあえず、純粋なC++コードが動作するってんならうれしいのだが。
606 名前:デフォルトの名無しさん mailto:sage [2006/07/02(日) 09:25:41 ] >>604 >-fobjc-call-cxx-cdtors developer.apple.com/documentation/developertools/gcc-4.0.1/gcc/Objective_002dC-and-Objective_002dC_002b_002b-Dialect-Options.html
607 名前:こぴぺ [2006/07/04(火) 17:31:53 ] Online会員もOKになってるよ。無料。 Cocoaセミナー中級編開催 7月11日(火)、8月1日(火) developer.apple.com/jp/ ・書類とアプリケーションの間の関係の解説 ・テキストファイルの読み込みとその表示 ・Cocoaのデザインパターン ・XMLのパース ・配列、辞書といった、Cocoaのコレクションクラス ・テーブルビュー、アウトラインビューの使用方法
608 名前:デフォルトの名無しさん [2006/08/06(日) 12:00:57 ] [self age];
609 名前:デフォルトの名無しさん [2006/08/08(火) 04:22:52 ] Objective-C 2.0 So compelling, Apple wrote Xcode 3.0 itself in it. Enjoy modern garbage collection, syntax enhancements, runtime performance improvements, and 64-bit support. At your own pace, since it’s backwards compatible with existing Objective-C source. Write applications more quickly with fewer bugs using Objective-C in Xcode 3.0. だってよ。GC ついたらしい。 www.apple.com/macosx/leopard/xcode.html
610 名前:デフォルトの名無しさん [2006/08/08(火) 04:31:06 ] NHKは公共放送なのに公務員じゃないから採用は国籍不問。 だからNHKの司令塔であるNHK東京とNHK大阪は 上層部から制作現場・アナウンサーまで 「在日朝鮮人」「在日韓国人」「偽装帰化人」職員だらけ。 日本人関係者も韓国・北朝鮮・中国マンセーの創価・左翼(共産主義者)だらけ。 その結果、反日どころか売国放送ばかりする さらに日本人から絞り取った受信料を使って 韓国に住んでる親類にタダで韓国ドラマを衛星放送してやっている。 だからNHKはスクランプル化に大反対。 日本国民の金を法権力で強制徴収してるのに このまま外国籍人に好き勝手をさせていいのか? ハッキリ言ってNHKの存在自体が主権在民を定めた憲法違反だ。 NHKや朝日などの売国マスコミ以外の 海外や日本の他の報道機関が既に過去に報道してバレてるカビの生えた古い事だけカキ集めて あたかも自分だけがスクープしたかのような北朝鮮特番を恥知らずに放送するNHK。 「今まで私共NHKが隠蔽し握り潰して来た事実の集大成番組です」ってタイトルで放送すればピッタリだ。 日本社会と日本国民のNHKを見る認識と風向きが180度変わり 不安と恐怖にさいなまれて自分が韓国・北朝鮮・中国マンセーの「ポチ」じゃ無いと言い張り アリバイ工作のハリボテ番組を必死で放送する恥知らずなNHK。 しかしもうそんな姑息で卑怯な言い訳やウソは通用しなくなっている事にさえ気付かない哀れなNHK。 でもどんな言い訳をしても売国奴の末路は悲惨なものだから覚悟しとけよNHK。 まさかそこまで追い詰められていたなんて知らなかったよNHK。 ( ゚∀゚) アハハ八八ノヽノヽノ ヽ ノ ヽ ノ \ ノ \ / \ /
611 名前:デフォルトの名無しさん mailto:sage [2006/08/08(火) 08:20:38 ] なるほど
612 名前:デフォルトの名無しさん [2006/08/09(水) 03:51:55 ] やっと、GCC4.1.1+obj-c++の環境のコンパイルが完了。winの上でやっています。 さてと、昔NextStepでプログラミングをしていたので、マニュアルをひっぱり だしてきてちょっとやってみますか。 ちなみに、「NEXTSTEP OBJECT-ORIENTED PROGRAMMING AND THE OBJECTIVE C LANGUAGE」という本がありますが良い本ですよ。 もう売っていないでしょうけど、オブジェクト指向の本質的なことがうまく 書いてあります。 私は、C++もかなり長いことやっていて思いますが、C++はやはり言語仕様的 には強力なものがあり、加減を忘れるととことんまで機能を使いながらコー ディングをしてしまいますが、アプリケーションの性質に応じてその機能を 使い方をどこまでにすれば良いのか判断にあぐねることが多いですね。 よくあるのが、多重継承をしまくると保存と読み出しの際に元に戻せなく なったりします。これはjavaのinterface や、objcのprotocolやcategory的な 機能がなかったりするために基底型から目的のポインタを得るのに大変苦労 をします(C++の仮想基底型は本当のインターフェースとは異なると思います)。 そういう意味でオブジェクト指向といいながら、最後は型がはっきりわかる javaやobjcのほうが現実には使いやすい言語じゃないかと思ったりもします( アプリを作るというのは最後は小細工が必要なんです)。 さて、objc++を少しさわってc++のはかなさでも味わいますか....。
613 名前:デフォルトの名無しさん mailto:sage [2006/08/10(木) 00:28:27 ] >612 またObjective-Cのために?gcc4系ってのは(汗。さすが。 で、その本なんだけど、AppleがRhapsodyの時に日本語PDFファイルで配布してたやつと大体一緒のやつかな? しかしObjective-C 2.0ってGCとかどうでもいいんだけど(実質今のGNUstepでもアリだしさ)、言語仕様の拡張というかsyntaxが拡張されるっつーのが気になるなぁ。 BlockClosureとか使えるようにすんのか?とりあえずC++的な鵺には並んでほしいとこですが。 実際の仕様が貧乏人に公開されるのはもっと先だろうしなぁ。
614 名前:デフォルトの名無しさん [2006/08/10(木) 14:20:32 ] >613 セットで、匿名ブロックが欲しい。 アレが無いと、クロージャの魅力が半減する。
615 名前:デフォルトの名無しさん mailto:sage [2006/08/10(木) 19:42:14 ] >>614 今のObjective-Cにクロージャってあったっけ? あれはGCがないとちゃんとした実装は難しいと思うのだが。
616 名前:デフォルトの名無しさん [2006/08/12(土) 03:40:17 ] >>613 612です。たぶん、一緒でしょう。少し改定されていると思いますが。 OBJC-2.0といってもnamescopeもないし、ただ、C++と混在できるだけ。 やっぱりnamescopeがないのが一番困る。それとクラス静的変数を用意 してほしい。 クロージャについてはないですね。もともとベースがC++,Cなので難 しいでしょう。でも、GCCのC(C++にはない)の内部関数が使えるという ことはパスカルスタックを実現しているはずなので、JAVAでいうロー カルクラスによるクロージャチックなことが出来そうにも思うのですが ....。もう少しみてみないとわかりません。 でもクロージャが使えるようになると、もう違う言語ですね。GDBが追い つかないように思います。そろそろOBJCもC#みたいに大変身するかも。
617 名前:デフォルトの名無しさん mailto:sage [2006/08/12(土) 08:31:59 ] >>613 >AppleがRhapsodyの時に日本語PDFファイルで配布してたやつと大体一緒のやつかな? nyとかで流れないものかなぁ。
618 名前:デフォルトの名無しさん mailto:sage [2006/08/12(土) 09:02:48 ] まずAppleに頼むのが筋だろう。
619 名前:デフォルトの名無しさん mailto:sage [2006/08/12(土) 16:35:23 ] >>617 どっかでひろった PDF もってるけど、基本的にいま Apple が配布してる developer.apple.com/documentation/Cocoa/Conceptual/ObjectiveC/index.html とおんなじだよ。図版もずっとつかいまわしで、はじめにでてくる時計の絵とかも全く一緒。Apple 版のほうがページ数すくなかったりしますが、 それは developer.apple.com/documentation/Cocoa/Conceptual/MemoryMgmt/index.html とか developer.apple.com/documentation/Cocoa/Reference/ObjCRuntimeRef/index.html が切り出されて説明が加わってべつのドキュメントになってるから。
620 名前:デフォルトの名無しさん mailto:sage [2006/08/12(土) 16:39:14 ] あとはこの辺 www.channelu.com/NeXT/ とか Sun のこの辺 docs.sun.com/app/docs/coll/116.1?l=ja とか GnuStep の www.gnustep.org/developers/documentation.html とか。
621 名前:デフォルトの名無しさん mailto:sage [2006/08/12(土) 21:48:45 ] >>619 Appleが翻訳した日本語版は ttp://developer.apple.com/jp/documentation/japanese.html で、その中に Obj-C ttp://developer.apple.com/jp/documentation/cocoa/Conceptual/ObjectiveC/index.html とか Cocoa基礎ガイド ttp://developer.apple.com/jp/documentation/Cocoa/Conceptual/CocoaFundamentals/index.html などあるね。
622 名前:デフォルトの名無しさん mailto:sage [2006/08/12(土) 22:31:08 ] ObjCの翻訳はちょい古くてIntelの話が無い。 まぁドラフトとれ次第、2.0をやってくれるだろ。
623 名前:デフォルトの名無しさん mailto:sage [2006/08/13(日) 00:08:39 ] >>622 >まぁドラフトとれ次第、2.0をやってくれるだろ。 つまり「泳げる頃には」読めるんですな(苦笑)
624 名前:デフォルトの名無しさん mailto:sage [2006/08/13(日) 15:47:52 ] 何の情報も持たず、憶測で断言してる人ってなんなの?
625 名前:デフォルトの名無しさん mailto:sage [2006/08/13(日) 15:50:37 ] >624は >616のことね。
626 名前:デフォルトの名無しさん mailto:sage [2006/08/13(日) 21:05:11 ] >>616 が何を断言したって?
627 名前:デフォルトの名無しさん mailto:sage [2006/08/13(日) 22:30:29 ] WWDC行ってる人もいるでしょ。616が行ったかどうかはわからんけど。
628 名前:デフォルトの名無しさん mailto:sage [2006/08/14(月) 00:13:16 ] で、クロージャは付くのか?
629 名前:デフォルトの名無しさん mailto:sage [2006/08/14(月) 00:50:02 ] WWDCの内容はしゃべれないんだよな いつになったら情報でてくるのか
630 名前:デフォルトの名無しさん mailto:sage [2006/08/14(月) 08:36:49 ] WWDCででた情報はしゃべれなくても、でてない情報はしゃべれるだろ。 WWDCでクロージャの話はでた?
631 名前:デフォルトの名無しさん mailto:sage [2006/08/14(月) 09:28:18 ] >>630 ワラタ GC って Boehm GC なの? それともオリジナル?
632 名前:デフォルトの名無しさん [2006/08/14(月) 09:52:46 ] >>631 以前出てた情報ではオリジナル。
633 名前:デフォルトの名無しさん [2006/08/14(月) 13:05:07 ] >>616 Javaの匿名クラスはクロージャ風味を目指しているけど、準備と構文が煩雑すぎて愛されなかった。 C# 2.0の匿名ブロックぐらいが使い物になる境界線だと思う。 Java 7にも、ほぼ同じ構文が入る事になってる。 Objective-Cの場合、事前にInterfaceやdelegateを宣言する必要が無いと思うので、実装されれば幸福度は高いと思う。
634 名前:613 mailto:sage [2006/08/14(月) 15:13:33 ] >616 なるほど。あれのコラムとかは結構勉強になったもんす。 後のCocoa本(オライリーから翻訳でたけど)よりよっぽどこっちの方が役に立ったというか(笑) Appleからは当時のオリジナルはないけど、NeXT絡みのサイトを調べるとまだ拾える所があったりするから不思議(笑) 個人的にはObjective-C 2.0ってGNUの方でも対応できるのだろうか?(GNUstepどうなるよ?)が今一番大きな心配だったり(笑)
635 名前:デフォルトの名無しさん mailto:sage [2006/08/14(月) 17:46:50 ] Apple の runtime が必要になるから、簡単にはいかないよ (笑)
636 名前:デフォルトの名無しさん mailto:sage [2006/08/14(月) 19:51:15 ] Apple runtime って、 opendarwin だったかなんかで 公開されてなかたっけ? www.opensource.apple.com/darwinsource/10.4.7.x86/objc4-274/
637 名前:デフォルトの名無しさん [2006/08/15(火) 03:23:23 ] なんでもいいからNameScopeだけでも導入してくれ。いまや何でもかんでも クラス化するのにグローバルにしかクラスが定義できないなんて最低だ。 使えん。クロージャなんかなくてもかまわん。 あと、Undoのマネージメントの仕組みも導入してほしいな。完璧でなくて いいが、モデルがほしい。
638 名前:デフォルトの名無しさん mailto:sage [2006/08/15(火) 03:51:42 ] >>632 サンキュ。オリジナルなんだ。実装の詳細を見られるのが楽しみだ。
639 名前:デフォルトの名無しさん mailto:sage [2006/08/15(火) 04:43:35 ] >>637 だれもつっこんでないからいうけど、NamescopeじゃなくてNamespaceな。 日本語でいうと名前空間。 しかしNamescopeはなかなかいい造語のように思える。おまえ、センスあるよ。
640 名前:デフォルトの名無しさん mailto:sage [2006/08/15(火) 04:52:18 ] カスを下手に誉めるとつけ上がるのでやめとけ。
641 名前:デフォルトの名無しさん mailto:sage [2006/08/15(火) 12:33:30 ] www.cocoadev.com/index.pl?ObjC 腐敗臭がする。
642 名前:デフォルトの名無しさん [2006/08/15(火) 13:56:53 ] >>637 つけあがらないようにつっ込んでおくが、Undoの仕組みはかなり前に導入されたぞ。 Cocoaのクラス一覧を良く眺めてミロ。
643 名前:デフォルトの名無しさん mailto:sage [2006/08/15(火) 17:00:00 ] Namescape
644 名前:デフォルトの名無しさん [2006/08/18(金) 03:39:01 ] >>642 あんなもの使えん。おまえ、本当にアプリつくっているの?
645 名前:デフォルトの名無しさん mailto:sage [2006/08/19(土) 07:35:44 ] >>644 俺はそれを使った事ないんだが、どうダメなのか簡単に。
646 名前:デフォルトの名無しさん [2006/08/28(月) 10:44:52 ] 誰かObjective-C 2.0の情報をまとめて下さい。
647 名前:デフォルトの名無しさん mailto:sage [2006/08/28(月) 11:12:04 ] OSにつかわれてこそのプログラミング言語
648 名前:デフォルトの名無しさん mailto:sage [2006/08/29(火) 04:10:16 ] OS って Kernel の事を指してる?
649 名前:デフォルトの名無しさん mailto:sage [2006/08/29(火) 14:46:03 ] OSといってんだからOSだろ
650 名前:デフォルトの名無しさん mailto:sage [2006/08/29(火) 17:33:49 ] Kernelの記述に使われてる言語ならほとんどはC言語とアセンブラかな。 ごく一部でC++もあるらしいけど。
651 名前:デフォルトの名無しさん mailto:sage [2006/08/29(火) 17:57:10 ] macosx は、objc でかいてあるの?
652 名前:デフォルトの名無しさん mailto:sage [2006/08/29(火) 20:59:31 ] objcがmacosxでかかれているよ
653 名前:デフォルトの名無しさん mailto:sage [2006/08/30(水) 16:53:35 ] >>649 そうだとすると Objective-C も使われてる事になるね。 あとは Perl, Python, Java 辺りも。 Kernel だけなら、C, C++, ASM, m4 くらいかな。
654 名前:デフォルトの名無しさん mailto:sage [2006/08/30(水) 18:40:16 ] Perl,Pythonって、どのOSにつかってるのか?
655 名前:デフォルトの名無しさん mailto:sage [2006/08/30(水) 23:28:12 ] あ、sh を忘れてた。
656 名前:デフォルトの名無しさん mailto:sage [2006/09/03(日) 03:40:41 ] >>645 YouOSあたりじゃない?
657 名前:デフォルトの名無しさん mailto:sage [2006/09/04(月) 11:01:17 ] GNUstepをインストールしてみたんだけどObjective-C(・∀・)イイ!ね、 FoundationKitのソースをざっと眺めてみたんだけど読みやすくて何をしてるかすぐ分かって最高。 美しいって素晴らしい。
658 名前:デフォルトの名無しさん [2006/09/06(水) 23:55:16 ] >>12 [>>1 autorelease]; で勘弁してあげて。
659 名前:デフォルトの名無しさん mailto:age [2006/09/07(木) 00:30:20 ] [self age];
660 名前:デフォルトの名無しさん [2006/09/07(木) 09:02:47 ] Messageの一個目のパラメータに名前付けらんないのって なんのいやがらせですか?
661 名前:デフォルトの名無しさん mailto:sage [2006/09/07(木) 10:39:15 ] いや。それって、アンタの理解が間違っているだけですから……。
662 名前:デフォルトの名無しさん mailto:sage [2006/09/07(木) 14:08:01 ] 今日の議題 * メソッド名の一部をパラメータの名前だと勘違いしている件について
663 名前:デフォルトの名無しさん mailto:sage [2006/09/07(木) 16:00:18 ] Objective-C の [ ] の中の文法(つまるところ Smalltalk の文法なんだけど…)は、原則として、 receiver message というように、メッセージを受け取るオブジェクト(receiver)と、それに送るメッセージ (message)をスペースなどで区切って記述する。 さらに、メッセージは、セレクタと0個以上のパラメータ(引数)で構成される。 セレクタはパラメータの数だけ : (コロン)を含み、メッセージとして記述する際には、 それぞれのコロンの後にパラメータ+スペースを挿入する特殊な記法をとる。たとえば、 receiver foo:arg1 bar:arg2 なら、メッセージは「foo:arg1 bar:arg2」、セレクタは「foo:bar:」。 コロンをひとつでも含むときは、セレクタは、かならずコロンで終わらせなければいけない。 換言すると、パラメータがあるときは、メッセージは必ずパラメータで終わる。したがって、 「foo:bar:baz」のようなセレクタや、それを含んだメッセージ(foo:arg1 bar:arg2 baz)は 使用できない。 なお、セレクタは、メッセージ送信の結果、起動することが期待されるメソッドの名前でもある (両者は一致する)。 また、foo や bar を「キーワード」と呼ぶことがあるが、これはあくまで便宜的なもので、 言語仕様上、そうしたエンティティがあるわけではない(それらは結局、セレクタ、あるいは、 メソッド名の一部に過ぎない)。
664 名前:デフォルトの名無しさん mailto:sage [2006/09/08(金) 11:45:28 ] Cocoaセミナーのムービーに中級編追加 developer.apple.com/jp/documentation/japanese.html#CocoaSeminar1
665 名前:デフォルトの名無しさん mailto:sage [2006/09/08(金) 18:07:49 ] Objective-CでネイティブなWindowsアプリって作れる?
666 名前:デフォルトの名無しさん mailto:sage [2006/09/08(金) 21:18:17 ] 作ろうと思えば作れる
667 名前:デフォルトの名無しさん mailto:sage [2006/09/08(金) 21:53:26 ] >>665 そのネイティブってどういう意味だ? 質問の前にもっと勉強が必要だな。
668 名前:デフォルトの名無しさん mailto:sage [2006/09/09(土) 00:12:26 ] ObjCで使いやすいHTMLパーサってある? 別にCとかC++でもいいけど、Javaは嫌。
669 名前:デフォルトの名無しさん mailto:sage [2006/09/09(土) 11:49:38 ] >>665 StepStone
670 名前:デフォルトの名無しさん mailto:sage [2006/09/10(日) 09:46:15 ] >>669 StepStone社ってまだあるんか?
671 名前:デフォルトの名無しさん mailto:sage [2006/09/11(月) 20:41:25 ] [self age];
672 名前:デフォルトの名無しさん [2006/09/11(月) 20:43:22 ] さげちまった
673 名前:デフォルトの名無しさん mailto:sage [2006/09/15(金) 18:47:44 ] [self hoshu]
674 名前:デフォルトの名無しさん mailto:sage [2006/09/16(土) 09:42:36 ] [self sex:self]
675 名前:デフォルトの名無しさん mailto:sage [2006/09/16(土) 11:08:36 ] /* おなにーかよ */
676 名前:デフォルトの名無しさん mailto:age [2006/09/19(火) 00:57:05 ] [self age];
677 名前:デフォルトの名無しさん mailto:sage [2006/09/19(火) 01:29:36 ] Objective-C 2.0ではガーベッジコレクションが追加されるのかな〜。 知ってる人いたら教えて。
678 名前:デフォルトの名無しさん mailto:sage [2006/09/19(火) 02:22:40 ] Objective-C 2.0 アップルは、魅力あふれる Xcode 3.0自身を使ってXcode 3.0を開発しました。 最新のガベージコレクション、強化された構文と改善されたランタイムパフォーマンス、 64ビットサポートをお届けします。 既存の Objective-Cソースとの下位互換性も備えているため、 自分のペースで作業を進めることができます。 Xcode 3.0のObjective-Cを使って、バグを減らしながらすばやくアプリケーションを記述できます。
679 名前:デフォルトの名無しさん mailto:sage [2006/09/19(火) 18:26:27 ] プロパティってどうよ?
680 名前:デフォルトの名無しさん mailto:sage [2006/09/19(火) 19:00:50 ] もうちょい具体的に
681 名前:デフォルトの名無しさん [2006/09/19(火) 19:48:48 ] >>679-680 ワロタ
682 名前:デフォルトの名無しさん mailto:sage [2006/09/19(火) 19:53:31 ] おそらく、2.0で追加される@propertyコンパイラディレクティブのことでないかと。
683 名前:デフォルトの名無しさん mailto:sage [2006/09/19(火) 20:07:18 ] 785 Name: 4/7 [sage] Date: 2006/09/12(火) 21:29:33 ID: TiBUhRpI0 Be: 他にもプロパティに指定できる属性がある。便利なのがivarだ。こいつはプロパティを指定した 名前のインスタンス変数にマッピングするものだ。 (コード。プロパティの属性ivarの例) @interface Bar : Object { int iVar; } @property(ivar = iVar) int FooBar; @end getterやsetterのメソッドも別に指定することができる (コード。プロパティのアクセサメソッドを個々に指定する) @property(getter = whatBaby, setter = setFire:) id baby;
684 名前:スマソ、こっちが先だ mailto:sage [2006/09/19(火) 20:08:43 ] 784 Name: 3/7 [sage] Date: 2006/09/12(火) 21:28:49 ID: TiBUhRpI0 Be: 【プロパティ】 これはオレが見つけた中では追加された最大のものだ。こいつはグルーコードを書くために 費やす時間やコード量を節約してくれる。 Rubyの属性(attributes)のようにObj-C 2.0ではクラスのプロパティを定義することができる。 んでもって、プロパティの属性(nocopy, readonly, readwrite. etc)を指定すれば、コンパイラは その指定に従ったKVC準拠のアクセサを生成する。もしそうしたければ、アクセサである setVar:やvarメソッドをオーバーライドすることもできる。 (長いのでコード省略。属性無指定のプロパティとreadonlyのプロパティの例、アクセサのオーバーライド) で、見りゃわかることはこんなことだ。 ・プロパティは.(ピリオド)でアクセスできる。かんたんインスタンス変数アクセス(訳注:あとででてくる)は ->を使うことをヘンに思うかもしれんが、これはKVCとは関係ないってことで納得しとこう。 ・デフォルトのプロパティの実装は、文字列みたいなオブジェクトすら"do the right thing"で扱ってる ように見える。set時にコピーして、自分自身の解放時にもちゃんと解放するみたいだ。 少なくともdeallocのテストは見当たらないな。 ・当たり前だがGroupオブジェクト中のPersonオブジェクトは初期化しなくちゃいけない
685 名前:デフォルトの名無しさん [2006/09/19(火) 23:43:17 ] せっかくObjective-C本が復刊したのに、また結構豪快なverupだなorz
686 名前:デフォルトの名無しさん [2006/09/19(火) 23:49:08 ] このスレを見つけて、Objective-Cっていったい何なのさ。きいたこともないんだけど。って思った方、ぜひ以下のリンクをご覧下さい。 私が書いた訳ではありませんが、丁寧に書かれているので紹介します。 wisdom.sakura.ne.jp/programming/objc/index.html Objective-Cは名前からもわかるとおりオブジェクト指向言語です。 C系オブジェクト指向言語では、超メージャーな言語にC++があります。 Objective-CとC++の二つを見たとき、C言語に近そうなのは名前からもC++な気がしますが、実際にはObjective-CがよりC言語に近いです。 というよりはObjective-C=C言語+オブジェクト指向です。 そのため、Objective-CではC言語のソースがそのまま使えます。無駄になりません。 Objective-Cは現在、Mac OS Xの開発環境での主力言語ですが、決してMac OS X専用の言語ではありません。gccコンパイラでコンパイルできますから、gccがある環境をお持ちでしたらどこでも利用可能です。 興味のある方はぜひご一読くださいな。
687 名前:デフォルトの名無しさん mailto:sage [2006/09/20(水) 00:17:08 ] onewayってメソッドの返り値を待たずに先々進んでいく、って認識でおk?
688 名前:デフォルトの名無しさん [2006/09/20(水) 01:26:39 ] ただし、クラスメソッドにはインスタンスが存在しないため、 暗黙の self オブジェクトを使うことはできません。 wisdom.sakura.ne.jp/programming/objc/objc11.html 使えるだろ。
689 名前:・∀・)っ-○◎●新世紀ダンゴリオン ◆DanGorION6 mailto:sage [2006/09/20(水) 01:31:18 ] にわかマカーです ぶっちゃけSmalltalkの後継言語としてはRubyのほうが・・・。 RubyのCocoaバインディングがLeopardで標準サポートされるとか言う話を聞いたような。
690 名前:デフォルトの名無しさん mailto:sage [2006/09/20(水) 07:37:50 ] はいはい。
691 名前:デフォルトの名無しさん mailto:sage [2006/09/20(水) 10:45:48 ] >>686 ,688 そこは平気で嘘や勘違いを呼ぶ記述が書いてあるから初心者にはおすすめしませんが。 っていう話は既出な気がする。
692 名前:デフォルトの名無しさん mailto:sage [2006/09/20(水) 11:19:51 ] >>687 +(oneway void)xxx; -(oneway void)xxx; 以外は無視されます。つまり返値を待ちます。 上記(oneway void)の場合は、処理の終了を待たずに戻ってきます。
693 名前:デフォルトの名無しさん mailto:sage [2006/09/20(水) 11:57:36 ] >>689 LeopardでRubyCocoaが標準搭載されるそうです。 Cocoa-Javaは捨てられて、代わりにRubyって感じ? Appleもお気に入りのよう。
694 名前:デフォルトの名無しさん mailto:sage [2006/09/20(水) 12:52:01 ] LeopardってRoRも載るんだよな
695 名前:デフォルトの名無しさん [2006/09/20(水) 14:18:02 ] Pytonのバインディングも、10.4から入っていたような。
696 名前:デフォルトの名無しさん mailto:sage [2006/09/21(木) 02:10:50 ] Javaは型に対して厳し過ぎるからね
697 名前:デフォルトの名無しさん [2006/09/21(木) 03:46:18 ] >>688 いやいや、使えないと思いますが。。。 もし使えたら、Java言語でのクラスメソッド内でthisが使えるということと同じになりますよ?? では逆に、クラスメソッドでselfが使えたとして、そのselfは何を指すのかお聞きしたい。
698 名前:デフォルトの名無しさん mailto:sage [2006/09/21(木) 04:18:56 ] >>697 > もし使えたら、Java言語でのクラスメソッド内でthisが使えるということと同じになりますよ?? いいえ、Objective-C は Java ではありません。
699 名前:デフォルトの名無しさん mailto:sage [2006/09/21(木) 04:26:28 ] >>698 失礼しました。Javaの話は忘れて下さい。今はObjective-Cの話ですものね。 では、クラスメソッドでselfが使えたとして、そのselfは何を指すのかということに関してはどうお考えですか?
700 名前:デフォルトの名無しさん mailto:sage [2006/09/21(木) 04:31:55 ] なにも考えていませんが、 Inside an instance method, self refers to the instance; but inside a class method, self refers to the class object. ということです。
701 名前:デフォルトの名無しさん mailto:sage [2006/09/21(木) 04:36:16 ] >>700 クラスメソッド内でのselfはクラスオブジェクトを指すんですか。 それは初耳です。自分の勉強不足である可能性がかなり高いので、 確認のため紹介いただいた英文の出典を教えていただけないですか?
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 ] カプセル化はアクセス制御出来ないとダメなんじゃないの。 クラス指向とオブジェクト指向は、何を本質とするかであって、 単にマッピング出来るかどうかの問題じゃないんじゃないかな。
803 名前:デフォルトの名無しさん mailto:sage [2006/10/24(火) 02:03:45 ] >>801 いや。それは Smalltalk がその三点を満たしているかと問われれば、たしかにそうなるけど…。 でも実際のところ、ケイは彼のオブジェクト指向において、そういうことは言っていないし、目指してもいない。 本気でそう(「カプセル化、継承、多態性」がケイのオブジェクト指向においても要件である…) と信じているなら、下のにひとおとり目をとおしてから出直してきてくれると助かる。 www.purl.org/stefan_ram/pub/doc_kay_oop_en lists.squeakfoundation.org/pipermail/squeak-dev/1998-October/017019.html gagne.homedns.org/~tgagne/contrib/EarlyHistoryST.html もちろん、こうしたケイの意向があったとしても、Smalltalk ユーザーがそれを無視して、 ストラウストラップのオブジェクト指向を(部分的ながらも) Smalltalk を用いて実践したいと思ったとしても、 それを妨げるものは何もないわけだけれども…。 たとえば、この人なんか Smalltalker として有名だけど、典型的なストラウストラップの オブジェクト指向実践者(の、わりに C++ には批判的なのが笑える)。 www.sra.co.jp/people/aoki/IntroductionToOOAOOD/chapter1/Chapter1.htm
804 名前:デフォルトの名無しさん mailto:sage [2006/10/24(火) 02:20:10 ] >>802 ダメってことはない。なぜなら、カプセル化、継承、多態性というのは、Smalltalk にも 当てはまるようにデフォルメされているから。Smalltalker はケイをないがしろにした上に、 ストラウストラップの考えも都合よく骨抜きにしてしまった。じつに傲慢な奴らだ。w ただ、802 のいうことは当たらずとも遠からずで、ストラウストラップが要件としてあげた ものは、抽象データ型、継承、仮想関数を用いた動的性…に加えて、静的型チェック、 多重継承、アクセス制御…なので、これにはちゃんと含まれている。 portal.acm.org/citation.cfm?id=679041 www.research.att.com/~bs/whatis.pdf (上の '90 改訂版。内容はほぼ同じ) だから、真にストラウストラップのオブジェクト指向を実践するには、ほんとうは、 Smalltalk ではダメ(だからデフォルメして対応せざるをえなかったわけだけれども…)。
805 名前:デフォルトの名無しさん mailto:sage [2006/10/24(火) 13:45:01 ] Smalltalkの多態は継承ツリーがどうこうという話ではなく、 呼ぶメソッドを実装されてるか、という1点にかかっているあたりクラス指向 というよりメッセージ指向な感じがするわけだけど、 Simula の末裔の C++ が template で似たようなスタイルを実現している(しかも それが標準ライブラリとして広く使われている)あたりとか面白いですよね。
806 名前:デフォルトの名無しさん mailto:sage [2006/10/25(水) 22:27:12 ] gccがこんなエラー吐いてくれるぜwwww In file included from linking.m:28: objc/Object.h:38: error: 構文解析エラー before '{' token objc/Object.h:43: fatal error: method definition not in class context
807 名前:デフォルトの名無しさん mailto:sage [2006/10/25(水) 22:42:49 ] ただ単にObject.hが壊れてるだけじゃね?
808 名前:デフォルトの名無しさん mailto:sage [2006/10/30(月) 20:28:49 ] developer.apple.com/jp/releasenotes/DeveloperTools/GCC40PortingReleaseNotes/GCC40PortingReleaseNotes.pdf の32ページに、 Objective Cでは、インスタンス変数にデフォルトで@protectedというラベルが付きます。GCC 4.0 では、これを明示的に警告するようになりました。また、将来のコンパイラではこれをエラーとし て取り扱います。この問題を修正するには、Objective-Cインターフェイスでインスタンス変数のス コープを明示的に指定してください。 ってあるんだけど、これってインスタンス変数を定義する時に今までは省略していた@protectedを書かなければいけなくなるってこと?
809 名前:デフォルトの名無しさん mailto:sage [2006/10/30(月) 22:55:46 ] デフォルトで~っていうのは、書かなくても @protected 扱いになるということだと思われ エラー/警告が出るのは、他の class からインスタンス変数を @public として操作した場合の話じゃないかな
810 名前:デフォルトの名無しさん mailto:sage [2006/10/30(月) 23:03:19 ] 220度くらいズレてる気がする
811 名前:デフォルトの名無しさん mailto:sage [2006/10/30(月) 23:09:34 ] 適当な事を行ってすいませんでした m(__)m
812 名前:デフォルトの名無しさん mailto:sage [2006/10/30(月) 23:41:11 ] >>808 いつの間にか翻訳、英語版に追いついてるな。 ObjC 2.0でまた置いて行かれそうだが。
813 名前:デフォルトの名無しさん mailto:sage [2006/11/05(日) 02:24:57 ] インスタンスメソッドから、インスタンス変数と同名のグローバル変数へアクセスすることはできないのでしょうか? 早い話、 グローバル変数 const int foo = 100; - (id)init { [super init]; self->foo = foo; return self; } 上記のような感じでグローバル変数でインスタンス変数を初期化したいのです。 何か良い方法は無い物でしょうか?
814 名前:デフォルトの名無しさん mailto:sage [2006/11/05(日) 02:40:51 ] そのことやるくらいなら、マクロで初期値設定した方がいい
815 名前:デフォルトの名無しさん mailto:sage [2006/11/05(日) 02:49:14 ] すみません、正確には変数じゃなくて配列なんです。 元々はC++のソースで、namespaceで対応されている部分なのですが……。 やはり同名のグローバル変数にはアクセス出来ないのでしょうか?
816 名前:デフォルトの名無しさん mailto:sage [2006/11/05(日) 04:25:59 ] static int global_foo() { return foo; }
817 名前:デフォルトの名無しさん mailto:sage [2006/11/05(日) 04:30:18 ] Objective-C++ にして、普通にnamespace::varじゃいかんの? 手元で確かめずに言ってすまんけど。
818 名前:デフォルトの名無しさん mailto:sage [2006/11/05(日) 20:16:00 ] >>817 なるほど、Objective-C++という逃げ道がありましたね……。 何の問題も無くクリア出来ました。ありがとうございました。
819 名前:デフォルトの名無しさん mailto:sage [2006/11/06(月) 09:26:41 ] >>813 Objective-C++ じゃない場合でも以下でいけるんじゃね? const int foo = 100; static int getFoo(){ return foo; } - init{ self->attr = getFoo(); return self; }
820 名前:デフォルトの名無しさん mailto:sage [2006/11/06(月) 12:48:51 ] こんなのがあったべ。 www.informit.com/articles/article.asp?p=665128&seqNum=3&rl=1 GCC のテストスートにObjC2.0のサンプルコードがあるらしい gcc.gnu.org/viewcvs/branches/apple/trunk/gcc/testsuite/objc.dg/
821 名前:デフォルトの名無しさん mailto:sage [2006/11/07(火) 17:06:10 ] がー。 Windowsで使えるObjCコンパイラってないの?Cygwin+gccは面倒い。
822 名前:デフォルトの名無しさん mailto:sage [2006/11/07(火) 20:38:03 ] つMinGW
823 名前:デフォルトの名無しさん [2006/11/15(水) 14:48:56 ] >820 クロージャが無いって明言されてるorz
824 名前:デフォルトの名無しさん mailto:sage [2006/11/15(水) 19:08:38 ] ObjCって今でもプリプロセス段階でCに変換されてるの?
825 名前:デフォルトの名無しさん [2006/11/15(水) 21:46:05 ] してないでしょ、多分>>プリプロセスでC変換 もししてたらインテルのコンパイラも使えるの?
826 名前:デフォルトの名無しさん mailto:sage [2006/11/15(水) 21:56:07 ] GCCとかではCに変換したりせずにそのままコンパイルしてるはずだけど、 Cに変換するプリプロセッサも出回ってるからそれ使えばIntelのC/C++ Compilerも使えるかと。
827 名前:デフォルトの名無しさん [2006/11/15(水) 22:05:50 ] クロージャー無いのか、残念だ Smalltalkでdo:メソッド見たときは感動したんだよな
828 名前:デフォルトの名無しさん [2006/11/15(水) 22:19:07 ] ifTrue:メソッドとかやりすぎw>>SmallTalk
829 名前:デフォルトの名無しさん mailto:sage [2006/11/15(水) 22:33:37 ] 確かにw でも至るところにデザインパターンを見ることができて面白いよね Booleanクラスに何もしないifTrue:とifFalse:を定義して TrueクラスのifTrue:がクロージャーを評価し、 FalseクラスのifFalse:がクロージャーを評価する ここまでObjective-Cに求めるつもりはないけど クロージャーを導入するとどうしてもよりSmalltalk化しちゃいそうだね
830 名前:デフォルトの名無しさん mailto:sage [2006/11/15(水) 23:39:48 ] >>828 アラン・ケイもそんなふうに言っているよね。彼の手を離れてからずいぶんとLISP化しちゃったから。
831 名前:デフォルトの名無しさん mailto:sage [2006/11/15(水) 23:44:56 ] ケイは message passing style の発案以外で Smalltalk に対して何かしたんだっけ? クロージャは今回入らなかっただけで、いずれ入ると思うよ。
832 名前:デフォルトの名無しさん mailto:sage [2006/11/16(木) 00:22:53 ] >>829 茶々入れでスミマセン。 厳密には Boolean に定義されている #ifTrue: と #ifFalse: はあくまで仮想メソッド、 つまり、サブクラスで再定義されることが期待されるメソッド…という位置づけになっていて (C++ のオブジェクト指向の影響)、引数ブロックを無視する #ifTrue: や #ifFalse: は False、True クラスにそれぞれ普通に再定義されています。現実は、あまりおもしろみがないですね。 もっと夢のない話をすると、メッセージ ifTrue: [] や ifFalse: [] はコンパイル時にはインライン展開されて しまうので、実際にはメソッドとしての #ifTrue: や #ifFalse: がコールされることはなかったりもします。 (なので、#ifTrue: や #ifFalse: の定義を書き換えるイタズラをしても、実際には何も起こせません)。
833 名前:デフォルトの名無しさん mailto:sage [2006/11/26(日) 18:12:51 ] ja.wikibooks.orgにはObjective-Cの記事がないのな。
834 名前:デフォルトの名無しさん mailto:sage [2006/11/26(日) 21:16:51 ] 抽象クラスとプロトコルってどう使い分ければいいの?
835 名前:デフォルトの名無しさん mailto:sage [2006/11/27(月) 01:12:06 ] 抽象クラス(Objective-Cに抽象クラスという仕様はないから、単なるクラスだが)は継承しないと使えない。特定の実装を強制させるなら抽象クラス。 実装は各クラスで好き勝手にしていいか、すでに他のクラスを継承していて抽象クラスを使えない場合はプロトコル。利便性を考えて、プロトコルの参考実装として抽象クラスを用意することもある。 使い分けようとしなくても、実装を何度も見直すうちに自然と使い分けられるようになると思うよ。
836 名前:デフォルトの名無しさん [2006/12/03(日) 00:19:53 ] gdbでObjCのメソッド名指定でブレイクはることは、できないのでしょうか? ライン指定は出来ます。 gcc 4.0.1-Apple gdb 6.3.5-Apple
837 名前:デフォルトの名無しさん mailto:sage [2006/12/03(日) 07:06:16 ] ttp://developer.apple.com/technotes/tn/tn2032.html > Objective-C method: b -[Foo bar], or for an action method example, b -[Foo bar:]
838 名前:デフォルトの名無しさん [2006/12/04(月) 22:16:51 ] 返事できなくてすみません。 メッセージ呼び出しとおなじ書式なんですね。 失礼しました。
839 名前:デフォルトの名無しさん [2006/12/31(日) 01:55:01 ] 書き始める前に何重のネストになってるか明確でないとダメなのがイマイチな気がする。 見た目だけでも、メジャーな言語風だったら、かなり敷居が下がると思うんだけど。 この書き方のメリットって、何かあるの?。
840 名前:デフォルトの名無しさん mailto:sage [2006/12/31(日) 11:43:19 ] まあ、Objective-C が出来た頃はどのオブジェクト指向言語もメジャーじゃなかったので、ね... そんなに見た目って敷居になるのかな?Cocoa と他のクラスライブラリの違いのほうが余程問題だと思うけど... たとえば Cocoa Java があったけど、だからといってそんなに書きやすかったかというと疑問。 [[[ の数がはじめに判らないのが面倒なのは同意。メリットは、つねに引数に名前が書いてあるので、あとで読んだときになにをやっているかが分かりやすい、かな。
841 名前:デフォルトの名無しさん mailto:sage [2006/12/31(日) 17:33:20 ] Smalltalkという超メジャーなオブジェクト指向言語風の書き方じゃないか。
842 名前:デフォルトの名無しさん mailto:sage [2006/12/31(日) 18:25:56 ] Smalltalk は [ ] はなかったんじゃなかったっけ? というか、[ ] はあったけどそれはクロージャだったので、用途が違ったんでは...
843 名前:デフォルトの名無しさん mailto:sage [2006/12/31(日) 23:52:38 ] Objective-Cってリフレクション以上に動的な事できるよな?
844 名前:デフォルトの名無しさん mailto:sage [2007/01/01(月) 00:04:54 ] ポージング (Posing) とかできますよ journal.mycom.co.jp/column/objc/012/ メソッドスウィズリング (Method Swizzling) とかも。 www.cocoadev.com/index.pl?MethodSwizzling まあランタイムのAPI呼べば何でも出来ます。
845 名前:デフォルトの名無しさん mailto:sage [2007/01/01(月) 00:18:35 ] >>844 ありがとうございます。ランタイムの弄りかたさえわかれば何でも出来るのか。
846 名前:デフォルトの名無しさん mailto:sage [2007/01/02(火) 01:57:16 ] >>842 [ ] はなかったけど、 receiver selector:arg って形は同じでしょ。
847 名前:デフォルトの名無しさん mailto:sage [2007/01/02(火) 06:22:38 ] 見かけだけはね
848 名前:デフォルトの名無しさん mailto:sage [2007/01/02(火) 08:22:31 ] 見かけは重要だ。つか、内部的にも一緒なんじゃないの。 動的言語のメソッド呼び出し方法なんて一種類しか無いような。
849 名前:デフォルトの名無しさん [2007/01/03(水) 22:45:09 ] emacかXcodeつかって仰山のソースコードのインデントを一括で行う方法ってありませんか? いっこいっこ開いてメニュー選ぶのかったるいです。
850 名前:デフォルトの名無しさん mailto:sage [2007/01/03(水) 23:23:38 ] emacsならelisp書けばよか
851 名前:デフォルトの名無しさん [2007/01/03(水) 23:37:09 ] >>850 emacs elisp インデント などとGoogleで検索してみましたがよくわかりませんでした。 当方少しのコマンドラインなら打てます。例えば find . -name *.m -exec emacs -batch -indent {} ¥; などといった簡単なやり方ではなくて、何か特殊な方法なんでしょうか?
852 名前:デフォルトの名無しさん mailto:sage [2007/01/04(木) 02:00:27 ] スレ違いだボケ
853 名前:デフォルトの名無しさん mailto:sage [2007/01/04(木) 05:56:55 ] emacs インデント でぐぐればいいんじゃないかな。 www.bookshelf.jp/texi/emacs-20.6-man-jp/emacs_21.html もちろんObjective-Cモードにしてね。
854 名前:デフォルトの名無しさん [2007/01/04(木) 11:44:55 ] >>853 ありがとうございます。 それみても私の理解不足で、エディタ内で行う編集作業のコマンド集にしか見えないです。 >>852 ごめんなさい。 すれ違いとのことで以降はemacsスレッドを探してそこで聞いてきます。
855 名前:デフォルトの名無しさん mailto:sage [2007/01/04(木) 22:07:54 ] Objective-C に対応したソースコード整形ツールって無いのか。
856 名前:デフォルトの名無しさん [2007/01/04(木) 22:11:43 ] >>855 NeXT Step には独自改良版の GNU Indent が対応していたそうですがそれ以外だと単体の整形ツールは存在しません。 現状私の知る範囲ですとXcode、emacsなどの「エディタ」のソース整形機能を引っ張ってくるほかないです。
857 名前:デフォルトの名無しさん mailto:sage [2007/01/04(木) 23:15:25 ] >>856 NeXTが独自改良したならばソースがどっかにころがってんじゃねーの? GNUって逝ってんだから。 ぐぐっても出てこなかったけど(w
858 名前:デフォルトの名無しさん [2007/01/04(木) 23:56:07 ] だれかこれを改造してObjective-Cでも使えるようにしてくれ 動的な言語だと難しいかもしれんが ttp://www.tamacom.com/global-j.html
859 名前:デフォルトの名無しさん [2007/01/08(月) 14:16:12 ] MacPortsで試しにGNUStepを入れてみたけど、これってなんとなく手作り感が 出てて良いね。 でも、ProjectCenterの*.gormをクリックしても、Gormの起動に失敗してしまう。 何か設定とかあるのかな。
860 名前:デフォルトの名無しさん [2007/01/13(土) 00:09:59 ] >>859 です。 */System/Applicationsにパスを通してできました。 一応簡単なサンプルを作ってみたんだけど、 あまり期待してなかったのもあったから、使ってみてxcodeとほとんど同じような感じで使えて 予想以上に便利なんでびっくりした。 これってLinux等のGUIアプリの作成でもうちょっと普及してもよさそうだけどな。
861 名前:デフォルトの名無しさん mailto:sage [2007/01/25(木) 12:35:54 ] xcodeってjavaはどの程度サポートしてるの?
862 名前:デフォルトの名無しさん mailto:sage [2007/01/25(木) 17:58:12 ] Xcode part4 pc9.2ch.net/test/read.cgi/mac/1149300142/
863 名前:デフォルトの名無しさん mailto:sage [2007/01/25(木) 18:23:40 ] thx
864 名前:本田 [2007/01/25(木) 19:47:35 ] >ディベロッパー:Windows環境下でMacのAPIによるコーディングを可能にするCocotron opentechpress.jp/developer/article.pl?sid=07/01/23/0121247 >COCOTRON www.cocotron.org/
865 名前:デフォルトの名無しさん mailto:sage [2007/01/25(木) 21:04:50 ] Cocoaスレでとうの昔にガイシュツ
866 名前:デフォルトの名無しさん mailto:sage [2007/02/22(木) 20:50:41 ] oneway voidって別に メソッドを別スレッドで実行するわけではないよね?
867 名前:デフォルトの名無しさん [2007/02/23(金) 08:29:29 ] 使ったことないけど、そういうことじゃないんじゃない? リモート側の応答を待たないだけということじゃないかな。 実は別スレッドで受信待ちして、デリゲートで通知とかあるのかもしれないけど。
868 名前:デフォルトの名無しさん [2007/02/23(金) 14:35:39 ] そういうことじゃないんじゃないんじゃないかな?
869 名前:デフォルトの名無しさん mailto:sage [2007/02/23(金) 16:25:24 ] 分散オブジェクトのときのみ使用されます。 NSConnection 使わなければまったく意味はないです。
870 名前:デフォルトの名無しさん mailto:sage [2007/02/24(土) 15:28:13 ] Apple Inc.、Objective-Cの商標登録出願 www.appleinsider.com/article.php?id=2519 これまた問題にならないかね。
871 名前:デフォルトの名無しさん mailto:sage [2007/02/24(土) 20:04:22 ] なんでそういうわけ解らんことするんだろうねアップルは
872 名前:・∀・)っ-○◎●新世紀ダンゴリオン ◆DanGorION6 mailto:sage [2007/02/24(土) 21:41:36 ] DRM反対を唱える一方で自らも版権ゴロか
873 名前:デフォルトの名無しさん mailto:sage [2007/02/24(土) 22:15:01 ] 糞ダンゴは去ね。
874 名前:デフォルトの名無しさん mailto:sage [2007/02/26(月) 02:04:30 ] わざわざ商標なんて取らなくたって、 誰もObj-Cなんて名前の製品出さないってば。
875 名前:デフォルトの名無しさん mailto:sage [2007/02/26(月) 11:13:24 ] 実質的にまともに商用利用してるのAppleだけだしね まぁコンパイラはgccだし将来的に使うやつが万に一つくらいで 出てくるかもしれないとかで取ってるのかねぇ…
876 名前:デフォルトの名無しさん [2007/02/26(月) 12:49:51 ] 1995年に、開発元のStepstone社から、NeXT社が言語と商標を買い取ってる。 Appleが商標を取得しなおす理由はよく判らない。 ja.wikipedia.org/wiki/Objective-C
877 名前:デフォルトの名無しさん mailto:sage [2007/03/01(木) 15:45:11 ] >>876 www.apple.com/legal/trademark/appletmlist.html "Objective-C"は登録されていない商標。
878 名前:デフォルトの名無しさん mailto:sage [2007/03/02(金) 01:21:47 ] でも、例えばボーランドがObj-Cコンパイラを作ったら、 "Borland Objective-C (TM) Compiler" みたいな名称になるんでしょ。
879 名前:デフォルトの名無しさん mailto:sage [2007/03/02(金) 02:03:45 ] 「Redmond, start your photocopies.」 なーんて言ってたら、マジでVistaでCore Audioをまんまパクられたから 焦って商標を取得したとか?
880 名前:デフォルトの名無しさん mailto:sage [2007/03/02(金) 15:07:39 ] そもそも言語名って商標として登録できんの? よくわからんのだけど、SunがJavaの商標を持ってたりMSがC#の商標持ってたりするの?
881 名前:デフォルトの名無しさん mailto:sage [2007/03/02(金) 16:42:13 ] いや、そりゃ持ってるだろ。MSは知らんけど昔のSunはJavaをかなり厳格に管理してた。
882 名前:デフォルトの名無しさん mailto:sage [2007/03/28(水) 18:37:41 ] Objective-CでWin32アプリ書こうかと思ったんだけど、 そもそもWindowsで使えるObjective-Cの処理系ってある?
883 名前:デフォルトの名無しさん mailto:sage [2007/03/28(水) 18:51:42 ] GNUstep
884 名前:デフォルトの名無しさん mailto:sage [2007/03/28(水) 21:17:48 ] Objcの処理系って意味なら gcc でOK。 # ってか他にまともに動く処理系ってある?
885 名前:デフォルトの名無しさん mailto:sage [2007/03/28(水) 21:19:16 ] MinGWのObjective-CでWin32API使って書いたほうが 今のところは実用的だと思うけど
886 名前:・∀・)っ-○◎● mailto:sage [2007/03/29(木) 01:28:09 ] Cで十分ってことじゃんそれ Win32のメッセージAPIまわりがObj-Cのメッセージに綺麗にラップされてるならまだわかるが
887 名前:デフォルトの名無しさん mailto:sage [2007/03/29(木) 02:48:14 ] >>886 まぁまったくその通りだと思うのだが>>882 がラッパを書いてくれればOK
888 名前:デフォルトの名無しさん mailto:sage [2007/04/02(月) 21:18:45 ] 文字列オブジェクト定数に使われるクラスに自作のクラスを使えない? コンパイラオプションにあるあらかじめ用意されたクラスしか使えないの?
889 名前:デフォルトの名無しさん mailto:sage [2007/04/03(火) 02:18:05 ] >>888 www.mhatt.aps.anl.gov/dohn/programming/gcc/gcc_7.html#SEC158 こういう話?
890 名前:デフォルトの名無しさん mailto:sage [2007/04/05(木) 20:17:50 ] >>889 それそれ! どうもありがとうございます!
891 名前:デフォルトの名無しさん mailto:sage [2007/04/13(金) 12:39:32 ] Cocoaプログラミングの無料セミナー開催 今月4月にCocoaプログラミングの無料セミナーの初級・中級・上級を東京初台 のアップルセミナールームで開催し ます。次期OS Leopardには、Objective-Cの APIのみで提供される新機能がたくさ んあります。今後、Cocoaの習得はMac OS ソフトの開発に必須となります。是非 この機会をご活用下さい。講師はHMDTの 木下誠さんです。 developer.apple.com/jp/rss/adcjapan.rss
892 名前:デフォルトの名無しさん mailto:sage [2007/04/22(日) 20:16:44 ] 今更の質問かもしれないですが、NSURLConnectionで2chデータの差分を取得しようとした時に416エラーが返ってくるのをどう解釈して良いのか分からず困っております。 NSURLRequest内容: { Accept = "text/plain"; "Accept-Encoding" = "gzip, deflate"; "Accept-Language" = ja; "Cache-Control" = "no-cache"; Connection = close; Host = "news21.2ch.net"; Pragma = "no-cache"; Range = "bytes=6198-"; Referer = "news21.2ch.net/namazuplus/subject.txt"; "User-Agent" = "Monazilla/1.00 (Jane/0.01)"; } NSURL内容:news21.2ch.net/namazuplus/dat/1177098491.dat 他方、cURLで取得しようとするときちんと差分が取得できます。 curl -H 'Range: bytes=6198-' -v -A 'Monazilla/1.00 (Jane/0.01)' -H 'Accept: text/plain' -H 'Pragma: no-cache' -H 'Cache-Control: no-cache' -H 'Connection: keep-alive' news21.2ch.net/namazuplus/dat/1177098491.dat
893 名前:デフォルトの名無しさん [2007/04/23(月) 08:06:01 ] NSURLConnectionではヘッダー部分の、特にHTTP/1.1とかのパラメーターが触れないので、 この辺が原因なのでしょうかね、ほかに何かおかしな事をやってるのでしょうか、 NSURLConnectionのバグ?
894 名前:デフォルトの名無しさん mailto:sage [2007/04/23(月) 16:50:01 ] NSURLRequest の内容と curl に渡している物が違うのはわざとですか? ステータスコード 416 の意味は何かご存知ですか? Accept-Encoding : gzip の場合は何が起こりますか? NSURLConnectionのバグだと思うのでしたらバグレポート出せばよいと思いますよ。
895 名前:デフォルトの名無しさん mailto:sage [2007/04/23(月) 20:05:10 ] 416は範囲がそれているという意味でしょ、んでConnection = closeでもConnection = keep-aliveでも ストリームで受け取る場合に挙動はかわらないっぽいです。 curlでAccept-Encoding : gzipを付けなかったのは-vで出されるヘッダフィールドはzipがかからないと考え、 gzip に渡して解読できないかもと思ったからで、416の本筋ではないです。 ヘッダを全くそろえても、NSURLConnection側のみ416エラーが出てます。 ただし、Range設定しない場合はきちんとダウンロードできます…。 今はとりあえずCore Foundationで直読みできるかどうか試してるところです。
896 名前:デフォルトの名無しさん mailto:sage [2007/04/23(月) 20:12:25 ] >>894 つまりcurlのverboseを見るため、意図してAccept-Encodingヘッダを飛ばしてます。 416とはRange指定範囲が本体の範囲から外れている事を意味していると思うのですが、 もし違う解釈があるのなら指摘いただけるとありがたいです。 curlでは正常に範囲指定が受け付けられているのに、NSURLConnectionでは範囲外と返ってくる。 ヘッダ情報が微妙に違うのか、何が原因なのかよくわからないのです。
897 名前:デフォルトの名無しさん mailto:sage [2007/04/23(月) 22:37:46 ] tcpdumpとかでヘッダを覗いてみたらすぐに解決するんじゃない?
898 名前:デフォルトの名無しさん mailto:sage [2007/04/24(火) 12:55:18 ] Accept-Encoding : gzip に答えてサーバーが gzip してコンテンツを返す かつ レンジ指定の場合 そのレンジは”何に対して”のレンジでしょう? 元のコンテンツですか?違いますか? 違う場合は、何に対してですか?
899 名前:デフォルトの名無しさん mailto:sage [2007/04/25(水) 08:09:24 ] >>898 curl -H 'Range: bytes=6198-' -A 'Monazilla/1.00 (Jane/0.01)' -H 'Accept-Encoding: gzip, deflate' -H 'Accept: text/plain' -H 'Pragma: no-cache' -H 'Cache-Control: no-cache' -H 'Connection: keep-alive' news21.2ch.net/namazuplus/dat/1177098491.dat | gzip -d -c curl: (18) transfer closed with outstanding read data remaining あれ、zip元のデータ長ではないのですね…
900 名前:デフォルトの名無しさん mailto:sage [2007/04/25(水) 22:09:45 ] 2ch の dat を差分取得しようとするときに誰もがはまる罠です。 不意のコネクション切断等のときに、 その続きを取得する時のことを考えれば、 この動作が”正しい”ことが分かると思います。 http コンテンツで 2ch の dat の様に差分を取得できる物って そんなに無いと思いますよ。
901 名前:デフォルトの名無しさん mailto:sage [2007/04/29(日) 22:42:59 ] selfでないインスタンスオブジェクトに対して->を使って @protectedまたは@publicなインスタンス変数にアクセスするのって お前ら的にはどうなの?
902 名前:デフォルトの名無しさん mailto:sage [2007/04/29(日) 22:48:35 ] そういうおまえはどうなのよ
903 名前:デフォルトの名無しさん mailto:sage [2007/04/29(日) 23:40:48 ] インスタンス変数fooがあったとして、 メソッド内でselfを書き換えるとself->fooはもちろんとして 修飾なしのfooも実体が書き換えた後のインスタンスのインスタンス変数になるみたいなのですが、 これって処理系(gcc)依存の挙動でしょうか?それとも言語規約通りの挙動でしょうか? すなわち、メソッド内において(& foo == & self->foo)が常に成り立つのでしょうか?
904 名前:デフォルトの名無しさん [2007/05/05(土) 03:16:03 ] 《プログラミング言語の本来あるべき正しい進化》 C言語→Objective-C→D言語 《忌まわしき現実》 C言語→C++→JAVA→C#
905 名前:デフォルトの名無しさん mailto:sage [2007/05/05(土) 04:36:28 ] >>904 《忌まわしき事実》 C++(膨張した言語仕様への反省)→Java(もっと簡素・洗練しろ!)→C#
906 名前:デフォルトの名無しさん mailto:sage [2007/05/05(土) 06:41:41 ] 《とりあえずそれなりの仕事になった順番》 C → C++ → Perl → ASP → PHP → Ruby → Java
907 名前:デフォルトの名無しさん [2007/05/05(土) 09:17:03 ] そしてNemerleの時代へ
908 名前:デフォルトの名無しさん mailto:sage [2007/05/05(土) 13:28:30 ] Visual Objective-C出たら考える
909 名前:デフォルトの名無しさん mailto:sage [2007/05/05(土) 18:26:33 ] そんなものでたらCに戻る
910 名前:デフォルトの名無しさん mailto:sage [2007/05/05(土) 19:08:06 ] >>909 まじで、最近は一部C言語に回帰しているね。 プレゼンテーションはJavaとC#に収束。 Web系以外のサーバーサイドは、C言語がいい場合がある。
911 名前:デフォルトの名無しさん mailto:sage [2007/05/05(土) 20:05:24 ] Objective-C.NET
912 名前:デフォルトの名無しさん [2007/05/05(土) 23:41:59 ] 言語仕様はObjective-CよりもC++のほうが優れている。 多機能という意味では。 しかしC++プログラマーの大半はC++を使いこなせていない。 大抵はベターCとして使っている。 だからほとんどのプログラマーにとってObjective-Cの機能は十分なんだ。 BorlandのVCL並のRADツールを備えたWindowsで使える統合開発環境さえあれば Objective-Cは即座にC++を駆逐するだろう。 C++が普及したのはひとえにVisualC++の存在が大きい。
913 名前:デフォルトの名無しさん mailto:sage [2007/05/06(日) 00:16:26 ] >>912 まあ、C++はC and ++だからな。 C++をフルに使いこなすには、C標準ライブラリ使用禁止、非クラス関数禁止でもしないと 追加機能付きCとして使ってしまう。
914 名前:デフォルトの名無しさん mailto:sage [2007/05/06(日) 02:43:54 ] ObjC は C++ に比べて動的型決定なのも受け入れられない理由の一つかと
915 名前:デフォルトの名無しさん mailto:sage [2007/05/06(日) 07:50:01 ] しかし動的型決定のないObjCなんて・・・
916 名前:デフォルトの名無しさん mailto:sage [2007/05/06(日) 17:52:53 ] >>912 >BorlandのVCL並のRADツールを備えたWindowsで使える統合開発環境さえあれば Mac OS XならXCodeとInterfaceBuilderがある。 ただObjective-CやれるのAppleぐらいだしWindowsへの進出はなさそうだな。
917 名前:デフォルトの名無しさん mailto:sage [2007/05/06(日) 21:10:57 ] InterfaceBuilderのIntel版はあったんだけどね
918 名前:デフォルトの名無しさん mailto:sage [2007/05/06(日) 22:29:25 ] そりゃ、MacOSXはIntel上で動きますから。 と釣られてみるテスト。
919 名前:・∀・)っ-○◎● mailto:sage [2007/05/07(月) 00:05:15 ] NeXT OSのIntel版じゃないの いや、Windows進出の野望はあったにはあったみたいだよ。 YellowBoxってのが。 ポシャったけど。 APIとしてのQuickTime for Windowsを提供する予定は 無いようだしな。
920 名前:デフォルトの名無しさん [2007/05/07(月) 01:47:52 ] こんなん? QuickTime 7.1 SDK for Windows (ZIP) developer.apple.com/quicktime/download/
921 名前:・∀・)っ-○◎● mailto:sage [2007/05/07(月) 02:03:32 ] どっちかというとそれプレイヤーのプラグイン書くためのSDKのような MacのQuicktime APIって、WindowsでいえばDirectXみたいな もんじゃなかったっけ。
922 名前:デフォルトの名無しさん [2007/05/07(月) 06:03:08 ] WinAPIってこの先どうなるのかね? それがわからんとWin対応のObjective-Cなんておいそれと作れたもんじゃない。 Obejective-CってのはC言語にオブジェクト指向とかGCとかをマクロ機能を使って搭載したやつだ。 だから言語そのものに機能を組み込んでいるC++とは違うんだな。 ただあれだよね。 常に機能を追加するという発想。 そこはC++と同じ。 JAVAやC#みたいに機能に制限を加えるという発想はない。 Objective-Cを普及させるならば案外その辺がポイントなのかもしれんと思った。
923 名前:デフォルトの名無しさん mailto:sage [2007/05/07(月) 07:05:08 ] という話は15年くらい前から何も変わってない訳で
924 名前:デフォルトの名無しさん mailto:sage [2007/05/07(月) 13:51:05 ] マクロ機能というのは言い過ぎでは... まあ runtime の上の syntactic sugar であるのは事実だけども。
925 名前:デフォルトの名無しさん mailto:sage [2007/05/08(火) 00:35:53 ] もともと C の思想はプログラマを信じる事だから、C の延長上に機能制限なんてものは無い。 間違いのように見えても、プログラマ様がお書きになられたコードは絶対なのです。
926 名前:デフォルトの名無しさん mailto:sage [2007/05/08(火) 01:19:43 ] まあマシン語も埋め込める最強の言語だし、なんでもできる。 OSを作るための言語だけの事はある。
927 名前:デフォルトの名無しさん [2007/05/08(火) 06:52:22 ] 安全性と柔軟性は両立しないと。
928 名前:デフォルトの名無しさん mailto:sage [2007/05/09(水) 00:50:53 ] 女は両方好む
929 名前:デフォルトの名無しさん mailto:sage [2007/05/09(水) 22:09:08 ] ちょっと入り組んだ書き方するとLispも真っ青な括弧の入り組み方になるなぁ カスケード記法があればいいのに Lispと違ってうまくインデントスタイルが組めないから読みにくい
930 名前:デフォルトの名無しさん mailto:sage [2007/05/09(水) 22:30:27 ] Lispほどネストする必然がないと思うのだが…
931 名前:デフォルトの名無しさん mailto:sage [2007/05/09(水) 22:36:27 ] カスケードくらい追加できる気がするけど、何か文法的に問題があるのかな
932 名前:デフォルトの名無しさん [2007/05/14(月) 11:33:35 ] Objective-Cのオブジェクトシステムの部分はSmalltalkの影響を受けているわけで、 そのSmalltalkはLispの影響を受けているので、括弧が多くなるのはそういう理由からでしょう。
933 名前:デフォルトの名無しさん mailto:sage [2007/05/14(月) 12:01:36 ] ふーん
934 名前:デフォルトの名無しさん mailto:sage [2007/05/14(月) 12:37:10 ] >>932 すごい三段論法だな。w というか、どうして lisp や smalltalk をろくに知りもしないのに そういう見てきたような嘘をつくかなー。 objc が smalltalk の影響を受けているのは [ ] の中だけ。 というか、objc の [ ] の中は、smalltalk の世界。 objc は smalltalk のコードを C コンパイラに通すためのプリプロセッサとして 開発された経緯がある。そんなわけで、[ ] のネストの多さは objc の勝手な事情で smalltalk とは無関係だよ。 あと、smalltalk への lisp からの影響は、everything is an object のポリシーや クロージャ、ブロッククロージャメソッドのたぐいで、 S 式(つまりこの文脈でいうところの括弧の多さ)じゃあない。 ちなみに残念ながら objc は、これら(lisp からの影響)の恩恵の外にある。 メタクラスやメソッドはオブジェクトじゃないし、ブロッククロージャメソッドはおろか、 ブロック(クロージャ)すら使えない。これらは objc の言語拡張のやりにくさや イントロスペクションの貧弱さ、コレクションの扱いにくさとして出てくる。
935 名前:デフォルトの名無しさん mailto:sage [2007/05/14(月) 14:19:56 ] ま〜たそんなマジレスしちゃって。
936 名前:デフォルトの名無しさん mailto:sage [2007/05/14(月) 14:53:23 ] >>934 がマジレスしてくれなかったら俺がマジレスする所だったわ 危ない危ない…
937 名前:デフォルトの名無しさん mailto:sage [2007/05/14(月) 16:53:09 ] >>934 > ブロック(クロージャ)すら使えな 使える処理系もあるけどね。
938 名前:デフォルトの名無しさん mailto:sage [2007/05/14(月) 19:43:36 ] poc poc チーン
939 名前:デフォルトの名無しさん [2007/05/14(月) 21:09:12 ] 説明していただきありがとうございました。 おかげでOjective-Cの勉強を諦めることが出来ました。 感謝します。
940 名前:デフォルトの名無しさん mailto:sage [2007/05/14(月) 21:24:24 ] まだ ObjC にクロージャ入らないんだっけ?
941 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 00:01:30 ] クロージャを入れるのは一苦労じゃけん
942 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 00:05:46 ] ふーん
943 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 00:29:33 ] そこでRubyですよ
944 名前:デフォルトの名無しさん [2007/05/15(火) 00:52:11 ] Objective-Cやっている人はそれがC++よりも優れていると思う? それともMacについてきたからやっているの?
945 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 00:59:06 ] 優れているところもあるし劣っているところもある ちなみにMacOSXについてるのは Objective-C じゃなくて Objective-C++ だから
946 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 02:34:24 ] > ちなみにMacOSXについてるのは > Objective-C じゃなくて Objective-C++ だから ちがいます
947 名前:デフォルトの名無しさん mailto:sage [2007/05/15(火) 16:14:25 ] >>944 C++より先にObjCを学んだからC++使ってると違和感を感じることがある。 多分C++が先な人は逆なんだろうけど。
948 名前:デフォルトの名無しさん mailto:sage [2007/05/16(水) 19:40:39 ] 俺はどうもC++の変数の型の縛りが苦手だなあ。 virtualとか、何種類もあるキャストとか... そんなわけで最近はruby。Cocoaも呼べるし。
949 名前:デフォルトの名無しさん mailto:sage [2007/05/16(水) 22:01:25 ] 使いやすいのでいいんじゃない
950 名前:デフォルトの名無しさん mailto:sage [2007/07/01(日) 21:02:32 ] ほしゅ
951 名前:デフォルトの名無しさん mailto:sage [2007/07/19(木) 04:34:52 ] ttp://ja.doukaku.org/lang/objectivec/
952 名前:デフォルトの名無しさん mailto:sage [2007/07/19(木) 09:40:00 ] >>947 先にC++だったけどC++使ってると違和感を感じる やっぱりObjective-Cの方がいいよ
953 名前:デフォルトの名無しさん mailto:sage [2007/07/19(木) 09:50:28 ] >先にC++だったけどC++使ってると違和感を感じる これって、MFCじゃね? MFCとCocoaを比較したらCocoaがマシかもしれない。 でもMFCのトンデモ設計とちょーサイアクGUIビルダーよりましといった事に意味は無い。
954 名前:デフォルトの名無しさん mailto:sage [2007/07/19(木) 22:22:06 ] 何で C++ == MFC だと思ったのかな?
955 名前:デフォルトの名無しさん mailto:sage [2007/07/20(金) 02:14:36 ] かな?
956 名前:デフォルトの名無しさん mailto:sage [2007/07/20(金) 08:50:11 ] だって、C++Builderなんて使ったらCocoaの変にIDEにコントロールされて 逆にMVCを開発者側が制御できない変なもの使ってられないよ。 MVCを変に制御して困るものでC++といえばMFC。
957 名前:デフォルトの名無しさん mailto:sage [2007/07/20(金) 09:52:47 ] どっからMVCなんて出てきたんだか。
958 名前:デフォルトの名無しさん mailto:sage [2007/07/20(金) 10:20:20 ] ttp://developer.apple.com/jp/documentation/cocoa/Conceptual/CocoaBindings/Concepts/WhatAreBindings.html#//apple_ref/doc/uid/20002372/175802
959 名前:デフォルトの名無しさん mailto:sage [2007/07/27(金) 20:00:51 ] 日本語でok って言うトコロなんだと思う
960 名前:デフォルトの名無しさん mailto:sage [2007/08/06(月) 11:22:30 ] プロトコルと抽象クラスってどういう風に使い分ければ良いのよ
961 名前:デフォルトの名無しさん mailto:sage [2007/08/06(月) 12:07:29 ] Objective-C 2.0 には抽象クラスがあるの?
962 名前:デフォルトの名無しさん mailto:sage [2007/08/06(月) 12:32:23 ] いや、言語仕様にはないけどさ…
963 名前:デフォルトの名無しさん mailto:sage [2007/08/07(火) 10:38:33 ] どっちも使わない。ふつうは informal protocol というか単にセレクタの名前を取り決めておくだけ
964 名前:デフォルトの名無しさん mailto:sage [2007/08/07(火) 11:05:51 ] もうObjective-C廃止にしない? Mac OS XとC++でポトペタ開発しようよ。
965 名前:デフォルトの名無しさん mailto:sage [2007/08/07(火) 11:14:55 ] C++なんてクソ言語使ってられるかっつーの
966 名前:デフォルトの名無しさん mailto:sage [2007/08/07(火) 12:01:59 ] というか Interface Builder はポトペタの元祖なのでは?まあ癖はあるような気がするけど。バインディング可なパレットきちんと作っておくと殆ど IB だけで出来るべ
967 名前:デフォルトの名無しさん mailto:sage [2007/08/07(火) 12:07:23 ] 出来るってだけで、GUIの凝ったコントロールを作る事が不可能だお。
968 名前:デフォルトの名無しさん mailto:sage [2007/08/07(火) 12:49:00 ] ポトペタってなんですか>< インターフェースビルダーよりどこが凄いのか押しえて下さい!!!!
969 名前:デフォルトの名無しさん mailto:sage [2007/08/07(火) 13:03:28 ] コンポーネントを派生して、差分コーディングで処理を足して、画面に"ポトペタ"貼る事でつよ。 他人のハイパーなコンポーネント使ったり、ネットに派生コンポーネントが溢れたりするお。
970 名前:デフォルトの名無しさん mailto:sage [2007/08/07(火) 13:16:29 ] それはまさに IB でパレットから D&D して、カスタムクラスを設定することだとおもうんだけど、どっか違うの? Apple が提供してる以外の新規パレット自体をつくることもできるよ。 www.bignerdranch.com/palettes/ 確かにネット上にカスタムパレットが溢れてはいないが ...
971 名前:デフォルトの名無しさん mailto:sage [2007/08/07(火) 13:26:51 ] 派生前クラスのソースコードって公開されてる? やっぱ、クラス派生する場合にはそれが無いとスゲー足かせだお。
972 名前:デフォルトの名無しさん mailto:sage [2007/08/07(火) 14:07:21 ] というか、Cocoa のプログラミングは 1) view はパレットから D&D してカスタムクラス 2) controller も最近はバインディング用のをパレットから D&D 3) model は手で書いても良いし、CoreData でも良い だとおもうんだけど。 Apple 提供のパレットはソースコードは流石にないよ。でもドキュメントは(英語なら)完備してる。まあ GNUStep が 8割方再実装してるから読みたけりゃよめばいいけど。 ネットにころがってるのは、そもそも数が少ないけども、ころがってるやつはソースも配ってると思うよ あと、Objective-C はカスタムクラスが面倒だったら、元クラスのソースコードもってなくても元クラスにメソッドを追加できるよ。これは非常に便利。
973 名前:デフォルトの名無しさん mailto:sage [2007/08/07(火) 14:12:17 ] >1) view はパレットから D&D してカスタムクラス やっぱ、そうだよね。 プロジェクトと強く結びついたカスタムクラスであって、 クラスライブラリのベースクラスが派生したハイパークラスで溢れる、 というイメージじゃないだよね。
974 名前:デフォルトの名無しさん mailto:sage [2007/08/07(火) 14:21:49 ] 別にプロジェクトと強く結びついてんくても良いんだけど。
975 名前:デフォルトの名無しさん mailto:sage [2007/08/07(火) 14:25:37 ] まあハイパークラスなんて配られてないからね。 Apple 謹製の NSTextView, WebView は充分 Hyper な気がするけど。 あと、Cocoa ではクラス派生をする前に大抵の処理は delegate で済む気もする。 (コントローラが標準 view の機能を拡張できるみたいなかんじ) ポトペタでハイパーなコンポーネントののってるページの例をなんか URL おしえてください
976 名前:デフォルトの名無しさん mailto:sage [2007/08/07(火) 14:33:25 ] ttp://hp.vector.co.jp/authors/VA015730/vcl/vclworld.html ttp://norg1964.hp.infoseek.co.jp/delphianworld/
977 名前:デフォルトの名無しさん mailto:sage [2007/08/08(水) 00:43:11 ] o ひとつめの URL にあがってるような機能は Cocoa /Carbon API にある気がする o ふたつめのにはいっぱいカスタム GUI コントロールがのってるけど、 あんまり Apple はカスタムコントロールをつくるのは推奨してない気がするし、 そういうことすると OS X ぽくないソフトになりがちで嫌われがちだと思われる
978 名前:デフォルトの名無しさん mailto:sage [2007/08/08(水) 00:45:43 ] shiira.jp/hmblkappkit/ こういうカッコいいコントロールもあるよ。まあ Apple がまだ公開してない API を再実装した奴だけど、Interface Builder でふつうに配置してクラスの名前をこれにかえるだけで使える
979 名前:デフォルトの名無しさん mailto:sage [2007/08/08(水) 01:38:51 ] MacのプロアプリのようなUIにしたければカスタムするしかないよね。 スライダーとか機能的にも不十分だしIBにあるパーツだけじゃ足りなくなってきたからパーツの作り方勉強しなきゃ。
980 名前:・∀・)っ-○◎● mailto:sage [2007/08/08(水) 02:12:08 ] リストボックスをオーナーデータ化するにはどーすりゃいいんだ?
981 名前:デフォルトの名無しさん mailto:sage [2007/08/08(水) 08:48:20 ] >あんまり Apple はカスタムコントロールをつくるのは推奨してない気がするし、 これが今の時代の開発ではネック。 >そういうことすると OS X ぽくないソフトになりがちで嫌われがちだと思われる だからコントロールを派生して元々OS Xの描画の上に描画を足したり処理を足したりするわけじゃん。
982 名前:デフォルトの名無しさん mailto:sage [2007/08/08(水) 11:16:36 ] >>979 ProKitでなんとかなるかもしれないけど。
983 名前:デフォルトの名無しさん mailto:sage [2007/08/08(水) 11:40:52 ] >>981 まあ確かに、機能豊富で、ちゃんと Cocoa の window にマッチするパレット集が一杯おちてたら便利だろうね。 もうちっとデヴェロッパ層が厚くならないとだめかな。
984 名前:デフォルトの名無しさん mailto:sage [2007/08/08(水) 12:11:56 ] ええと、そろそろCocoaスレに行ってくれません?
985 名前:デフォルトの名無しさん mailto:sage [2007/08/08(水) 12:20:11 ] >>978 この黒パネルはLeopardのIBで実装されてる。
986 名前:デフォルトの名無しさん mailto:sage [2007/08/08(水) 12:25:15 ] 次スレ pc11.2ch.net/test/read.cgi/tech/1186543111/
987 名前:デフォルトの名無しさん mailto:sage [2007/08/08(水) 12:29:14 ] >>984 Cocoa の話が駄目とすると GNUStep も駄目?
988 名前:デフォルトの名無しさん mailto:sage [2007/08/08(水) 12:37:22 ] 漢は黙って objc/Object.h をインポート
989 名前:デフォルトの名無しさん mailto:sage [2007/08/08(水) 13:39:09 ] >987 AppleがCocoaで新たに組み込んだ関係がうぜ〜って事じゃね? IBの話すんならGORMの話しろや!ってきっといいたいに違いないと思ってるのだが(w あ,クラスライブラリはどうでもいい言語そのものの話をしたいって人だったのかも>984
990 名前:デフォルトの名無しさん mailto:sage [2007/08/08(水) 14:22:59 ] OOP言語ならクラスライブラリと切り離して話できんわ。
991 名前:デフォルトの名無しさん mailto:sage [2007/08/08(水) 15:24:09 ] そこでObjective-C標準クラスであるObjectを…
992 名前:デフォルトの名無しさん mailto:sage [2007/08/08(水) 18:27:56 ] Object.hと同じディレクトリにList.hってのもあるんだけど、 ListもObjective-Cの標準クラス?
993 名前:デフォルトの名無しさん mailto:sage [2007/08/08(水) 22:29:02 ] 純粋に Objective-C の話ってなかなか難しいのでは ... Apple の独自拡張も多いし。 Object と NSObject がどっちが「標準」かというと、 一社/一グループの実装だけじゃなくて、 標準を定めた文書が別個に存在するかという意味では Openstep のほうが「標準化」されているのではないかと思わなくもない GCC もせめて GNUStep の non-GUI 部分を一緒に配布してくれればいいのに。
994 名前:デフォルトの名無しさん mailto:sage [2007/08/08(水) 22:38:23 ] 基本Java厨で、現在C++で食っていきながら、 Rubyが一番好きかも知れないという俺ですが、 Objective-Cに興味を持っています。 他のOOPLとくらべてどうでしょうか。 メリットとかデメリットとか。
995 名前:デフォルトの名無しさん mailto:sage [2007/08/08(水) 22:44:25 ] 実際に運用する上で言語使用だけを他の OOPL とくらべるのは難しい... Cocoa つかうぶんには非常に便利ですよ。 RubyCocoa も Leopard から標準になるので Ruby が いいならそれでいいけれども、API の仕組みはかなり Objective-C に影響されているので、 RubyCocoa を使うための基礎として Obj-C を学ぶのは悪くないと思う GNUStep はちゃんとつかったことがないのですいません C++ を知っているひとのための、C++ と Obj-C の文法の比較は ktd.club.fr/programmation/fichiers/cpp-objc-en.pdf が簡単にまとまってる。英語だけど。
996 名前:デフォルトの名無しさん mailto:sage [2007/08/08(水) 22:49:00 ] >>994 CとJavaが使えるなら30分で覚えられるからとりあえず使ってみれ
997 名前:デフォルトの名無しさん mailto:sage [2007/08/08(水) 22:51:58 ] ご丁寧にどうもありがとうございます!! Cocoa使ってウハウハにも興味はあるんです。 Win32でどうのこうのに飽きちゃってですね。 言語としても興味津々なんでリンク先熟読します。
998 名前:デフォルトの名無しさん mailto:sage [2007/08/08(水) 22:52:59 ] >>996 やってみます! で、998ゲットォ!!
999 名前:デフォルトの名無しさん mailto:sage [2007/08/08(水) 22:55:59 ] そういう興味のある人なら Apple のこのあたり Objective-C Language developer.apple.com/documentation/Cocoa/Conceptual/ObjectiveC/index.html Cocoa Fundamentals Guide developer.apple.com/documentation/Cocoa/Conceptual/CocoaFundamentals/index.html が面白いかも。あと他にもいっぱいあるよ: developer.apple.com/documentation/Cocoa/index-date.html いや、GNUStep にリンクはらんで済まんね ...
1000 名前:デフォルトの名無しさん mailto:sage [2007/08/08(水) 23:03:19 ] 次スレ立てました Objective-C Part3 pc11.2ch.net/test/read.cgi/tech/1186581730/ 次スレでもみんなよろしく〜
1001 名前:1001 [Over 1000 Thread] このスレッドは1000を超えました。 もう書けないので、新しいスレッドを立ててくださいです。。。