07/05/05 19:08:06
>>909
まじで、最近は一部C言語に回帰しているね。
プレゼンテーションはJavaとC#に収束。
Web系以外のサーバーサイドは、C言語がいい場合がある。
911:デフォルトの名無しさん
07/05/05 20:05:24
Objective-C.NET
912:デフォルトの名無しさん
07/05/05 23:41:59
言語仕様はObjective-CよりもC++のほうが優れている。
多機能という意味では。
しかしC++プログラマーの大半はC++を使いこなせていない。
大抵はベターCとして使っている。
だからほとんどのプログラマーにとってObjective-Cの機能は十分なんだ。
BorlandのVCL並のRADツールを備えたWindowsで使える統合開発環境さえあれば
Objective-Cは即座にC++を駆逐するだろう。
C++が普及したのはひとえにVisualC++の存在が大きい。
913:デフォルトの名無しさん
07/05/06 00:16:26
>>912
まあ、C++はC and ++だからな。
C++をフルに使いこなすには、C標準ライブラリ使用禁止、非クラス関数禁止でもしないと
追加機能付きCとして使ってしまう。
914:デフォルトの名無しさん
07/05/06 02:43:54
ObjC は C++ に比べて動的型決定なのも受け入れられない理由の一つかと
915:デフォルトの名無しさん
07/05/06 07:50:01
しかし動的型決定のないObjCなんて・・・
916:デフォルトの名無しさん
07/05/06 17:52:53
>>912
>BorlandのVCL並のRADツールを備えたWindowsで使える統合開発環境さえあれば
Mac OS XならXCodeとInterfaceBuilderがある。
ただObjective-CやれるのAppleぐらいだしWindowsへの進出はなさそうだな。
917:デフォルトの名無しさん
07/05/06 21:10:57
InterfaceBuilderのIntel版はあったんだけどね
918:デフォルトの名無しさん
07/05/06 22:29:25
そりゃ、MacOSXはIntel上で動きますから。
と釣られてみるテスト。
919:・∀・)っ-○◎●
07/05/07 00:05:15
NeXT OSのIntel版じゃないの
いや、Windows進出の野望はあったにはあったみたいだよ。
YellowBoxってのが。
ポシャったけど。
APIとしてのQuickTime for Windowsを提供する予定は
無いようだしな。
920:デフォルトの名無しさん
07/05/07 01:47:52
こんなん?
QuickTime 7.1 SDK for Windows (ZIP)
URLリンク(developer.apple.com)
921:・∀・)っ-○◎●
07/05/07 02:03:32
どっちかというとそれプレイヤーのプラグイン書くためのSDKのような
MacのQuicktime APIって、WindowsでいえばDirectXみたいな
もんじゃなかったっけ。
922:デフォルトの名無しさん
07/05/07 06:03:08
WinAPIってこの先どうなるのかね?
それがわからんとWin対応のObjective-Cなんておいそれと作れたもんじゃない。
Obejective-CってのはC言語にオブジェクト指向とかGCとかをマクロ機能を使って搭載したやつだ。
だから言語そのものに機能を組み込んでいるC++とは違うんだな。
ただあれだよね。
常に機能を追加するという発想。
そこはC++と同じ。
JAVAやC#みたいに機能に制限を加えるという発想はない。
Objective-Cを普及させるならば案外その辺がポイントなのかもしれんと思った。
923:デフォルトの名無しさん
07/05/07 07:05:08
という話は15年くらい前から何も変わってない訳で
924:デフォルトの名無しさん
07/05/07 13:51:05
マクロ機能というのは言い過ぎでは...
まあ runtime の上の syntactic sugar であるのは事実だけども。
925:デフォルトの名無しさん
07/05/08 00:35:53
もともと C の思想はプログラマを信じる事だから、C の延長上に機能制限なんてものは無い。
間違いのように見えても、プログラマ様がお書きになられたコードは絶対なのです。
926:デフォルトの名無しさん
07/05/08 01:19:43
まあマシン語も埋め込める最強の言語だし、なんでもできる。
OSを作るための言語だけの事はある。
927:デフォルトの名無しさん
07/05/08 06:52:22
安全性と柔軟性は両立しないと。
928:デフォルトの名無しさん
07/05/09 00:50:53
女は両方好む
929:デフォルトの名無しさん
07/05/09 22:09:08
ちょっと入り組んだ書き方するとLispも真っ青な括弧の入り組み方になるなぁ
カスケード記法があればいいのに
Lispと違ってうまくインデントスタイルが組めないから読みにくい
930:デフォルトの名無しさん
07/05/09 22:30:27
Lispほどネストする必然がないと思うのだが…
931:デフォルトの名無しさん
07/05/09 22:36:27
カスケードくらい追加できる気がするけど、何か文法的に問題があるのかな
932:デフォルトの名無しさん
07/05/14 11:33:35
Objective-Cのオブジェクトシステムの部分はSmalltalkの影響を受けているわけで、
そのSmalltalkはLispの影響を受けているので、括弧が多くなるのはそういう理由からでしょう。
933:デフォルトの名無しさん
07/05/14 12:01:36
ふーん
934:デフォルトの名無しさん
07/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:デフォルトの名無しさん
07/05/14 14:19:56
ま~たそんなマジレスしちゃって。
936:デフォルトの名無しさん
07/05/14 14:53:23
>>934 がマジレスしてくれなかったら俺がマジレスする所だったわ
危ない危ない…
937:デフォルトの名無しさん
07/05/14 16:53:09
>>934
> ブロック(クロージャ)すら使えな
使える処理系もあるけどね。
938:デフォルトの名無しさん
07/05/14 19:43:36
poc poc チーン
939:デフォルトの名無しさん
07/05/14 21:09:12
説明していただきありがとうございました。
おかげでOjective-Cの勉強を諦めることが出来ました。
感謝します。
940:デフォルトの名無しさん
07/05/14 21:24:24
まだ ObjC にクロージャ入らないんだっけ?
941:デフォルトの名無しさん
07/05/15 00:01:30
クロージャを入れるのは一苦労じゃけん
942:デフォルトの名無しさん
07/05/15 00:05:46
ふーん
943:デフォルトの名無しさん
07/05/15 00:29:33
そこでRubyですよ
944:デフォルトの名無しさん
07/05/15 00:52:11
Objective-Cやっている人はそれがC++よりも優れていると思う?
それともMacについてきたからやっているの?
945:デフォルトの名無しさん
07/05/15 00:59:06
優れているところもあるし劣っているところもある
ちなみにMacOSXについてるのは
Objective-C じゃなくて Objective-C++ だから
946:デフォルトの名無しさん
07/05/15 02:34:24
> ちなみにMacOSXについてるのは
> Objective-C じゃなくて Objective-C++ だから
ちがいます
947:デフォルトの名無しさん
07/05/15 16:14:25
>>944
C++より先にObjCを学んだからC++使ってると違和感を感じることがある。
多分C++が先な人は逆なんだろうけど。
948:デフォルトの名無しさん
07/05/16 19:40:39
俺はどうもC++の変数の型の縛りが苦手だなあ。
virtualとか、何種類もあるキャストとか...
そんなわけで最近はruby。Cocoaも呼べるし。
949:デフォルトの名無しさん
07/05/16 22:01:25
使いやすいのでいいんじゃない
950:デフォルトの名無しさん
07/07/01 21:02:32
ほしゅ
951:デフォルトの名無しさん
07/07/19 04:34:52
URLリンク(ja.doukaku.org)
952:デフォルトの名無しさん
07/07/19 09:40:00
>>947
先にC++だったけどC++使ってると違和感を感じる
やっぱりObjective-Cの方がいいよ
953:デフォルトの名無しさん
07/07/19 09:50:28
>先にC++だったけどC++使ってると違和感を感じる
これって、MFCじゃね?
MFCとCocoaを比較したらCocoaがマシかもしれない。
でもMFCのトンデモ設計とちょーサイアクGUIビルダーよりましといった事に意味は無い。
954:デフォルトの名無しさん
07/07/19 22:22:06
何で C++ == MFC だと思ったのかな?
955:デフォルトの名無しさん
07/07/20 02:14:36
かな?
956:デフォルトの名無しさん
07/07/20 08:50:11
だって、C++Builderなんて使ったらCocoaの変にIDEにコントロールされて
逆にMVCを開発者側が制御できない変なもの使ってられないよ。
MVCを変に制御して困るものでC++といえばMFC。
957:デフォルトの名無しさん
07/07/20 09:52:47
どっからMVCなんて出てきたんだか。
958:デフォルトの名無しさん
07/07/20 10:20:20
URLリンク(developer.apple.com)
959:デフォルトの名無しさん
07/07/27 20:00:51
日本語でok って言うトコロなんだと思う
960:デフォルトの名無しさん
07/08/06 11:22:30
プロトコルと抽象クラスってどういう風に使い分ければ良いのよ
961:デフォルトの名無しさん
07/08/06 12:07:29
Objective-C 2.0 には抽象クラスがあるの?
962:デフォルトの名無しさん
07/08/06 12:32:23
いや、言語仕様にはないけどさ…
963:デフォルトの名無しさん
07/08/07 10:38:33
どっちも使わない。ふつうは informal protocol というか単にセレクタの名前を取り決めておくだけ
964:デフォルトの名無しさん
07/08/07 11:05:51
もうObjective-C廃止にしない?
Mac OS XとC++でポトペタ開発しようよ。
965:デフォルトの名無しさん
07/08/07 11:14:55
C++なんてクソ言語使ってられるかっつーの
966:デフォルトの名無しさん
07/08/07 12:01:59
というか Interface Builder はポトペタの元祖なのでは?まあ癖はあるような気がするけど。バインディング可なパレットきちんと作っておくと殆ど IB だけで出来るべ
967:デフォルトの名無しさん
07/08/07 12:07:23
出来るってだけで、GUIの凝ったコントロールを作る事が不可能だお。
968:デフォルトの名無しさん
07/08/07 12:49:00
ポトペタってなんですか><
インターフェースビルダーよりどこが凄いのか押しえて下さい!!!!
969:デフォルトの名無しさん
07/08/07 13:03:28
コンポーネントを派生して、差分コーディングで処理を足して、画面に"ポトペタ"貼る事でつよ。
他人のハイパーなコンポーネント使ったり、ネットに派生コンポーネントが溢れたりするお。
970:デフォルトの名無しさん
07/08/07 13:16:29
それはまさに IB でパレットから D&D して、カスタムクラスを設定することだとおもうんだけど、どっか違うの?
Apple が提供してる以外の新規パレット自体をつくることもできるよ。
URLリンク(www.bignerdranch.com)
確かにネット上にカスタムパレットが溢れてはいないが ...
971:デフォルトの名無しさん
07/08/07 13:26:51
派生前クラスのソースコードって公開されてる?
やっぱ、クラス派生する場合にはそれが無いとスゲー足かせだお。
972:デフォルトの名無しさん
07/08/07 14:07:21
というか、Cocoa のプログラミングは
1) view はパレットから D&D してカスタムクラス
2) controller も最近はバインディング用のをパレットから D&D
3) model は手で書いても良いし、CoreData でも良い
だとおもうんだけど。
Apple 提供のパレットはソースコードは流石にないよ。でもドキュメントは(英語なら)完備してる。まあ GNUStep が 8割方再実装してるから読みたけりゃよめばいいけど。
ネットにころがってるのは、そもそも数が少ないけども、ころがってるやつはソースも配ってると思うよ
あと、Objective-C はカスタムクラスが面倒だったら、元クラスのソースコードもってなくても元クラスにメソッドを追加できるよ。これは非常に便利。
973:デフォルトの名無しさん
07/08/07 14:12:17
>1) view はパレットから D&D してカスタムクラス
やっぱ、そうだよね。
プロジェクトと強く結びついたカスタムクラスであって、
クラスライブラリのベースクラスが派生したハイパークラスで溢れる、
というイメージじゃないだよね。
974:デフォルトの名無しさん
07/08/07 14:21:49
別にプロジェクトと強く結びついてんくても良いんだけど。
975:デフォルトの名無しさん
07/08/07 14:25:37
まあハイパークラスなんて配られてないからね。
Apple 謹製の NSTextView, WebView は充分 Hyper な気がするけど。
あと、Cocoa ではクラス派生をする前に大抵の処理は delegate で済む気もする。
(コントローラが標準 view の機能を拡張できるみたいなかんじ)
ポトペタでハイパーなコンポーネントののってるページの例をなんか URL おしえてください
976:デフォルトの名無しさん
07/08/07 14:33:25
URLリンク(hp.vector.co.jp)
URLリンク(norg1964.hp.infoseek.co.jp)
977:デフォルトの名無しさん
07/08/08 00:43:11
o ひとつめの URL にあがってるような機能は Cocoa /Carbon API にある気がする
o ふたつめのにはいっぱいカスタム GUI コントロールがのってるけど、
あんまり Apple はカスタムコントロールをつくるのは推奨してない気がするし、
そういうことすると OS X ぽくないソフトになりがちで嫌われがちだと思われる
978:デフォルトの名無しさん
07/08/08 00:45:43
URLリンク(shiira.jp)
こういうカッコいいコントロールもあるよ。まあ Apple がまだ公開してない API を再実装した奴だけど、Interface Builder でふつうに配置してクラスの名前をこれにかえるだけで使える
979:デフォルトの名無しさん
07/08/08 01:38:51
MacのプロアプリのようなUIにしたければカスタムするしかないよね。
スライダーとか機能的にも不十分だしIBにあるパーツだけじゃ足りなくなってきたからパーツの作り方勉強しなきゃ。
980:・∀・)っ-○◎●
07/08/08 02:12:08
リストボックスをオーナーデータ化するにはどーすりゃいいんだ?
981:デフォルトの名無しさん
07/08/08 08:48:20
>あんまり Apple はカスタムコントロールをつくるのは推奨してない気がするし、
これが今の時代の開発ではネック。
>そういうことすると OS X ぽくないソフトになりがちで嫌われがちだと思われる
だからコントロールを派生して元々OS Xの描画の上に描画を足したり処理を足したりするわけじゃん。
982:デフォルトの名無しさん
07/08/08 11:16:36
>>979
ProKitでなんとかなるかもしれないけど。
983:デフォルトの名無しさん
07/08/08 11:40:52
>>981
まあ確かに、機能豊富で、ちゃんと Cocoa の window にマッチするパレット集が一杯おちてたら便利だろうね。
もうちっとデヴェロッパ層が厚くならないとだめかな。
984:デフォルトの名無しさん
07/08/08 12:11:56
ええと、そろそろCocoaスレに行ってくれません?
985:デフォルトの名無しさん
07/08/08 12:20:11
>>978
この黒パネルはLeopardのIBで実装されてる。
986:デフォルトの名無しさん
07/08/08 12:25:15
次スレ
スレリンク(tech板)
987:デフォルトの名無しさん
07/08/08 12:29:14
>>984
Cocoa の話が駄目とすると GNUStep も駄目?
988:デフォルトの名無しさん
07/08/08 12:37:22
漢は黙って objc/Object.h をインポート
989:デフォルトの名無しさん
07/08/08 13:39:09
>987
AppleがCocoaで新たに組み込んだ関係がうぜ~って事じゃね?
IBの話すんならGORMの話しろや!ってきっといいたいに違いないと思ってるのだが(w
あ,クラスライブラリはどうでもいい言語そのものの話をしたいって人だったのかも>984
990:デフォルトの名無しさん
07/08/08 14:22:59
OOP言語ならクラスライブラリと切り離して話できんわ。
991:デフォルトの名無しさん
07/08/08 15:24:09
そこでObjective-C標準クラスであるObjectを…
992:デフォルトの名無しさん
07/08/08 18:27:56
Object.hと同じディレクトリにList.hってのもあるんだけど、
ListもObjective-Cの標準クラス?
993:デフォルトの名無しさん
07/08/08 22:29:02
純粋に Objective-C の話ってなかなか難しいのでは ...
Apple の独自拡張も多いし。
Object と NSObject がどっちが「標準」かというと、
一社/一グループの実装だけじゃなくて、
標準を定めた文書が別個に存在するかという意味では
Openstep のほうが「標準化」されているのではないかと思わなくもない
GCC もせめて GNUStep の non-GUI 部分を一緒に配布してくれればいいのに。
994:デフォルトの名無しさん
07/08/08 22:38:23
基本Java厨で、現在C++で食っていきながら、
Rubyが一番好きかも知れないという俺ですが、
Objective-Cに興味を持っています。
他のOOPLとくらべてどうでしょうか。
メリットとかデメリットとか。
995:デフォルトの名無しさん
07/08/08 22:44:25
実際に運用する上で言語使用だけを他の OOPL とくらべるのは難しい...
Cocoa つかうぶんには非常に便利ですよ。
RubyCocoa も Leopard から標準になるので Ruby が
いいならそれでいいけれども、API の仕組みはかなり Objective-C に影響されているので、
RubyCocoa を使うための基礎として Obj-C を学ぶのは悪くないと思う
GNUStep はちゃんとつかったことがないのですいません
C++ を知っているひとのための、C++ と Obj-C の文法の比較は
URLリンク(ktd.club.fr)
が簡単にまとまってる。英語だけど。
996:デフォルトの名無しさん
07/08/08 22:49:00
>>994
CとJavaが使えるなら30分で覚えられるからとりあえず使ってみれ
997:デフォルトの名無しさん
07/08/08 22:51:58
ご丁寧にどうもありがとうございます!!
Cocoa使ってウハウハにも興味はあるんです。
Win32でどうのこうのに飽きちゃってですね。
言語としても興味津々なんでリンク先熟読します。
998:デフォルトの名無しさん
07/08/08 22:52:59
>>996 やってみます!
で、998ゲットォ!!
999:デフォルトの名無しさん
07/08/08 22:55:59
そういう興味のある人なら Apple のこのあたり
Objective-C Language
URLリンク(developer.apple.com)
Cocoa Fundamentals Guide
URLリンク(developer.apple.com)
が面白いかも。あと他にもいっぱいあるよ:
URLリンク(developer.apple.com)
いや、GNUStep にリンクはらんで済まんね ...
1000:デフォルトの名無しさん
07/08/08 23:03:19
次スレ立てました
Objective-C Part3
スレリンク(tech板)
次スレでもみんなよろしく~
1001:1001
Over 1000 Thread
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。