5ちゃんねる ★スマホ版★ ■掲示板に戻る■ 全部 1- 最新50  

■ このスレッドは過去ログ倉庫に格納されています

Objective-C

1 :デフォルトの名無しさん:05/01/29 16:18:12
ほんとプログラマにとってはMacって
本当に興味が無いOSだよねw

Macでの標準的な言語であるObjective Cのスレすら無いし。
過去にはあったんだろうけど。

2 :デフォルトの名無しさん:05/01/29 16:18:56
前スレ
http://pc5.2ch.net/tech/kako/990/990574267.html

3 :デフォルトの名無しさん:05/01/29 16:19:32
オブジェクティヴィCってどんなもんなんだろうな。
少なくともC++よりはマシっぽいんだけど。

4 :デフォルトの名無しさん:05/01/29 16:22:58
またマカか

5 :デフォルトの名無しさん:05/01/29 16:32:53
存在しない言語でスレを立てるな

6 :デフォルトの名無しさん: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 :デフォルトの名無しさん: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 :デフォルトの名無しさん: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 :デフォルトの名無しさん: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 :デフォルトの名無しさん:05/01/29 17:14:16
>>1
勝手に俺のレスパクってスレ立てるなよw

11 :デフォルトの名無しさん:05/01/29 17:16:41
×こんなかっこよくなる言語なんて初めて見たぜ
○こんな括弧よくでる言語なんて初めて見たぜ



12 :デフォルトの名無しさん:05/01/29 17:17:55
[ >>1 release ];

13 :デフォルトの名無しさん:05/01/29 17:19:17
>>8の return [super free];が狙ってるようにしか見えない

14 :デフォルトの名無しさん:05/01/29 17:20:36
このスレmac系の板に移動したんじゃなかったっけ?

15 :デフォルトの名無しさん:05/01/29 17:27:38
移動したは良いが、ただでさえMacプログラマの人口が少ないのに、
さらにいないMac板に移ってカキコが無くなり、消えた。

16 :デフォルトの名無しさん:05/01/29 17:43:11
VisuaRubyもそれなりにいいよ

17 :デフォルトの名無しさん:05/01/29 17:47:06
Objective-C っていえば Mac っつーより NeXT とか OSX だろ?

18 :デフォルトの名無しさん:05/01/29 17:48:42
OSXはMacな訳だが

19 :デフォルトの名無しさん:05/01/29 17:51:58
>>13
自作自演乙

20 :デフォルトの名無しさん:05/01/29 19:05:27
今度はいつまで持つかな?
今のところ技術的な話題は無し。

21 :デフォルトの名無しさん:05/01/30 01:30:04
Mac mini 発売記念age.

マカは偉そうにPCの使い心地に対して文句を言うくせに、
使い心地が良くなるように工夫はしない「クリエイタ」が多いですね。

22 :デフォルトの名無しさん:05/01/30 01:31:26
>>9
こんなキモイ言語いらね

C♯の構文で
x86/PowerPCのネイティブがはければ最強なのに

23 :デフォルトの名無しさん:05/01/30 01:35:58
C#の構文なんて糞じゃん

24 :デフォルトの名無しさん:05/01/30 01:36:12
言語仕様どっかに落ちてない?

25 :デフォルトの名無しさん:05/01/30 01:39:16
http://www.toodarkpark.org/computers/objc/

26 :デフォルトの名無しさん:05/01/30 01:39:26
>>24
http://www.gnustep.org/resources/documentation/ObjectivCBook.pdf

27 :デフォルトの名無しさん:05/01/30 17:54:53
smalltalkが持つ理想郷と、Cの泥くさい、現実的な部分
を併せ持つ言語だと思う。
 GUI部分はオブジェクト拡張部分でさくっと実装、
(画像、音声処理の)エンジン部分はCでねちねち実
装という場合に、もっとも真価を発揮すると思う。

28 :デフォルトの名無しさん:05/01/30 17:56:58
オブジェクト指向なんてパラダイムのひとつに過ぎないというのに、おおげさに
騒ぎ立てる人を見掛けると、いつも不思議に思っている。

29 :デフォルトの名無しさん:05/01/30 21:11:26
つか言語なんぞどうでもいい

30 :デフォルトの名無しさん:05/01/30 21:13:42
>>28
そういう連中はCライクな言語しか触った事がないんだよ。

31 :デフォルトの名無しさん:05/01/30 23:40:32
まずc++を勉強してからじゃないと難しいのでしょうか?cは知っているんですが。

32 :デフォルトの名無しさん:05/01/31 00:04:16
>>31
微妙・・・C++慣れるとObjective-C行くのも抵抗はあるぞ?
興味あるなら直接行けば(゚з゚)イインデネーノ?
正直、考え方とかを除くと言語自体はそれ程覚える所はない・・・



33 :デフォルトの名無しさん:05/01/31 00:19:22
C++は関係ないので勉強する必要はまったくありません。

34 :デフォルトの名無しさん:05/01/31 00:46:20
>>28 はオブジェクト指向の概念を理解出来ずに挫折した香具師と思われ

35 :デフォルトの名無しさん:05/01/31 00:50:50
>>34
なんでそう思うんだろう…

36 :デフォルトの名無しさん:05/01/31 01:19:47
>>3233
どうもです。アーロンの本はC++を知ってるのを前提にって事になっているので、C++知らないので読むのやめちゃったんですね。

37 :デフォルトの名無しさん:05/01/31 01:28:25
>>34
オブジェクト指向が特別重要でないと考える、ならば、オブジェクト指向の概念を理解できずに挫折した
これは成り立つかどうかは怪しいね。

オブジェクト指向の概念を理解できずに挫折した、ならば、オブジェクト指向が特別重要でないと考える
これは成り立つかどうかは難しいね。

38 :デフォルトの名無しさん:05/01/31 02:20:33
これほど使っている人が少ない言語も珍しい。

39 :デフォルトの名無しさん:05/01/31 02:33:05
> これほど使っている人が少ない言語も珍しい。
いや珍しくはないと思う。

40 :デフォルトの名無しさん:05/01/31 02:35:13
>>38
brainf*ck

41 :デフォルトの名無しさん:05/01/31 06:17:34
>>40
Objective-Cってそのカテゴリなのか。
確かに文法はちょっと変態的かもしれないけど。


42 :デフォルトの名無しさん: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)

http://sourceforge.net/softwaremap/trove_list.php?form_cat=160


43 :デフォルトの名無しさん:05/01/31 06:59:22
Whitespace

44 :デフォルトの名無しさん:05/01/31 10:02:06
>>42
C#がそこまで使われていたなんて知らなかった。
逆にVBがそんなに使われていないとも知らなかった。

45 :デフォルトの名無しさん:05/01/31 10:42:42
Objective-Cが626件というのも驚異的な数字だと思うんだけど。

46 :デフォルトの名無しさん:05/01/31 11:02:07
>>45
*オープンソースでは*わりと使われているみたいですね

47 :デフォルトの名無しさん:05/01/31 14:04:03
>>44
VBってオープンソース向けではないでそ

48 :デフォルトの名無しさん:05/01/31 19:05:32
VBはオープンソース向けでないにもかかわらず、
オープンソースでそれだけ使われているってことね。

Objective-Cがオープンソース向けかどうか知らないけど、
オープンソース向けとしてなら少ないし、
オープンソース向けでないとしても、
同じくオープンソース向けでないVBよりも少ない。

49 :デフォルトの名無しさん:05/01/31 21:26:54
Objective-Cそのものはオープンソースだけどね。

50 :デフォルトの名無しさん:05/01/31 21:38:25
>>49
そんなこと言ったらCだってオープンソースだし、Javaだってオープンソースだ。

51 :デフォルトの名無しさん:05/01/31 22:54:20
というか、もうMac専用言語だと割り切った方が良い。

>>36
OOPやってた香具師ならアポのPDFと、その辺にあるネットの
説明ぐらいで充分。元々大した量じゃない
後はサンプルなんか感触つかめばエエ話

52 :デフォルトの名無しさん:05/02/01 01:08:27
Mac専用言語だと思ったら、ますます >>45 が驚異的に思えるな。
CができてOOPが理解できてれば、すんなり入れて楽に使えるから、たしかに導入時のハードルは低いな。

53 :デフォルトの名無しさん:05/02/01 04:46:39
この本を読めばC++よりObjective-Cの方がオブジェクト指向を
忠実に実現しているのが分かると思う。
第1版は絶版らしいので第2版を紹介
ttp://www.amazon.co.jp/exec/obidos/ASIN/4775303716/
今風にMacOSX向けの記述が追加されてるそうな。


54 :デフォルトの名無しさん:05/02/01 11:45:58
この言語良く知らないんだけど、GCって付いてるの?

55 :デフォルトの名無しさん: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 :デフォルトの名無しさん:05/02/01 16:05:53
>>52
うーん。言語仕様(マニアックに突っ込まなきゃ)だけなら
Objective-C、C++、Java、C#、その他も覚える量は大して
変らんと思うよ。

実際ある程度の物を作るんだったら、フレームワーク覚えるのが
一番時間かかる(OOP関連除けば)んだから。。


57 :デフォルトの名無しさん:05/02/01 17:06:34
Cからの移行なら完全上位互換の Objective-C が楽なのは明確だろ。

58 :デフォルトの名無しさん:05/02/01 17:09:00
ObjectiveCでλ式は書けますか?

59 :デフォルトの名無しさん:05/02/01 17:43:13
>>57
そうか?
C++の方が先だったので実際にC→Objective-Cをやった訳
ではないけど、覚え易さに強調(売りに)するほどの差は無い
とは思うがね。まぁどっちでも良いわさ。
C→Objective-Cも、C→C++も別に大変ってわけでも無いし

60 :デフォルトの名無しさん:05/02/01 19:46:19
C++は無駄な拡張しすぎだと思う

61 :デフォルトの名無しさん:05/02/01 19:56:24
>>60
アーー、どんな拡張っスか。
僕様チャン頭ワりーんで、わかんねーッ
アヒャww

62 :デフォルトの名無しさん:05/02/01 20:01:28
スタックにインスタンスとれるとこなんか、
なーんかやな感じなんだよなあC++

63 :デフォルトの名無しさん:05/02/01 20:14:59
>>62
俺はそこが好きなんだよね……

64 :デフォルトの名無しさん:05/02/01 20:18:13
Objective-Cは長いのでOCと書いても良いですか

65 :デフォルトの名無しさん:05/02/01 20:30:01
ふつー ObjC

66 :デフォルトの名無しさん:05/02/02 04:11:21
他スレみたいにObjective-Cがらみのプログラミングで
どうするのかとか聞くスレかと思いきや。

Objective-Cとは何か? って
もはや新しく言語が出来てどういう言語なのか話しているのと同じレベルだな。
昔からある言語なのに使われていないと言うことが良くわかった。

67 :デフォルトの名無しさん:05/02/02 04:27:38
今でもライブラリ・フレームワークを整備したら流行るかねえ。
そういえばObjective-C++なんてあったようななかったような。


68 :デフォルトの名無しさん:05/02/02 04:46:35
次(あるのか?)のスレタイ
【雑談】Objective-C【禁止】


69 :デフォルトの名無しさん:05/02/02 07:53:01
Objective-C++ってなに?

70 :デフォルトの名無しさん:05/02/02 14:08:06
Cocoaはさっぱり!!! version.4
http://pc7.2ch.net/test/read.cgi/mac/1091927026/


71 :デフォルトの名無しさん:05/02/02 14:53:09
Cocoaはやっぱり!!!
http://202.228.189.75/

72 :デフォルトの名無しさん:05/02/02 14:53:59
>>71
怪しいから踏みたくないなぁ…

73 :デフォルトの名無しさん:05/02/02 15:32:44
>>69
http://homepage.mac.com/mkino2/spec/objectiveC++/objectiveC++.html

74 :デフォルトの名無しさん:05/02/02 17:15:00
>>72
>>71 は森永製菓だから大丈夫

75 :デフォルトの名無しさん:05/02/02 17:35:55
日本語訳あるのね。

Objective-C プログラミング言語
http://developer.apple.com/ja/documentation/cocoa/Conceptual/ObjectiveC/index.html

76 :デフォルトの名無しさん:05/02/02 19:01:15
>>73
Objective-C と C++ の Rhapsody っていうより
ただしっちゃかめっちゃかに見える

77 :デフォルトの名無しさん:05/02/02 20:54:37
ちょっとうろおぼえ何だけどさ、Nextの実装だと
{obj message]
でobj がnil でも落ちなかったよね?

78 :デフォルトの名無しさん:05/02/02 22:35:56
たしかnilは何でも受けるんじゃなかったっけ?


79 :デフォルトの名無しさん:05/02/03 00:43:38
誰も答えを知らない言語・・・。

80 :デフォルトの名無しさん:05/02/03 00:45:03
俺もこのスレ見てるけど使った事ないし。

81 :デフォルトの名無しさん: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 :デフォルトの名無しさん:05/02/03 02:19:44
>>81
できた。
ちょっと構文規則でも読んでくる。

83 :デフォルトの名無しさん:05/02/03 11:01:50
読んだ。なんとなく解かった。C++の方が使いやすいのは慣れていないからだろうか。
ともかくとして、疲れたから寝る。おやすみ。

84 :デフォルトの名無しさん:05/02/03 15:52:31
10.4でpersistent objectが実装されるらしい。XML/RDBベース。

85 :デフォルトの名無しさん:05/02/03 15:53:49
>>83
ObjCは未知のサブクラスのインスタンスを呼び出せる。

86 :デフォルトの名無しさん:05/02/03 16:20:02
>>84
今でも nib っていうのがあるけど

87 :デフォルトの名無しさん:05/02/03 17:02:12
10.4のQTKitに期待!
No More カーボン!

88 :デフォルトの名無しさん:05/02/03 20:57:05
nilが全てのメッセージを受け取る言語だと
nilで死ぬことないから、逆にチェックを厳密にやらないと
分かりづらいバグが出るだろうね。
しかし当たり前の話だけどnilはOKなのに
releaseしたゴミポインタにメッセージを
送ると普通にSEGVで死ぬのがムカつく(w

[obj release]
obj=nil;

これで安全。

89 :デフォルトの名無しさん:05/02/03 21:00:20
releaseだったら当該コードで死亡するところが、
autorelease pool つかうとどこが悪くて落ちるかわかんなくて
結構デバッグ大変じゃない?


90 :デフォルトの名無しさん:05/02/03 21:13:26
>>88
なんか前半と後半で矛盾したことを言ってるぞ。

>releaseしたゴミポインタにメッセージを
>送ると普通にSEGVで死ぬのがムカつく(w

ここで死んでもらわんとわかりづらいバグになるだろうがw


91 :デフォルトの名無しさん:05/02/04 01:10:22
>90
え、QTKitってCocoaでバリバリQuickTimeいじれるようになるんじゃないの、、、
NSMovieViewって基本的なことしか今はできないですよね?
いろいろやろうとすると結局Carbonっていうのがなぁ、、、
QTKitでCarbonと同じようにCocoaからQTがいじれるのかなーと思ってます。

92 :デフォルトの名無しさん:05/02/05 16:25:45
>>86
nibってInterface Builderの、だよね。
変更したインスタンスは保存できんよ。

93 :デフォルトの名無しさん:05/02/06 17:04:21
ObjCの実装で実績あるのってappleのとgccぐらい?

94 :デフォルトの名無しさん:05/02/06 18:16:20
>>93
Appleの=gcc な訳だがw

95 :デフォルトの名無しさん:05/02/06 20:47:27
NSなんちゃら

96 :デフォルトの名無しさん: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 :デフォルトの名無しさん:05/02/11 19:12:15
age

99 :デフォルトの名無しさん:05/02/12 21:14:32
メモリ管理のできるパフォーマンスのよいjavaみたいなもんだと
思うのだが、なぜか人気がない。why?

100 :デフォルトの名無しさん:05/02/12 21:24:13
宣伝してないからかな。
ところでWindowsで使えるんか?
Cocoaが無いと意味ないか。

101 :デフォルトの名無しさん:05/02/12 21:56:30
ttp://www.mosa.gr.jp/mpj2000/jul/toku1/toku1.html

102 :デフォルトの名無しさん:05/02/12 22:53:14
Objective-Cで満足にプログラミングできる環境が整ってるのはやっぱOS Xくらいだろうなぁ。
そのほかの環境でやるとしたらGNUStep + ObjCかGTK+ + ObjCってところ?

103 :デフォルトの名無しさん:05/02/15 09:42:28
>>99
字面


104 :デフォルトの名無しさん:05/02/15 15:19:34
ちょっと書きにくいんだよ、はじめの”[”が。

C/C++,Java,VBみたいにhoge.funcとかhoge->funcと左から右へ
単純に移動するだけですめばいいんだけど

105 :デフォルトの名無しさん:05/02/15 19:39:45
[obj message];

は主語と述語っぽくて読みやすいよ。
英文として読み下せるよ。ってどっかの外人が言ってた。

106 :デフォルトの名無しさん:05/02/15 23:49:44
cocoaの仕事したいなあ、どこで募集しているのだろう?

107 :デフォルトの名無しさん:05/02/18 21:28:07
その昔の実装だと 例外発生時にcatchまで飛ぶのはいいけど
try - catch 中に生成したオブジェクトをdeleteしようがなくて
メモリリークの危険バリバリだったよーな気がする。
これって今どーなってる?


108 :デフォルトの名無しさん:05/02/18 22:37:39
@finally でやればいいのでは?

109 :デフォルトの名無しさん: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
http://developer.apple.com/ja/documentation/japanese.html
Cocoa バインディング入門
キー値コーディング(Key Value Coding)
キー値監視について(Key Value Observing)

111 :デフォルトの名無しさん:05/02/25 15:04:26
簡単な質問かもしれませんが、分からないので教えてください。

以下のプログラム、核は出来ています。このまま使用しても目的は達成できます。が、
http://tokyo.cool.ne.jp/kuonnnokizunanbalivetehe/CSJS2EUC.C
http://tokyo.cool.ne.jp/kuonnnokizunanbalivetehe/CEUC2SJS.C
この2つのソースコードをJISを経過させずに直接変換させるにはどうしたらいいでしょうか?



112 :デフォルトの名無しさん:05/02/25 15:05:47
まったく見ていないが、おそらく Objective-C とは何ら関係がない。

113 :デフォルトの名無しさん:05/02/26 04:56:52
なんか夜9時にいきなりツールを明日の朝までに作れって上司が言って
仕様書いたポストイットを俺の端末に貼って帰りやがった
最初は普通に VisualC++ で作ってたが途中で上司の態度がムカついてきたんで
GNUStep と MinGW と コーディング用に Meadow 落としてきて
Objective-C と GNUStep の Foundation と Win32API の不気味なコラボレーションで
仕様通りのツールを仕上げてやった

俺が辞めた後でソースみて気絶する奴が出ない事を祈る

114 :デフォルトの名無しさん:05/02/26 08:04:44
>>113
GJ! と言っておこう。

115 :デフォルトの名無しさん:05/02/26 17:44:09
>>113苦しむのは後釜と思われ。
その上司は次の誰かに朝までの修正を夜9時に渡して帰るだけだぞ。
内容が解らんので何とも言えんが、因みに本当に非道いケースでは
上司が定時帰宅で責任は部下に擦り付ける罠。
あとその成果物って他のPCでも動く?

116 :デフォルトの名無しさん:05/02/26 17:48:46
>>115
113じゃないがobjc.dllとgnustep-base.dllいっしょに入れときゃ動くでしょ。

117 :デフォルトの名無しさん:05/02/26 23:32:11
Objective-Cの参考書(日本語)って存在しないのか・・・?
世の中はC、C++、C#、Java、VBがほとんどを占めている訳か?
「Cocoaはやっぱり」以外にOSXでのプログラミングを支援する書籍が無い!
Appleは何を考えとるんだ・・・。



英語版をなんとかして読むしかありませんか。

118 :デフォルトの名無しさん:05/02/26 23:41:24
> Appleは何を考えとるんだ・・・。

イマドキ「日本語の参考書がないから勉強できまちぇん」
とかヌカしてる連中は必要ないということでしょう。

119 :デフォルトの名無しさん:05/02/26 23:50:07
>>117
ヒレガス本,萩原本,HMDTは?
萩原本は出版社がなくなったみたいだから手に入りにくいかも知れんけど。

Objective-Cの言語についてだったら日本語翻訳がある。
http://developer.apple.com/ja/documentation/cocoa/Conceptual/ObjectiveC/index.html

120 :デフォルトの名無しさん:05/02/26 23:50:23

>「Cocoaはやっぱり」以外にOSXでのプログラミングを支援する書籍が無い!

これはあんまりだろ。

121 :デフォルトの名無しさん:05/02/26 23:55:59
とりあえずHappy Macintosh developing timeは買っとく事にします。


>>120
書籍ベースの参考書についてはJavaやC++みたいな
習得人口の多い言語と比べるべきでは無かったですね。



122 :デフォルトの名無しさん:05/02/27 00:40:30
Cocoaはやっぱり!とHMDT本と、HMDTのページのCocoa 1001があればほぼ用が済むと
思うんだけど....

APIリファレンスがちゃんとあるんだしさ。

123 :デフォルトの名無しさん:05/02/27 02:12:50
Objective-Cって学習コストがかなり低い部類に入ると思うけどなあ。
俺なんて講義でObjective-Cによるフレームワークのを使うからってんで
簡単な紹介とポインタ示してこういうものがあるから覚えてこいでおしまいだったぞ。
当然そっから先の講義のほとんどやレポートに必要だった。


124 :デフォルトの名無しさん:05/02/27 04:05:16
>> 123
* C言語が使える
* 少くとも一つのオブジェクト指向言語が使える
人ならば学習コストは低いでしょうけど…

昔 "10 minutes learning objective-C"(だったかな?) とかいう Web page
を読んで文法覚えました。
当時 C や Java を覚えた後だったんで覚えるのに1日はかからなかったなぁ。

#10分じゃ無理だったけど


125 :デフォルトの名無しさん:05/02/27 04:55:33
> 萩原本は出版社がなくなった

うわ、ほんとだ。知らなかった。
http://www.dgcr.com/cgi-bin/backnumber/back.cgi?mode=right&year=2004&month=9&day=17

126 :デフォルトの名無しさん:05/02/27 10:10:34
 Macに乗り換えてプログラミングに興味があるので、CocoaのObjective-Cでプログラミングをしてみたいのですが、どこから入れば良いでしょうか。
 ちなみに、プログラミングの知識は0に近く、WindowsでHSPという言語でちょこっとやったことがある程度です。

127 :デフォルトの名無しさん:05/02/27 11:06:54
はじめてのMac OS X Cocoaプログラミング―v10.2対応
http://www.amazon.co.jp/exec/obidos/ASIN/4898143997/
辺りかなぁ。

128 :デフォルトの名無しさん:05/02/27 11:43:37
>>127
中村本は取っ付きやすいとはおもうけどCの知識が0だときついよ。
Cの入門書とセットで読むといいかも。

129 :デフォルトの名無しさん: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 :デフォルトの名無しさん:05/03/03 02:27:37
そんなことはない
副作用で直ったと思われ


132 :デフォルトの名無しさん:05/03/03 18:39:51
言語の敷居は低いが、Cocoaがキツイ。
良く在るC++のクラスライブラリと違ってOSの一部なので、ソースが無い。
かといって、JDKのように挙動が自明でもない。
試行錯誤させられる亊が多過ぎる。

133 :デフォルトの名無しさん:05/03/03 18:41:38
演算子のオーバーロードがないから文字列クラスの扱いがきついね
std::stringですら遥かにまし

134 :デフォルトの名無しさん:05/03/03 19:21:21
早くXCodeがDをサポートしますように

135 :デフォルトの名無しさん:05/03/03 22:25:19
ソースはある

136 :デフォルトの名無しさん:05/03/03 23:15:51
>>135
あるの?

137 :デフォルトの名無しさん:05/03/04 01:12:28
mac mini届いた、Objective-Cを触ってみたが、C++に要した労力に比べると、格段に易い。
文法もすっきりしている、好きになりそうだ。

138 :デフォルトの名無しさん:05/03/04 01:39:01
>>137
すごいな。
漏れはずっとC++使って来て、PublicBetaを試したとき、
Objective-C自体の書式はすぐに分かったのだけど、
IBとPBの連携の意味を理解するのに半年掛かってしまった。
資料見ても意味分からないから試行錯誤&挫折の繰り返しでなかなか意図を見抜けなかった。
で、ようやくポトペタでGUIアプリが作れるようになったんだけど、
結局Cocoaのクラス構成とかの流儀に馴染む前に嫌になってしまったよ……。

139 :デフォルトの名無しさん:05/03/04 08:50:58
autoreleaseなんてのがあるので
オブジェクト解放のタイミングが分かりづらくなってる気がする。

なかなか気付きにくいよ「イベントループの末尾で削除」なんて。

140 :デフォルトの名無しさん:05/03/04 10:19:26
そこでGNUstepのGCですよ。

マジほしいな、これは。

141 :デフォルトの名無しさん: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 :デフォルトの名無しさん:05/03/07 12:12:31
>インスタンス変数が追加できないMix-in
でほぼ正解じゃなかったかな…?
メソッドも追加ができるだけでオーバーライドすらできないからそれ以下かな?

143 :142: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 :デフォルトの名無しさん:05/03/08 22:17:13
コンパイル時に型チェックが働くか否かの差

146 :デフォルトの名無しさん:05/03/08 22:25:34
>>142
Mix-inって、クラスを特定することなく定義できる必要があると思うんだけど。
Objective-Cのカテゴリって定義時にクラスを指定するから、他のクラスで使うことができない。
これをMix-inというのだろうか。そもそもMix-inとは?

147 :142: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 :デフォルトの名無しさん:05/03/09 20:53:44
仕様の追加は mix-in とは言わないんじゃ、、、

> * C++ の多重継承でも Mix-in (の概念)は存在する(らしい)

というか、多重継承だからこそ mix-in が可能なんじゃないか?

Ruby は多重継承ができないけど、 mix-in があるので
多重継承と似たことができますよ、ってことにしてるんでしょ?

150 :デフォルトの名無しさん:05/03/09 21:04:48

C++ では Mix-in を表現するに多重継承を使う方法がある


151 :デフォルトの名無しさん:05/03/09 21:14:19
あぁ、まぁ、そうか。

152 :デフォルトの名無しさん:05/03/09 21:29:40
>>148
http://developer.apple.com/ja/documentation/Cocoa/Conceptual/ObjectiveC/3objc_language_overview/chapter_7_section_8.html

153 :デフォルトの名無しさん:05/03/09 23:04:51
ここの住人は基本的にCocoaプログラマ?

154 :デフォルトの名無しさん:05/03/10 16:28:59
そうみたい
でもCocoaに限らない話題希望

155 :デフォルトの名無しさん:05/03/10 16:46:04
>>154
Cocoa以外でobj-c使う場面ってどんな場面よ

156 :デフォルトの名無しさん:05/03/10 16:48:13
GNUstepとか。

157 :デフォルトの名無しさん:05/03/10 16:51:19
メッセージの一つ目の引数にラベルつけらんなくてみんな困ってます

158 :デフォルトの名無しさん:05/03/10 17:14:38
バカだなー、一つ目をダミーの引数にすればんだよ。

159 :142: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 :デフォルトの名無しさん:05/03/10 22:45:41
Cocoaをはじめようと思います。Objective-Cを学ぶにはC言語を覚えてからオブジェクト指向を理解したうえで、というのが近道だと聞きましたが、ベースとなるC言語の知識はどれくらい必要でしょうか。

161 :デフォルトの名無しさん:05/03/11 00:02:58
そりゃ、基本的事項は全てだろ。
テキストがあれば、それの最初から最後まで。
心配しなくてもそんなに分量はない。
けと、その都度実践していかないと(つまり、ソースを作っては試す)
身にはつかない。

162 :デフォルトの名無しさん:05/03/11 01:11:55
同意。
でも、多くの人がポインタで挫折すんだよねー。
まぁ、今は良い参考書もいっぱいあるから、昔に比べりゃ全然楽だ。

163 :デフォルトの名無しさん:05/03/11 01:40:32
「すればんだよ」とか「けと、」とか日本語じゃない言葉が飛び交ってて
話てるのか何か良く分からないんです。


164 :デフォルトの名無しさん:05/03/11 01:42:50
>>162
>でも、多くの人がポインタで挫折すんだよねー。
それは数あるポインタの解説書がことごとく間違っていたり
嘘言っていたりして学習者の混乱を増長させているから。


165 :デフォルトの名無しさん:05/03/11 02:05:42
ポインタと配列の間に関係性を持たせてしまったCの仕様にも責任がある希ガス。

166 :デフォルトの名無しさん:05/03/11 02:23:51
どうして? ごく自然な仕様だろ。


167 :デフォルトの名無しさん:05/03/11 03:15:52
int *p;
において、
「*(p+i)はp[i]って書き方もできます」って仕様は余計だと思う。
これのせいで、ポインタと配列は全く別ものなのに、
なんだか同じもののように初心者を混乱させている希ガス。

168 :デフォルトの名無しさん:05/03/11 05:20:10
同じものですよw

169 :デフォルトの名無しさん:05/03/11 08:06:55
Xcode2.0はどの程度現状と変わるのか。

Tigerを買うかどうかは、そこの評価次第なんだけど。

170 :デフォルトの名無しさん:05/03/11 11:37:37
>>169
一番の売りはUML風味のクラス図自動生成とかでない?
その辺実際どの位使えるのかは確かに気になる所。
Rationalのアレ並みにとは言わんけどさ(w。それなりにパパッと書いたのがぐりぐり動いてるよーだといいな

171 :デフォルトの名無しさん:05/03/11 12:40:57
快適な開発環境がOSに標準でついてくるなら
もう少し、Cocoaプログラマが増えてもいいと思うんだが。

Macを再評価する動きというのは無いものか。

172 :デフォルトの名無しさん:05/03/11 13:18:32
ついにObjCのみのAPIの登場だ。

Developing with Core Image
http://developer.apple.com/macosx/tiger/coreimage.html

173 :デフォルトの名無しさん:05/03/11 13:20:47
>>170
EOFっていうベースがあるから、
そこそこ行けそうな気がする。
なんで別けたんだろうね。

174 :デフォルトの名無しさん:05/03/12 00:27:53
Core Imageって,Cocoa系のAPIだったとは。てっきり
Carbonだと思っていた。


175 :デフォルトの名無しさん:05/03/12 01:33:37
Carbonからも呼べるんで、困りはしないんだけど、
Core Image使うところは、.mにせにゃならん。

176 :デフォルトの名無しさん:05/03/12 15:12:42
>>162
ポインタは難しい的な先入観もたせるのも
どうなんだろうなって感じだよね。
何の先入観も無しにやってみて難しくて挫折するのは
しょうがないとして、余計な先入観のせいで混乱しちゃうと
ちょっとね。

177 :デフォルトの名無しさん:05/03/12 17:22:57
たぶん、ポインタの理解が「指し示すもの」「アドレス」の2つで混乱してるんだろうな
わかる人は両方をちゃんと使い分けてるけど、説明される時はこのうち1つ側の説明しかされないし

178 :デフォルトの名無しさん:05/03/12 23:38:06
コンピュータってものを理解してれば全く混乱なんかしないよなあ。
もしかしてメモリやアドレスの概念を出さずに説明されるのだろうか?
またはCPUやメモリの概念程度の基礎知識すらない奴がC言語を学んでいるのか?


179 :デフォルトの名無しさん:05/03/12 23:56:55
メモリとレジスタを絡めて教わったよ。
少なくともオレらは。

180 :デフォルトの名無しさん:05/03/13 03:34:30
やっぱり最初はアセンブラから?(w
って、今頃そんなのをやれっても無理あるよなぁ。

181 :デフォルトの名無しさん:05/03/13 08:58:19
君が知りたくなければ一生知らないままでいいよ。


182 :デフォルトの名無しさん:05/03/13 12:13:04
そこでBrainfuckですよ

183 :180:05/03/15 01:26:13
>>181
いや、漏れではなく今頃の人に教えるのにアセンブラって言うのも厳しいもんがあるよなぁと。
漏れなんかはTK-80をガキの頃に親から奪って遊びだした世代なんで最初はハンドアセンブル
しかなかったんだよな。
今だとそういういい教材はあるけれどなかなかにニッチだしなという事で。

184 :デフォルトの名無しさん:05/03/15 06:31:47
>>180 にとってアセンブラは厳しかった訳か

185 :デフォルトの名無しさん:05/03/15 07:40:38
180の言ってる事はよくわかるけど?

186 :デフォルトの名無しさん:05/03/15 08:54:28
最終的にShark使ってG5最適化とか、
今でもアセンブラの知識は役に立つが、
全くもってスレ違い。

187 :デフォルトの名無しさん:05/03/15 23:12:17
まあまあ、そんなことより
>>158のテクニックの実装方法について、
まじめに考えてみようぜ

188 :デフォルトの名無しさん:05/03/16 00:16:11
「スレ番だよ」というのがよくわんない。

41 KB
■ このスレッドは過去ログ倉庫に格納されています

★スマホ版★ 掲示板に戻る 全部 前100 次100 最新50

read.cgi ver 05.04.00 2017/10/04 Walang Kapalit ★
FOX ★ DSO(Dynamic Shared Object)