Objective-C
■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん
05/01/29 16:18:12本当に興味が無いOSだよねw
Macでの標準的な言語であるObjective Cのスレすら無いし。
過去にはあったんだろうけど。
0002デフォルトの名無しさん
05/01/29 16:18:56http://pc5.2ch.net/tech/kako/990/990574267.html
0003デフォルトの名無しさん
05/01/29 16:19:32少なくともC++よりはマシっぽいんだけど。
0004デフォルトの名無しさん
05/01/29 16:22:580005デフォルトの名無しさん
05/01/29 16:32:530006デフォルトの名無しさん
05/01/29 16:42:05@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
0007デフォルトの名無しさん
05/01/29 16:42:37- 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;
}
0008デフォルトの名無しさん
05/01/29 16:43:16{
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
0009デフォルトの名無しさん
05/01/29 16:44:08{
id myApp;
myApp = [[testApp alloc] initApp:&argc :&argv];
[myApp run];
return 0;
}
前スレの最後に載ってたけどgtk弄るだけでこんなかっこよくなる言語なんて初めて見たぜ
0010デフォルトの名無しさん
05/01/29 17:14:16勝手に俺のレスパクってスレ立てるなよw
0011デフォルトの名無しさん
05/01/29 17:16:41○こんな括弧よくでる言語なんて初めて見たぜ
0012デフォルトの名無しさん
05/01/29 17:17:550013デフォルトの名無しさん
05/01/29 17:19:170014デフォルトの名無しさん
05/01/29 17:20:360015デフォルトの名無しさん
05/01/29 17:27:38さらにいないMac板に移ってカキコが無くなり、消えた。
0016デフォルトの名無しさん
05/01/29 17:43:110017デフォルトの名無しさん
05/01/29 17:47:060018デフォルトの名無しさん
05/01/29 17:48:420019デフォルトの名無しさん
05/01/29 17:51:58自作自演乙
0020デフォルトの名無しさん
05/01/29 19:05:27今のところ技術的な話題は無し。
0021デフォルトの名無しさん
05/01/30 01:30:04マカは偉そうにPCの使い心地に対して文句を言うくせに、
使い心地が良くなるように工夫はしない「クリエイタ」が多いですね。
0022デフォルトの名無しさん
05/01/30 01:31:26こんなキモイ言語いらね
C♯の構文で
x86/PowerPCのネイティブがはければ最強なのに
0023デフォルトの名無しさん
05/01/30 01:35:580024デフォルトの名無しさん
05/01/30 01:36:120025デフォルトの名無しさん
05/01/30 01:39:160026デフォルトの名無しさん
05/01/30 01:39:26http://www.gnustep.org/resources/documentation/ObjectivCBook.pdf
0027デフォルトの名無しさん
05/01/30 17:54:53を併せ持つ言語だと思う。
GUI部分はオブジェクト拡張部分でさくっと実装、
(画像、音声処理の)エンジン部分はCでねちねち実
装という場合に、もっとも真価を発揮すると思う。
0028デフォルトの名無しさん
05/01/30 17:56:58騒ぎ立てる人を見掛けると、いつも不思議に思っている。
0029デフォルトの名無しさん
05/01/30 21:11:260030デフォルトの名無しさん
05/01/30 21:13:42そういう連中はCライクな言語しか触った事がないんだよ。
0031デフォルトの名無しさん
05/01/30 23:40:320032デフォルトの名無しさん
05/01/31 00:04:16微妙・・・C++慣れるとObjective-C行くのも抵抗はあるぞ?
興味あるなら直接行けば(゚з゚)イインデネーノ?
正直、考え方とかを除くと言語自体はそれ程覚える所はない・・・
0033デフォルトの名無しさん
05/01/31 00:19:220034デフォルトの名無しさん
05/01/31 00:46:200035デフォルトの名無しさん
05/01/31 00:50:50なんでそう思うんだろう…
0036デフォルトの名無しさん
05/01/31 01:19:47どうもです。アーロンの本はC++を知ってるのを前提にって事になっているので、C++知らないので読むのやめちゃったんですね。
0037デフォルトの名無しさん
05/01/31 01:28:25オブジェクト指向が特別重要でないと考える、ならば、オブジェクト指向の概念を理解できずに挫折した
これは成り立つかどうかは怪しいね。
オブジェクト指向の概念を理解できずに挫折した、ならば、オブジェクト指向が特別重要でないと考える
これは成り立つかどうかは難しいね。
0038デフォルトの名無しさん
05/01/31 02:20:330039デフォルトの名無しさん
05/01/31 02:33:05いや珍しくはないと思う。
0040デフォルトの名無しさん
05/01/31 02:35:13brainf*ck
0041デフォルトの名無しさん
05/01/31 06:17:34Objective-Cってそのカテゴリなのか。
確かに文法はちょっと変態的かもしれないけど。
0042デフォルトの名無しさん
05/01/31 06:59:08Objective 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
0043デフォルトの名無しさん
05/01/31 06:59:220044デフォルトの名無しさん
05/01/31 10:02:06C#がそこまで使われていたなんて知らなかった。
逆にVBがそんなに使われていないとも知らなかった。
0045デフォルトの名無しさん
05/01/31 10:42:420046デフォルトの名無しさん
05/01/31 11:02:07*オープンソースでは*わりと使われているみたいですね
0047デフォルトの名無しさん
05/01/31 14:04:03VBってオープンソース向けではないでそ
0048デフォルトの名無しさん
05/01/31 19:05:32オープンソースでそれだけ使われているってことね。
Objective-Cがオープンソース向けかどうか知らないけど、
オープンソース向けとしてなら少ないし、
オープンソース向けでないとしても、
同じくオープンソース向けでないVBよりも少ない。
0049デフォルトの名無しさん
05/01/31 21:26:540050デフォルトの名無しさん
05/01/31 21:38:25そんなこと言ったらCだってオープンソースだし、Javaだってオープンソースだ。
0051デフォルトの名無しさん
05/01/31 22:54:20>>36
OOPやってた香具師ならアポのPDFと、その辺にあるネットの
説明ぐらいで充分。元々大した量じゃない
後はサンプルなんか感触つかめばエエ話
0052デフォルトの名無しさん
05/02/01 01:08:27CができてOOPが理解できてれば、すんなり入れて楽に使えるから、たしかに導入時のハードルは低いな。
0053デフォルトの名無しさん
05/02/01 04:46:39忠実に実現しているのが分かると思う。
第1版は絶版らしいので第2版を紹介
ttp://www.amazon.co.jp/exec/obidos/ASIN/4775303716/
今風にMacOSX向けの記述が追加されてるそうな。
0054デフォルトの名無しさん
05/02/01 11:45:580055デフォルトの名無しさん
05/02/01 13:21:41基本的にはできない。
Objective-C(っというかNSxxのCocoa[OpenStep]フレームワーク)は
WinのCOMやboostのスマートポインタみたいに参照カウンタ方式。
NSでautorelease poolとかを使えばある程度の管理はしてくれ
るけど、Javaのようなもんじゃない
Objective-CのライブラリでGCもどきを誰かが作ってたきもする
が失念
>>53
史実っていうかSmalltalkに似せようとしたのがObjective-C
でそ?C++とコンセプトが違うから仕方ない
# あーテンプレート使いテー
0056デフォルトの名無しさん
05/02/01 16:05:53うーん。言語仕様(マニアックに突っ込まなきゃ)だけなら
Objective-C、C++、Java、C#、その他も覚える量は大して
変らんと思うよ。
実際ある程度の物を作るんだったら、フレームワーク覚えるのが
一番時間かかる(OOP関連除けば)んだから。。
0057デフォルトの名無しさん
05/02/01 17:06:340058デフォルトの名無しさん
05/02/01 17:09:000059デフォルトの名無しさん
05/02/01 17:43:13そうか?
C++の方が先だったので実際にC→Objective-Cをやった訳
ではないけど、覚え易さに強調(売りに)するほどの差は無い
とは思うがね。まぁどっちでも良いわさ。
C→Objective-Cも、C→C++も別に大変ってわけでも無いし
0060デフォルトの名無しさん
05/02/01 19:46:190061デフォルトの名無しさん
05/02/01 19:56:24アーー、どんな拡張っスか。
僕様チャン頭ワりーんで、わかんねーッ
アヒャww
0062デフォルトの名無しさん
05/02/01 20:01:28なーんかやな感じなんだよなあC++
0063デフォルトの名無しさん
05/02/01 20:14:59俺はそこが好きなんだよね……
0064デフォルトの名無しさん
05/02/01 20:18:130065デフォルトの名無しさん
05/02/01 20:30:010066デフォルトの名無しさん
05/02/02 04:11:21どうするのかとか聞くスレかと思いきや。
Objective-Cとは何か? って
もはや新しく言語が出来てどういう言語なのか話しているのと同じレベルだな。
昔からある言語なのに使われていないと言うことが良くわかった。
0067デフォルトの名無しさん
05/02/02 04:27:38そういえばObjective-C++なんてあったようななかったような。
0068デフォルトの名無しさん
05/02/02 04:46:35【雑談】Objective-C【禁止】
0069デフォルトの名無しさん
05/02/02 07:53:010070デフォルトの名無しさん
05/02/02 14:08:06http://pc7.2ch.net/test/read.cgi/mac/1091927026/
0071デフォルトの名無しさん
05/02/02 14:53:09http://202.228.189.75/
0072デフォルトの名無しさん
05/02/02 14:53:59怪しいから踏みたくないなぁ…
0073デフォルトの名無しさん
05/02/02 15:32:44http://homepage.mac.com/mkino2/spec/objectiveC++/objectiveC++.html
0074デフォルトの名無しさん
05/02/02 17:15:00>>71 は森永製菓だから大丈夫
0075デフォルトの名無しさん
05/02/02 17:35:55Objective-C プログラミング言語
http://developer.apple.com/ja/documentation/cocoa/Conceptual/ObjectiveC/index.html
0076デフォルトの名無しさん
05/02/02 19:01:15Objective-C と C++ の Rhapsody っていうより
ただしっちゃかめっちゃかに見える
0077デフォルトの名無しさん
05/02/02 20:54:37{obj message]
でobj がnil でも落ちなかったよね?
0078デフォルトの名無しさん
05/02/02 22:35:560079デフォルトの名無しさん
05/02/03 00:43:380080デフォルトの名無しさん
05/02/03 00:45:030081デフォルトの名無しさん
05/02/03 02:12:37みんな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はメッセージを何でも受け付ける。
0082デフォルトの名無しさん
05/02/03 02:19:44できた。
ちょっと構文規則でも読んでくる。
0083デフォルトの名無しさん
05/02/03 11:01:50ともかくとして、疲れたから寝る。おやすみ。
0084デフォルトの名無しさん
05/02/03 15:52:310085デフォルトの名無しさん
05/02/03 15:53:49ObjCは未知のサブクラスのインスタンスを呼び出せる。
0086デフォルトの名無しさん
05/02/03 16:20:02今でも nib っていうのがあるけど
0087デフォルトの名無しさん
05/02/03 17:02:12No More カーボン!
0088デフォルトの名無しさん
05/02/03 20:57:05nilで死ぬことないから、逆にチェックを厳密にやらないと
分かりづらいバグが出るだろうね。
しかし当たり前の話だけどnilはOKなのに
releaseしたゴミポインタにメッセージを
送ると普通にSEGVで死ぬのがムカつく(w
[obj release]
obj=nil;
これで安全。
0089デフォルトの名無しさん
05/02/03 21:00:20autorelease pool つかうとどこが悪くて落ちるかわかんなくて
結構デバッグ大変じゃない?
0090デフォルトの名無しさん
05/02/03 21:13:26なんか前半と後半で矛盾したことを言ってるぞ。
>releaseしたゴミポインタにメッセージを
>送ると普通にSEGVで死ぬのがムカつく(w
ここで死んでもらわんとわかりづらいバグになるだろうがw
0091デフォルトの名無しさん
05/02/04 01:10:22え、QTKitってCocoaでバリバリQuickTimeいじれるようになるんじゃないの、、、
NSMovieViewって基本的なことしか今はできないですよね?
いろいろやろうとすると結局Carbonっていうのがなぁ、、、
QTKitでCarbonと同じようにCocoaからQTがいじれるのかなーと思ってます。
0092デフォルトの名無しさん
05/02/05 16:25:45nibってInterface Builderの、だよね。
変更したインスタンスは保存できんよ。
0093デフォルトの名無しさん
05/02/06 17:04:210094デフォルトの名無しさん
05/02/06 18:16:20Appleの=gcc な訳だがw
0095デフォルトの名無しさん
05/02/06 20:47:270096デフォルトの名無しさん
05/02/07 03:19:480097デフォルトの名無しさん
05/02/07 11:29:15開発はめちゃくちゃ楽やね。もちろん最初は情報がなかなか捜せなくて、数行
で書けることをWebで見つけ出すのに数時間なんてことやってたけど。Winに
もGNUStep入れてみようかと思ってる。
0098デフォルトの名無しさん
05/02/11 19:12:150099デフォルトの名無しさん
05/02/12 21:14:32思うのだが、なぜか人気がない。why?
0100デフォルトの名無しさん
05/02/12 21:24:13ところでWindowsで使えるんか?
Cocoaが無いと意味ないか。
0101デフォルトの名無しさん
05/02/12 21:56:30■ このスレッドは過去ログ倉庫に格納されています