- 1 名前:デフォルトの名無しさん mailto:sage [2014/11/01(土) 13:35:17.70 ID:12FSUUrY.net]
- Objective-C(オブジェクティブ シー)はプログラミング言語の一種。C言語をベースにSmalltalk型のオブジェクト指向機能を持たせた上位互換言語。
(Wikipedia:ja.wikipedia.org/wiki/Objective-C より) 前スレ Objective-C [ObjC part:8]; peace.2ch.net/test/read.cgi/tech/1356341803/ Objective-C [ObjC part:7]; toro.2ch.net/test/read.cgi/tech/1330330906/ Objective-C [ObjC part:6]; toro.2ch.net/test/read.cgi/tech/1313891268/ Objective-C [ObjC part:5]; hibari.2ch.net/test/read.cgi/tech/1279730299/ Objective-C [ObjC part:4]; pc12.2ch.net/test/read.cgi/tech/1239721860/ Objective-C [ObjC part:3]; ttp://pc12.2ch.net/test/read.cgi/tech/1186543111/ Objective-C ttp://pc11.2ch.net/test/read.cgi/tech/1106983092/ Objective-C ttp://pc5.2ch.net/tech/kako/990/990574267.html
- 656 名前:デフォルトの名無しさん mailto:sage [2017/08/05(土) 20:03:05.50 ID:AGcDSNVp.net]
- Objective-Cが当初敬遠されたのはObjective部分のsyntaxというよりはメモリ管理だと思ったが
まあそれに追い打ちをかけるようにallocとinitの組み合わせが普通に頻出したもんだから変態的だと思う人が多かったのだろう さらにオブジェクト変数がポインタともなればなおさらだろうな Object *obj = [[Object alloc] initWithParam: a];
- 657 名前:デフォルトの名無しさん mailto:sage [2017/08/05(土) 20:28:36.38 ID:GxOZ02Sj.net]
- 俺は別に、Obj-Cは実引数の順番が変わるぐらいで変態だとは思わんね
ラベルは有った方がいいし、第一引数は省略可とすべきだし 今風のシンタックスにするとあら不思議Swiftみたいだね
- 658 名前:デフォルトの名無しさん mailto:sage [2017/08/05(土) 20:34:58.96 ID:AGcDSNVp.net]
- >>644
だったらこんなところにいないで、あなたがイメージした理想syntaxと近いSwift使えばいいじゃん...
- 659 名前:デフォルトの名無しさん mailto:sage [2017/08/05(土) 20:45:40.97 ID:NrXpiBRr.net]
- 何かおもしろいやつがいるな
>>644を意訳すると Swift使ったこともないから全然知らないんだけど、普通に自分で今風の文法みたいの考えてみたら謀らずともSwiftになっちゃった 俺でも思い浮かぶほどSwiftって自然な文法だっんだ!Swift最高じゃん! でおk?
- 660 名前:デフォルトの名無しさん mailto:sage [2017/08/05(土) 20:50:17.10 ID:GxOZ02Sj.net]
- >>645,645
いや俺Swift嫌いなんだよw ポインタ扱いづらいだろ、よく知らんけど その割に仕様を減らすんじゃなくて増やしてるし
- 661 名前:デフォルトの名無しさん mailto:sage [2017/08/05(土) 20:53:47.23 ID:AGcDSNVp.net]
- >>646
www いや俺ももはやこの人が何を言いたいのかよくわかんなくなってきたのよ...
- 662 名前:デフォルトの名無しさん mailto:sage [2017/08/05(土) 20:56:12.81 ID:QC2awpIr.net]
- メモリ管理のalloc/freeやポインタ変数なんてそれこそCをやってたら気にならないでしょ...
>>642 本当に性能良くなるのは特定条件下でさほど影響が出るものじゃないよなw それでもまぁObjCがSwiftに劣っている点ではあるので、気が向いたら対応して欲しいものよ
- 663 名前:デフォルトの名無しさん mailto:sage [2017/08/05(土) 20:59:57.92 ID:GxOZ02Sj.net]
- >>648
それはちょっと色眼鏡で見すぎだね アンチすぎるんじゃね?w 俺は使わないからどうでもいいし、Swiftはアンチになるほどの存在では無い
- 664 名前:デフォルトの名無しさん mailto:sage [2017/08/05(土) 21:00:23.43 ID:AGcDSNVp.net]
- >>649
いやそのはずなんだけど、結局Objective-Cをディスってる人がけっこういるのは、純粋なCをちゃんと使ってた人が殊PCアプリプログラマにおいては少なかったってことなのかね?
- 665 名前:デフォルトの名無しさん mailto:sage [2017/08/05(土) 21:05:32.04 ID:GxOZ02Sj.net]
- >>649
コンパイル時に静的に解決したいメソッド呼び出しには、たぶんレシーバにnonnull必須になるのかな それがSwiftにnonnullが必要だった理由かも Obj-Cで高速化が必要な場合は、Cで書いちゃえばいいのでいらんと思うけどね
- 666 名前:デフォルトの名無しさん mailto:sage [2017/08/05(土) 21:09:23.61 ID:NrXpiBRr.net]
- とりあえずSwift使ったことないとか言ってるわりにわりと細かいSwiftネタ挟んできてて草
- 667 名前:デフォルトの名無しさん mailto:sage [2017/08/05(土) 21:10:26.33 ID:GxOZ02Sj.net]
- >>653
気にしすぎだってw
- 668 名前:デフォルトの名無しさん mailto:sage [2017/08/05(土) 21:15:06.89 ID:NrXpiBRr.net]
- >>654
いや誰がみてもSwiftの最新情報を調べてるレベルだろ 使ったことないのに嫌いとかいっちゃうほどバカじゃないだろうし 隠す理由が謎
- 669 名前:デフォルトの名無しさん mailto:sage [2017/08/05(土) 21:19:04.08 ID:GxOZ02Sj.net]
- >>655
全然調べてないよw 自分でもたまに心配になるくらいに 俺俺言語とした例は、開発中のインタープリタの構文なのさ JS, C#, Swiftあたりを参考にしてるから似てるんだよ
- 670 名前:デフォルトの名無しさん mailto:sage [2017/08/05(土) 21:21:37.41 ID:NrXpiBRr.net]
- >>656
嘘に嘘の上塗りをしてるようで芝居臭いが、まあじゃあ嫌いなSwiftみたくならないようせいぜい参考にしていい言語作ってくれ
- 671 名前:デフォルトの名無しさん mailto:sage [2017/08/05(土) 21:23:19.82 ID:GxOZ02Sj.net]
- >>657
大嘘ってことにしといてくれww
- 672 名前:デフォルトの名無しさん mailto:sage [2017/08/05(土) 21:26:46.26 ID:NrXpiBRr.net]
- >>658
わかったよ、嘘つき
- 673 名前:デフォルトの名無しさん mailto:sage [2017/08/05(土) 21:40:23.31 ID:AGcDSNVp.net]
- (^_^;
- 674 名前:デフォルトの名無しさん mailto:sage [2017/08/05(土) 21:53:47.03 ID:QC2awpIr.net]
- >>651
いやだから、メモリ管理は問題じゃなくて、文法が変態的だからディスられてるんじゃないの [ ]とか、@とか、冗長な命名規則とか、純粋なCをちゃんと使ってた人ほど辛いわ CのコードはObjC上にコピペで動くけど、ObjCのコードはC上にコピペでは全然動かないよね それくらいにCとObjCは別物になってて、他に類を見ない独自文化を作り上げてるから取り回しの悪い言語だとディスられる
- 675 名前:デフォルトの名無しさん mailto:sage [2017/08/05(土) 22:03:06.65 ID:AGcDSNVp.net]
- >>661
事実上Objective-Cの文法で書くところはCocoaフレームワークを使う部分だからそれをCで書きたいケースはないと思うけど よりprimitiveな処理をする部分について資産流用したくてCソースをインポートしたいことはあると思うけど 自分はこれくらい明確に違う方がCとCocoa部分がはっきりわかっていいと思ったけどな 命名規則はObjective-CというよりCocoaの約束かと @やコンパイラディレクティブを多用してるのはObjective-Cが純粋なCのスーパーセットであるという仕様上仕方ないと思うけど確かに正直変態的だと自分も感じたのは事実だが...
- 676 名前:デフォルトの名無しさん mailto:sage [2017/08/05(土) 22:08:18.49 ID:AGcDSNVp.net]
- まあかく言うおれも最初Objective-Cのソースに触れた時は[ ]とかいうわけわからん記法でメソッド呼び出ししてるかと思えばNSLog(@"hoge¥d", n);とかも同じソースに書かれてたりして、はぁ?どっちだよとは思ったけどなw
- 677 名前:デフォルトの名無しさん mailto:sage [2017/08/05(土) 22:09:17.65 ID:AGcDSNVp.net]
- ああ、%d...
- 678 名前:デフォルトの名無しさん mailto:sage [2017/08/05(土) 22:25:34.05 ID:ydBhceAI.net]
- Objevtive-Cが変態的と言われるのは、まあ、しょうがないが、すぐに慣れることだな。_がどうとかもどうでもいい細かいことにこだわるなあw
- 679 名前:デフォルトの名無しさん mailto:sage [2017/08/05(土) 22:29:47.63 ID:
]
- [ここ壊れてます]
- 680 名前:ggnuHEiJ.net mailto: NSObjectってC側から見ると構造体にすぎないから
cから触ることが可能って聞いたけど本当? [] - [ここ壊れてます]
- 681 名前:デフォルトの名無しさん mailto:sage [2017/08/05(土) 22:33:45.97 ID:ydBhceAI.net]
- >>661
>CのコードはObjC上にコピペで動くけど、ObjCのコードはC上にコピペでは全然動かないよね こんなアホ(失礼)なこと言ってるんじゃ、その下や上の「純粋なC」どうとか言える立場になさげ/知識がほとんどなさげにしか見えない
- 682 名前:デフォルトの名無しさん mailto:sage [2017/08/05(土) 22:37:31.68 ID:GxOZ02Sj.net]
- >>666
@def使えばコンパイル時に構造体と見なしてメンバーフィールドを直接触れたはずだが、 非推奨なんで使用禁止になったかもw わからん 不透過型構造体のポインタだから普通には無理 ややこしいことをすればできたと思うが、普通はやらない
- 683 名前:デフォルトの名無しさん mailto:sage [2017/08/05(土) 23:01:09.52 ID:GxOZ02Sj.net]
- ああメンバーじゃなくオブジェクト自体のポインタのことなら触れるよ
そもそもObj-Cがポインタ渡しだし
- 684 名前:デフォルトの名無しさん mailto:sage [2017/08/05(土) 23:10:37.16 ID:slWszTbQ.net]
- 急に盛り上がってる
- 685 名前:デフォルトの名無しさん mailto:sage [2017/08/06(日) 02:17:31.34 ID:5hrgPajG.net]
- とりあえずここまでをまとめるとObjective-Cは変態的だけど柔軟性は半端ないでいい?
- 686 名前:デフォルトの名無しさん mailto:sage [2017/08/06(日) 02:40:44.78 ID:EhIWQ3kd.net]
- 「おれけっこう柔道やってたからさーグレイシー柔術が変態にしか見えないのよねー」
(…そもそも違うものやんwwwなにが言いたいんやこのオッサンw) だいたいこんな。
- 687 名前:デフォルトの名無しさん [2017/08/06(日) 08:16:47.23 ID:A+R4LQxw.net]
- >>647
それ判る。 C言語の関数と一緒にSwiftを使うのは大変。 構造体へのポインタを引数に取るC言語の関数を、Swiftで呼び出すの、 どうすんだ? UnsafeRawPointer<XXX>とか使うんだろうけど。
- 688 名前:デフォルトの名無しさん mailto:sage [2017/08/06(日) 08:18:51.28 ID:5hrgPajG.net]
- >>673
SwiftとCを一緒に使うくらいならObjective-Cでいいよね
- 689 名前:デフォルトの名無しさん mailto:sage [2017/08/06(日) 08:22:40.12 ID:5hrgPajG.net]
- >>672
すまん、よくわからんw
- 690 名前:デフォルトの名無しさん mailto:sage [2017/08/06(日) 10:45:42.87 ID:/dqOVGNE.net]
- ポインタがないSwiftだとCの関数呼ぶ時そこそこ面倒なんだな
- 691 名前:デフォルトの名無しさん mailto:sage [2017/08/06(日) 13:23:04.82 ID:h75sRnvC.net]
- >>671
クラスとクロージャが使えるメモリ管理不要のC言語(C++も使えるよ)
- 692 名前:デフォルトの名無しさん mailto:sage [2017/08/06(日) 13:31:20.41 ID:h75sRnvC.net]
- ああ根本の動的ディスパッチが抜けてたな
- 693 名前:デフォルトの名無しさん mailto:sage [2017/08/06(日) 15:30:44.79 ID:5hrgPajG.net]
- >>677
>>678 なるほど 結局オブジェクト思考なC言語なんだよってところはその通りだよな
- 694 名前:デフォルトの名無しさん mailto:sage [2017/08/06(日) 15:51:16.15 ID:6obaa7Zo.net]
- objcの一番のやばい所は実行中にコードの変更が出来ちゃう事だろ
そのせいでAppleもカーネル関係ではobjc使えなくてc++使ってんだから
- 695 名前:デフォルトの名無しさん mailto:sage [2017/08/06(日) 16:03:11.05 ID:5hrgPajG.net]
- >>680
Could you tell me the details?
- 696 名前:デフォルトの名無しさん mailto:sage [2017/08/06(日) 16:21:29.43 ID:h75sRnvC.net]
- 実行中に変更可能なユーザーインターフェースをプログラマが作ればね
そりゃ根本が動的ディスパッチだからどうにでもなる >>681 クラスもセレクタもユーザー入力で改変可能に作れる
- 697 名前:デフォルトの名無しさん mailto:sage [2017/08/06(日) 16:27:58.98 ID:5hrgPajG.net]
- >>682
まじか 柔軟性はんぱねぇな でもそれは当然ソースコード上でってことでしょ? 脆弱性とは違うと思うけど
- 698 名前:デフォルトの名無しさん mailto:sage [2017/08/06(日) 16:32:36.09 ID:ZQYigHRc.net]
- プラグインでメソッド交換出来るのを知らんのか。
- 699 名前:デフォルトの名無しさん mailto:sage [2017/08/06(日) 16:47:40.53 ID:5hrgPajG.net]
- すまん知らん(爆
でもそれはあくまでそう作ればでしょ? 逆に他の言語だとできないの?
- 700 名前:デフォルトの名無しさん mailto:sage [2017/08/06(日) 16:59:14.99 ID:h75sRnvC.net]
- >>685
要は、クラス/セレクタは、文字列から取れる/生成できるから、 それを利用した悪意あるコードを書けるし、プログラマが意識せずそうなってる事もありうる
- 701 名前:デフォルトの名無しさん mailto:sage [2017/08/06(日) 17:15:30.25 ID:ZQYigHRc.net]
- >>685
作れば、じゃなくてObjC のメソッド呼出しは最初からそうなってる。 古い情報だがここら辺読めば分かる news.mynavi.jp/column/objc/043/ がお前は何も分かってないみたいだから読んでも無理か。
- 702 名前:デフォルトの名無しさん mailto:sage [2017/08/06(日) 17:28:11.19 ID:uZylSw7t.net]
- >>667
お前、ObjC使ってるのに[や]を使わないのかよwww面白いなwww
- 703 名前:デフォルトの名無しさん mailto:sage [2017/08/06(日) 17:37:29.52 ID:uZylSw7t.net]
- >>677
C++が全く同じこと出来てるんだよねぇ 常に動的ディスパッチという点は実現してないけども まぁC++の機能をモダン()に文法ラップした言語がObjCだから当然なんだよな 変態文法でC使ってると取っ掛かりは辛いけど、まぁ慣れれば使えなくはない言語よ
- 704 名前:デフォルトの名無しさん mailto:sage [2017/08/06(日) 17:57:03.87 ID:5hrgPajG.net]
- >>686
結局セレクタ(=文字列)としてマシン語に組み込まれちゃうからハッキングされるってこと? >>687 ありがと でも一言多いんだよなぁ。。
- 705 名前:デフォルトの名無しさん mailto:sage [2017/08/06(日) 18:06:37.63 ID:h75sRnvC.net]
- >>690
その辺は悪意を持って追求した事無いけど、やり方は色々あるだろうね
- 706 名前:デフォルトの名無しさん mailto:sage [2017/08/06(日) 18:08:19.22 ID:5hrgPajG.net]
- >>689
Objective-CとC++でほぼ同時期に独立して開発されたんじゃなかったっけ
- 707 名前:デフォルトの名無しさん mailto:sage [2017/08/06(日) 18:09:36.01 ID:5hrgPajG.net]
- >>691
仮にセレクタ文字列がそのまま一意にマシン語にコーディングされてるとなると、なんかJavaのバイトコードみたいで微妙だなぁ
- 708 名前:デフォルトの名無しさん mailto:sage [2017/08/06(日) 18:35:06.60 ID:0XdHuxlK.net]
- >>688
イミフすぎ 何言ってるの?ぶりからは同一人物か?ww
- 709 名前:デフォルトの名無しさん mailto:sage [2017/08/06(日) 18:54:49.85 ID:0XdHuxlK.net]
- >>680
そのせいではなくて、単に速度やコードの重さからだろう。言っているのはIOKitのことか?カーネルの部分ではC++でさえなくCだし Objective-Cのその部分でナニかあったというのは聞いたことは無いなあ。なぜかw フックするのは簡単だが、フックするコードが活性化するのは簡単じゃないし。まあまだ簡単ぽいのは閉じる生きづらい方向にはしているけど
- 710 名前:デフォルトの名無しさん mailto:sage [2017/08/06(日) 19:09:48.12 ID:5hrgPajG.net]
- >>695
すまん日本語で頼むわ
- 711 名前:デフォルトの名無しさん mailto:sage [2017/08/06(日) 19:34:46.57 ID:0XdHuxlK.net]
- >>696
ん?? まさか >フックするのは〜 の部分じゃねえだろうな?wてか、無理せずに読めないなら読まなくていいよ。あたなのレスにレスしてるわけでもなく
- 712 名前:デフォルトの名無しさん mailto:sage [2017/08/06(日) 19:36:00.87 ID:5hrgPajG.net]
- >>697
>まあまだ簡単ぽいのは閉じる生きづらい方向にはしているけど
- 713 名前:デフォルトの名無しさん mailto:sage [2017/08/06(日) 19:47:33.45 ID:0XdHuxlK.net]
- >>698
ああ 前のはIM plugin(だったけ)で簡単に、それが閉じられてScriptプラグインでとか。それもrootlessになってrootless解除してからじゃなきゃという、 (ある意味)まっとうなプロダクトであるSIMBLが/を使えるようにするのがめんどくさくなってるというのが代表的かな
- 714 名前:デフォルトの名無しさん mailto:sage [2017/08/06(日) 20:19:06.33 ID:uZylSw7t.net]
- >>694
すごいなー、メッセージ式表記使わないでObjC書くんだなー C関数しか叩かないでObjCコードを書く変態は尊敬するよ
- 715 名前:デフォルトの名無しさん mailto:sage [2017/08/06(日) 20:22:06.82 ID:0XdHuxlK.net]
- >>700
いやあ、マジで何言ってるの?www もうキチとしか見えないぞ。いいのか?w
- 716 名前:デフォルトの名無しさん mailto:sage [2017/08/06(日) 20:27:26.94 ID:5hrgPajG.net]
- お前ら何を言い合ってるんだよ。。
- 717 名前:デフォルトの名無しさん mailto:sage [2017/08/06(日) 20:28:29.68 ID:0XdHuxlK.net]
- >>700
メッセージ式だのObjective-C固有/追加された部分があるから、Objective-CをCにコピペってもCコンパイラが理解できるわけないじゃん。んなこと言うのもなんか恥ずかしいw当たり前のことをさも言うのはナニもわかってないんだろな (そうでないからCじゃなーいとか言いそう/言いたいのかもだが) っていうのがそもそもの意味なんだが。なんでそんなトンチンカンすぎるキモい絡み方を続ける意味がわからん。同一人物だったらありそうだがww これ以上イミフすぎ
- 718 名前:のレスするなら、真性とみなすぞ []
- [ここ壊れてます]
- 719 名前:デフォルトの名無しさん mailto:sage [2017/08/06(日) 20:29:43.72 ID:0XdHuxlK.net]
- >>702
しらんwwまったくわからん。そりゃお前にもそう見えてもしょうがないww
- 720 名前:デフォルトの名無しさん mailto:sage [2017/08/06(日) 20:30:22.17 ID:m6etrNEf.net]
- オブシー使ってるやつはキチガイってよくわかるスレ
- 721 名前:デフォルトの名無しさん mailto:sage [2017/08/06(日) 20:32:05.49 ID:5hrgPajG.net]
- >>705
世界中にどんだけキチガイがいるんだよ。。。
- 722 名前:デフォルトの名無しさん mailto:sage [2017/08/06(日) 20:33:41.03 ID:h75sRnvC.net]
- キチガイは褒め言葉だぞ
- 723 名前:デフォルトの名無しさん mailto:sage [2017/08/06(日) 20:34:37.21 ID:uZylSw7t.net]
- ObjCコードがCコードにコピペできるって愉快な信者をからかって遊んでる
多分、NSLogとかのC関数だけ使って NSObject *object = [NSObject new]; なんて[]を使うコードは書かない変態なんだよ やっぱりObjC信者は変態ばかりだな(褒め言葉
- 724 名前:デフォルトの名無しさん mailto:sage [2017/08/06(日) 20:38:13.55 ID:5hrgPajG.net]
- まあなんだろうな
conventionalなC言語のソースコードはObjective-Cのソースコードでもある なぜならObjective-CはCの純粋なスーパーセットだから
- 725 名前:デフォルトの名無しさん mailto:sage [2017/08/06(日) 20:40:19.87 ID:0XdHuxlK.net]
- >>708
はあ?遊んでるww 「読めない」のはわかったし、それはしょうがないし特にとは思わないが、そこまでんなこと言った覚えは全く無いことをさもなのは自分の脳内で閉じてるという真性に近しい人でしかないと思うぞ。なんの為にレスしてんだか…そか、真性だからか?w
- 726 名前:デフォルトの名無しさん mailto:sage [2017/08/06(日) 20:42:18.48 ID:uZylSw7t.net]
- >>703
でだ、元々はCとObjCが全然違うもので、CやってたからってObjCが素直に慣れられるものじゃないって話をしてたわけでな その話の流れを見てないで、「ObjCがCにコピペできるわけない」の部分だけ取り上げて云々ってのは話がズレてるわけよ そのズレを笑いどころにネタを振ってくれてるんじゃないの?本気でそこを指摘してるの?
- 727 名前:デフォルトの名無しさん mailto:sage [2017/08/06(日) 20:42:20.49 ID:0XdHuxlK.net]
- >>709
元々はCのプリコンパイラでなかったっけ? 確か、今でも、Objective-CのソースからCのソースを捌けるはず。なので、CでObjective-Cクラス/機能をバリバリ扱えないこともない。それをするのは人間業ではないけど
- 728 名前:デフォルトの名無しさん mailto:sage [2017/08/06(日) 20:45:20.71 ID:0XdHuxlK.net]
- >>711
お前にとってはそうかもしれないが、そんな当たり前すぎることを言うこと自体がって話だよ。普通は言わないと思うぞ。んなこというヤツの知性が疑われるからな で、お前が言う元々の話も、お前はそうかもしれないでしかない。Objevtive-Cのよほど初心者の本でなければ、Cを知っているのが前提だからな。お前の論で言えばCを知っているのが前提ってありえないだろう
- 729 名前:デフォルトの名無しさん [2017/08/06(日) 20:51:12.38 ID:A+R4LQxw.net]
- >>708
NSLogはC言語の関数ではないだろう! Objective-Cのグローバル関数。 書式文字列なんて、C言語とは全く別。%@とか。 引数も、Objective-Cのインスタンスが必要。 @“OK”とか!
- 730 名前:デフォルトの名無しさん [2017/08/06(日) 20:52:15.75 ID:A+R4LQxw.net]
- >>714
ぁぁ、間違えた。@“OK”はNSStringのインスタンスね。
- 731 名前:デフォルトの名無しさん mailto:sage [2017/08/06(日) 20:54:43.07 ID:/dqOVGNE.net]
- 久々にObjective-Cでググったらこんなページが
qiita.com/koher/items/4aea541fd0f0d8a9a166 こんなあからさまに臭いことするからSwiftはゴリ押しとかいわれるんだよな..
- 732 名前:デフォルトの名無しさん [2017/08/06(日) 20:57:10.69 ID:A+R4LQxw.net]
- おっと、NSLogってのはFoundation Functionってカテゴロリに分類されてるね。
NSAssert, NSLogvとかと同じなかまかぁ。あまり意識した事なかったけど。
- 733 名前:デフォルトの名無しさん mailto:sage [2017/08/06(日) 21:00:36.71 ID:5hrgPajG.net]
- >>714
その話は微妙なところだな ある意味でObjective-Cたらしめてる部分でもあるんだが、関数はCといってもいいんじゃないだろうか まあCはObjective-Cに完全に内包されているのでObjective-Cの関数という表現も正しいと思うが 結局引数としてわたされるのはNSStringのオブジェクトであるとはいえ実態はただのポインタな訳で、ポインタを引数にとるただのC関数とも言える
- 734 名前:デフォルトの名無しさん mailto:sage [2017/08/06(日) 21:02:32.09 ID:5hrgPajG.net]
- >>712
まあObjectiveな部分の記述はコンパイラディレクティブを使って分離してるからね
- 735 名前:デフォルトの名無しさん mailto:sage [2017/08/06(日) 21:04:51.33 ID:0XdHuxlK.net]
- >>714
まあ、インターフェースがCなんだからCでええやん。CoreもCじゃないとか言うと、pure C (?)と C がごっちゃすぎ。まあ元々は pure C のことを言い出してるっぽいが、本人自体があやふやなので…w >>716 なんか前に読んだことある >nil に対するメソッドコールはエラーにならずに無視されるという悪しき仕様 ってとこで、ああ、この人は「そういうコード書く人」なんだなと。読むに値しないと判断したので、そんな単に個人のご意見に「臭いとかゴリ押し」とか噛み付くほどでも無いだろう (「そういう〜」というのは、逐次nilか注意してないでコードを書く人。意識してたら普通にその動作で問題無いのだがな)
- 736 名前:デフォルトの名無しさん mailto:sage [2017/08/06(日) 21:07:13.58 ID:5hrgPajG.net]
- >>717
カテゴロリwww
- 737 名前:デフォルトの名無しさん mailto:sage [2017/08/06(日) 21:26:34.09 ID:uZylSw7t.net]
- >>713
うーん、論旨が変わってしまってネタが分からなくなってしまった, >>711のマジレスをなかったことにしたい 何かが間違っていてアホ(失礼)にあたるというツッコミ?ボケ?(>>667)で、それが「ObjCのコードはC上にコピペでは全然動かない」じゃなかったのかいな 純粋なCをちゃんと使ってた人ほど文法がゴロっと変わるObjCは辛い、が当たり前のことでそれが誰かの失礼に当たる? まー、当たり前のことでもいいんだけど、それじゃObjCを擁護出来てないからそう言う意見じゃないよな ・Cの文法とObjCの(変態)文法は全然別物である ・純粋なCをやっているとObjC文法は素直に習得できる この二つを矛盾せずObjC擁護してくれるとありがたいんだが出来そうかね
- 738 名前:デフォルトの名無しさん mailto:sage [2017/08/06(日) 21:26:49.45 ID:6obaa7Zo.net]
- >>695
まぁIOKitもそうだけど 内部でC++は結構使ってるよね KEXTだってKernel EXTensionなんだからカーネルと言ってもいんじゃん? 少しでも拡張性を持ってかつハックされたくない所のライブラリとかC++使わざるおえない感じを受けたよ てかmac自体初期から組み込みの色が強いからC++よく見るし親和性も高いイメージあるわ あと関係ないけどクリエイティブ関連って言うとあれだけどOpenGLとかCinderとかそういうのと同じ匂いがする objcはメソッドや昔はクラスごと入れ替え出来るからハッキングや割れが簡単なのが問題になったな セキュリティやシリアルの発行をobjcだけでやるようなエンジニアがアホなだけだけど 今でもSafariのハックは盛んだし昔はFinderにタブ付けたりしてたでしょ公式で対応しちゃったけど
- 739 名前:デフォルトの名無しさん mailto:sage [2017/08/06(日) 21:27:32.73 ID:/dqOVGNE.net]
- >>718
そうだね Objective-C=C+Objectiveだからな
- 740 名前:デフォルトの名無しさん mailto:sage [2017/08/06(日) 21:33:58.82 ID:/dqOVGNE.net]
- >>722
語弊を恐れずにいうとObjective-CのCはまったく別物でありながら同じでもあるといえると思う 正確にはCにまったく別の文法を使ってオブジェクト指向を純粋に足したものがObjective-C
- 741 名前:デフォルトの名無しさん mailto:sage [2017/08/06(日) 21:36:01.59 ID:/dqOVGNE.net]
- ああ、肝心なところtypoした
×Objective-CのC ○Objective-CとC
- 742 名前:デフォルトの名無しさん mailto:sage [2017/08/06(日) 21:39:48.15 ID:/dqOVGNE.net]
- >>720
確かに記事読むと表面的な話に終始してるな Objective-Cはその他に類を見ない柔軟性により玄人指向なのだろう 逆に本当にスキルがある人には使いやすいんだろうなって思う
- 743 名前:デフォルトの名無しさん mailto:sage [2017/08/06(日) 21:45:13.30 ID:/dqOVGNE.net]
- >>723
まだCocoaが発展途上だった時代にCarbonとの親和性を確保する意味でもObjective-Cは都合がよかったんだろう
- 744 名前:デフォルトの名無しさん mailto:sage [2017/08/06(日) 21:49:46.04 ID:0XdHuxlK.net]
- >>723
骨幹から(?) C -+-> C++ -+-> Objective-C かな KEXTはカーネルにすごい近いからカーネルと言ってもいいじゃんというまさしくそれに沿って別に簡単にフックできるから危ないからじゃなくてC++なんだろうという いろいろなプラグインなんて、それこそ今でもハッキングや割れ(?)が簡単にやり放題にできるけどね。だが、いまだにそんなのが無いんだな、これが。まあサンドボックスやrootlessでやりづらくはなってはいるけど んなとこから、IOKitがC++なのはObjective-Cが危ないからって話では無いだろうという俺論 >>725 一行で素晴らしいw彼もわかってくれればいいがw
- 745 名前:デフォルトの名無しさん mailto:sage [2017/08/06(日) 22:07:37.99 ID:5hrgPajG.net]
- >>722
>・純粋なCをやっているとObjC文法は素直に習得できる の部分については、オブジェクト思考部分以外はCそのものなので、単純に追加されたオブジェクト思考部分を記述する文法さえ覚えればいいので、Cをやっていた人からすると習得コストが低いと言えるんじゃないかな もちろんオブジェクト思考部分を記述する文法(=ObjC文法というのかな?)はCをやってた人からすると「変態的」なので最初は面食らった人がほとんどだと思うけど ただやって実際見たらそんなに覚えることそんなにないじゃん的な感じかと
- 746 名前:デフォルトの名無しさん mailto:sage [2017/08/07(月) 00:31:33.61 ID:j1CBqyDH.net]
- >>729
いまだに無いって世間知らずにもほどがあるだろ? appStoreに移行しても被害額減るどころか増えてるんだから まあメソッド名隠さないで簡単に推理出来る名前のまま公開してる奴は擁護出来ないが objcは簡単に中身を書き換えられる&覗かれるってことを理解した上で書いてないシェアウェアが多いよね ただmac自体ユーザーが極端に少ないからそれらをやる人間も必要としている人間も少ないわけで目立たないだけだろう SIMBLだって今後使えなくなったとしても同じプロセス上にロードするだけで良いだけだから 動的なリダイレクトが出来る今のobjcの設計ならいくらでもやりようはあるからな カラーピッカープラグインでもロードされるタイミングでスウィズル出来るわけだし ただ結局それらは個ソフトウェア内だけだからあまり問題視されてないのが現状だろう、結局エンジニア次第だからな これがOSの根幹で出来るとなったらやばいどころじゃ無いのは簡単に想像出来るだろう
- 747 名前:デフォルトの名無しさん mailto:sage [2017/08/07(月) 00:48:46.15 ID:fzx+TAun.net]
- >>731
知らん。例えば具体的にどんな?ニュースになるような被害って?例え少ないのでもMac関係では大いに報道するだろ(アンチなのは妙に誇大にするからアレだがw) あんな簡単に外部コードロード&フックできる仕組みなら、例えユーザ数が少なくたってある程度/かなりあっても不思議ではないだろ 別にObjective-Cに限らず、トロイにしろなんにしろ、なんでもできるのはそりゃそうだろ。そうじゃないと困るわ、生きづらいw だからそもそもナニかする手段はあるって言ってるだろ。それが具体的に悪用されてるのがどんだけあるのかって話だよ ネイティブコードが読み込まれるなら、Objective-CでなくてもMach-Oなプラグインだったら何でもできるだろうに、 なぜかObjective-Cだけ(危険/C++は安全??)とか、Objective-Cが簡単にフックできるからってのに捕らわれ、そうだからそうに違いないと言ってるだけにしか見えないな そういえば、iOSは頑なに内製Framework(というか、dylib/別にObjective-Cなdylibでなくてもいろいろできる)を認めなかったが、 なんかいきなりあっさり認めるようになったな。お前の言っていることとは逆じゃね?より厳しいiOSでなのに
- 748 名前:デフォルトの名無しさん mailto:sage [2017/08/07(月) 01:04:19.31 ID:fzx+TAun.net]
- >>731
・コードをシステムなりに入れて起動できれば、そんなのObjective-Cだろうが他の言語だろうが関係ない、別のこと ・そのアプリの機能に介在するナニかをしたい場合にObjective-Cでフック機能が便利 ・アプリの機能に関係なくなら、別にObjective-Cでなくても同じ危険性があるだけ アプリの機能に介在してナニかあくどいすることなんてそもそもそんなありえるのか?関係なくの方が多いだろう。トロイ的にだが、その手法はあることはあるし なんだかよくわからんが「これがOSの根幹で出来ると」いう、さもObjective-CでOSの根幹がありきのような話だが、そんなこと最初からないって言っているのがわからんのかなあ アプリレベルプログラマでもCoreとかObjective-Cの同クラスより高機能なのが並列している時点で、 Objective-Cはアプリ/サービスレベルのフレームワーク用=OSの根幹でんなことしてられねえ(めんどくさいのだか何だかわからんがw)ってわかると思うだが、なぜかそこがObjective-Cであったらという前提はただの妄想にすぎないと思うよ
- 749 名前:デフォルトの名無しさん mailto:sage [2017/08/07(月) 06:19:41.05 ID:1ENgAefL.net]
- この流れがつまらない。
仮定の話で盛り上がるならオフ会でも行けば。
- 750 名前:デフォルトの名無しさん mailto:sage [2017/08/07(月) 06:41:26.11 ID:n0QtNiqf.net]
- 物知らずの無知無知ボーイ ID:5hrgPajG が声高に頑張ってたせい。
- 751 名前:デフォルトの名無しさん mailto:sage [2017/08/07(月) 07:26:00.83 ID:nZ0RU5t+.net]
- 「酔っ払いの喧嘩は外でやっとくれ!」
酔っ払いの一方:「あいつが悪いんだ!」
- 752 名前:デフォルトの名無しさん mailto:sage [2017/08/07(月) 08:04:58.98 ID:a1ES+HTw.net]
- >>735
は?関係なくね?
- 753 名前:デフォルトの名無しさん mailto:sage [2017/08/07(月) 09:16:12.87 ID:zZbb3/ny.net]
- >>735
何かした?
- 754 名前:デフォルトの名無しさん mailto:sage [2017/08/07(月) 10:19:38.86 ID:0r/N/mwc.net]
- >>735
俺にも構ってくれよ
- 755 名前:デフォルトの名無しさん mailto:sage [2017/08/07(月) 10:43:49.21 ID:GHOXhqb3.net]
- >>725
それは知っているよ、だからどうしたというね 別物である部分があるからって話をしてるんだから話を手前に戻さんでくれよ >>730 初めて真っ当なObjC擁護レスがきて感動した...(感涙 ObjC文法が多くなけりゃその通りなんだよねー 懸念はSwiftが出ても尚延々とObjC言語仕様を追加してるから、益々Cから離れていきそうでなぁ >>729 だから、お前は自分の意見を矛盾なくレスしろw >>657のレスも結局ボケだったのかマジレスだったのか分からんぞ
- 756 名前:デフォルトの名無しさん mailto:sage [2017/08/07(月) 12:30:02.80 ID:fzx+TAun.net]
- >>740
何言ってるの?www マジレスに決まってるやん。なんだCと同じじゃなきゃダメだって言ってるのか?それでも何言ってるのだがwダメだこりゃ
|

|