- 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
- 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ダメだこりゃ
- 757 名前:デフォルトの名無しさん mailto:sage [2017/08/07(月) 14:09:29.67 ID:GHOXhqb3.net]
- >>741
マジレスっつーことは意図することはこういうことか > 純粋なCをちゃんと使ってた人ほど文法がゴロっと変わるObjCは辛い、が当たり前のことでそれが誰かの失礼に当たる? 誰に何が失礼にあたるのか相変わらず分からないけど、共感してくれてるようで良かったよ Cと同じじゃなきゃダメだって言ってるんじゃないよ、共感してくれてる通りCと違いすぎてるから純粋なCやってるとObjCが辛いって言ってるんだよ
- 758 名前:デフォルトの名無しさん mailto:sage [2017/08/07(月) 14:12:34.97 ID:0r/N/mwc.net]
- 218デフォルトの名無しさん (ワッチョイ 056c-cJAr)2017/08/07(月) 09:36:54.43ID:tO02o/C10>>222
>>213 メソッド呼び出しに、ドット構文が使えればObjCも描きやすくなるよねぇ。 Objective-C 3.0に期待だね。 id a = [[NSObject alloc] init]; ->id a = NSObject.alloc().init(); // こんな感じ! 221デフォルトの名無しさん (ワッチョイ d9b5-xdmZ)2017/08/07(月) 12:05:53.21ID:tDzZ+7xU0 >>219 obj-cの魅力ってあくまでcの拡張でありobj-cの世界は[]の中だけってスタンスであってほしいから ドット構文?はあんまり増やしてほしくない 個人的にはElixrのパイプ演算子(|>)をobj-cに採用して欲しい。 (元ネタはElixirじゃないかもしれないけど。) [NSObject alloc] |> [@ init] みたいな感じで使う。Elixirの場合だと返却値を次のメソッドの第一引数に渡すって意味だけどobj-cでは@を置き換えるみたいな感じで ObjCユーザ的にはこういう構文変更はあり?
- 759 名前:デフォルトの名無しさん mailto:sage [2017/08/07(月) 14:32:41.53 ID:fzx+TAun.net]
- >>742
理解はするが、全く共感はしない 見慣れない構文に戸惑うが、そりゃ違う部分だから当たり前だろ。「辛い」なんて全くわからん。見慣れない構文もよく使うのがほとんどだから直ぐに見慣れるだろうに、なにが辛いんだか??
- 760 名前:デフォルトの名無しさん mailto:sage [2017/08/07(月) 14:40:24.16 ID:fzx+TAun.net]
- >>742
ああ、なんかイミフでスルーしてたが、「失礼」って、俺が書いた「(失礼)」のことか?? だとしたら、お前にだよ。で、失礼の部分はそこじゃない。アホだなと思ったが、そう直球でいきなりアホ呼ばわりするのもっていう「アホって書くけど失礼」って意味
- 761 名前:デフォルトの名無しさん mailto:sage [2017/08/07(月) 15:36:57.49 ID:GHOXhqb3.net]
- >>744
うんうん、理解できたのは良いことだぞ ObjC至上の宗教家っぽいし、共感できないのは信仰が違うから仕方ないんだろうね 流石に信仰を曲げてまで共感してくれとは思ってはないよ ただ、お前さんが共感できないからってアホとなじるのはどうかと思うし 信者がそういう言動をする所もObjCがディスられる要因なんじゃないかな
- 762 名前:デフォルトの名無しさん mailto:sage [2017/08/07(月) 16:33:25.65 ID:fzx+TAun.net]
- なぜに上から目線?wwまあ、自己脳で完結してるのは知ってるからいいけど
宗教とか信仰とかただのアンチなのか?まあ、言いぶりからはお前は使っているっぽいのかなと思ったが、ちょっとやってみただけ(/やらされたのか?辛いらしいからw)が正解かな? 自分のモノにできてないのは確かのようだけど。で、やっぱ最初の俺のレスが正解か…ww なら続けた意味は、まあ、あったようななかったような
- 763 名前:デフォルトの名無しさん mailto:sage [2017/08/07(月) 17:19:28.82 ID:nZ0RU5t+.net]
- 中身がCの文法で書かれたモジュールを
Cの関数なんかじゃできなかったレベルで 取り回せるのが便利で評価されてる言語に 「そのCじゃない部分が嫌なのよね俺」とか ここで口を開くレベルにも至ってなくて草ボウボウwww
- 764 名前:デフォルトの名無しさん mailto:sage [2017/08/07(月) 20:29:51.10 ID:zWbONOmM.net]
- >>743
既に出来なかったっけ?ドット構文
- 765 名前:デフォルトの名無しさん mailto:sage [2017/08/07(月) 20:36:52.55 ID:n9zFQLuH.net]
- >>749
それはプロパティ限定。 seterとgetterの糖衣構文に限定してる
- 766 名前:デフォルトの名無しさん mailto:sage [2017/08/07(月) 21:11:50.86 ID:zWbONOmM.net]
- >>750
あーそうだね スマソ
- 767 名前:デフォルトの名無しさん mailto:sage [2017/08/07(月) 21:19:43.31 ID:n9zFQLuH.net]
- >>743
それ。俺が書いたやつだけどマジで欲しいぞ。 https://github.com/ReactiveCocoa/ReactiveObjC これとかみてくれればわかると思うけど。 ネストが深くなると凄く書きづらくなるし。Rxの学習をobjCで始めるとマジで辛い。 swiftはopensourceになって提案できるようになってるけど objcにそういう仕組はないのかね
- 768 名前:デフォルトの名無しさん mailto:sage [2017/08/08(火) 00:11:51.35 ID:fmNB/sG0.net]
- >>752
たぶんこのスレで[ ]のネストについてなんか言ったところで暖簾に腕押しだと思うけど
- 769 名前:デフォルトの名無しさん mailto:sage [2017/08/08(火) 04:37:18.97 ID:qCAzS5bX.net]
- >>747
Swiftなんて商用利用に耐えないし他にApple OSで使える言語ないから、10年以上業務で使ってるよ 今更自分で使う分にはさほど問題ないけどだからってObjCは至上の言語!とか言うほど陶酔してないわ >>752 [ ]のネストの深さに味があっていいんだろ 慣れてくると冗長な命名規則と[ ]ネストの深さで1行あたりの処理がアホほど伸びて、それが美しく感じられるようになるぞ
- 770 名前:デフォルトの名無しさん mailto:sage [2017/08/08(火) 09:10:19.12 ID:qTxWRpQR.net]
- メッセージ構文だろうがドット構文だろうがネスト数が多いこと自体が鬱陶しいだろ
どっちかっつぅとクラス設計の問題じゃないの
- 771 名前:デフォルトの名無しさん mailto:sage [2017/08/08(火) 09:54:27.79 ID:Apkyawzp.net]
- >>755
Rxの概念的な都合によるものだから どうしてもネストが深くなりがちなんだよね。 そもそもパイプが使えるとデバッグが楽だったりするし ネスト構造でログを間にはさみたいときとかどうする? 結局ネストを壊して一時変数に途中経過を代入して出力するしかないでしょ? メソッドチェーンなりパイプ演算子が使えると間に挟むだけになるから凄く メンテナンス性が高い
- 772 名前:デフォルトの名無しさん [2017/08/08(火) 09:55:18.73 ID:N1iCp3j/.net]
- >>755
Reactive Functional Programmingは必然的に多重ネストしちゃうが、 鬱陶しいとは、初めての意見だなぁ。 variable.asObserver() .foo() .bar() .baz() {|cell| // do something // do something } これって、鬱陶しいかなぁ?
- 773 名前:デフォルトの名無しさん mailto:sage [2017/08/08(火) 09:55:30.87 ID:Apkyawzp.net]
- >>755
あとドット構文とかパイプ演算子を使うとネストは深くならない。 メソッドチェーンを繋げるとネストが深くなるとは言わないよね
- 774 名前:デフォルトの名無しさん mailto:sage [2017/08/08(火) 12:01:58.34 ID:qTxWRpQR.net]
- ドットでも[ ]でも大して変わらないって自分は思うってだけ
- 775 名前:デフォルトの名無しさん mailto:sage [2017/08/08(火) 12:24:05.02 ID:qCAzS5bX.net]
- [[[[variable asObserver] foo] bar] baz:^(id cell) {
// do something // do something }]; ふつくしい
- 776 名前:デフォルトの名無しさん mailto:sage [2017/08/08(火) 13:23:55.95 ID:F28KTTfx.net]
- >>759
そうとも言えるし、そうとも言えない リアルに最近、(ちょっと)ん?と思った文w [self menuItemsForPath:[[[node attributes] getNamedItem:@"representedFile"] value]] まあ、現在のObjective-Cでも、 [self menuitemsForPath:[node.attributes getNamedItem:@"representedFile"].value]; と書けば、全然w。ドットにしてみて、 self. menuitemsForPath(node.attributes.getNamedItem(@"representedFile").value) まあ、あんま変わんないかな そうとも言えないにはイマイチだったか
- 777 名前:デフォルトの名無しさん mailto:sage [2017/08/08(火) 13:47:41.40 ID:qTxWRpQR.net]
- >>760
同じように改行でもインデントでもなんでもいれれば?
- 778 名前:デフォルトの名無しさん mailto:sage [2017/08/08(火) 14:36:01.22 ID:qCAzS5bX.net]
- Apple様のXcode自動インデントに任せて baz:^ の:の所に合わせてブロック文の中身はインデントを入るよ?
ブロック処理がコード上のすごい右側に行ってしまって もうこの美しさと言ったらObjC/Xcode以外では中々に見ることが出来ないレベルだと思ってる
- 779 名前:デフォルトの名無しさん mailto:sage [2017/08/08(火) 14:44:47.05 ID:F28KTTfx.net]
- Apple様とか言ってるのはお前がだぞw
有るものを受け入れるに過ぎない&有るものをいかにどう使うかがお前や俺らのやること。それを使うというのはお前や俺らが自分で決めたことなんだから。それは別にAppleのに限らず なんか自称開発経験長いようだが、よくそんな自分では解決できない不満満々でやってるなあ。その分他に使えばいいのに。全然長いように見えないな
- 780 名前:デフォルトの名無しさん mailto:sage [2017/08/08(火) 15:38:18.31 ID:taAceK/L.net]
- 2個目以降のblocks引数のことだろ
1個目の左側と揃えた方がいいよ
- 781 名前:デフォルトの名無しさん mailto:sage [2017/08/08(火) 16:10:59.77 ID:F28KTTfx.net]
- デフォのフォーマットでは、2個目以降のblocksも引数のblock中身はインデントひとじゃね?
いくらあろうが右へ右へとは行かないよな??
- 782 名前:デフォルトの名無しさん mailto:sage [2017/08/08(火) 16:22:42.51 ID:taAceK/L.net]
- インデントは2個目で止まる
だけどシグネチャがそもそも長いから右に寄りすぎるってのはある 1個目と同じで問題なさそうなのにね まあ別にいいんだけど気になる点ではあるな
- 783 名前:デフォルトの名無しさん mailto:sage [2017/08/08(火) 16:29:39.36 ID:F28KTTfx.net]
- そもそもデフォのフォーマットが気に入らないwから、自動補完後に整形するけど、自動補完中はTab(&click)とReturnで進めばBlockの中身分インデント一つだけのような/だけだけどなあ
2つになる場合がなんかあったかもしれないが補完後に整形するから忘れてるのかもしれないけど
- 784 名前:デフォルトの名無しさん [2017/08/09(水) 07:47:44.63 ID:EM9uH4Ru.net]
- >>761
ドットもよくわからんよね [ ]はどのオブジェクトに対して何の呼び出しをかけているかが明確にわかりやすくて個人的にはいいと思うんだけどな
- 785 名前:デフォルトの名無しさん mailto:sage [2017/08/09(水) 11:34:46.72 ID:7tAKIt6P.net]
- 提供された言語仕様をあるがままに受け入れられないヤツはObjCを使うな
- 786 名前:デフォルトの名無しさん mailto:sage [2017/08/09(水) 12:55:35.37 ID:a8XvE339.net]
- 「俺の馴染みのない表記が混ざってるのがキモチワルイ」言われても
評価してる側は「外への働きかけが表記分けで一目瞭然なのがイイネ」だから 話が平行線というか、 むしろ、最近の言語が(swiftみたいに)すぐにどのレベルの処理も フラットにベターッと書くのを指向していて それよく知られてるいつもの【ダメなやつ】なのになんで あれやりたがる開発者多いのか…
|

|