パスワードを忘れた? アカウント作成
この議論は賞味期限が切れたので、アーカイブ化されています。 新たにコメントを付けることはできません。

Objective-C、人気急上昇中 」記事へのコメント

  • 人気とは違う気がする (スコア:2, すばらしい洞察)

    by Anonymous Coward

    人気の問題というより、Objective Cの解説書がそんなに出回っていないのが原因じゃないかな。
    他の言語と違うところが結構多いから、いろいろ調べないとすぐには使えないしね。

    #たとえばJavaプログラマにC#のコード見せればある程度は理解する
    #でもC++プログラマにObjective Cのコード見せても最初は混乱すると思うんだ

    だから「人気急上昇中」じゃなくて「困ってる人の割合が急上昇中」のほうが正しそうな気がするんだけど。

    • by Anonymous Coward
      では、なんで困るわけ?使うからでしょ。使われているのを「人気」というんじゃないの?
      もっとも「シェア」と同じで、瞬間的な数と絶対的な数の違いはあるでしょうが。

      C++プログラマにとって、Objective-Cとの違いは、ファイル構成と[]くらいでしょう。
      「C#なら理解できて、Objective-Cだと理解できない」としたら、
      C#も理解できているかどうか怪しいなぁ。
      にわかプログラマにとって、C#はJavaより3倍難しい :-p
      • by Anonymous Coward

        C++プログラマにとって、Objective-Cとの違いは、ファイル構成と[]くらいでしょう。

        かなり違うけどな。[]で書く部分、つまり、オブジェクト指向で書く部分はC++よりもJavaの方が近い。C++プログラマがJavaを使えるようになるためには、それなりにJavaを勉強しなくてはいけない。それと同じ。それでいて、自前でメモリ管理を要求されるので、Javaしかできない人には辛そう。

        まあ、C++でピュアなオブジェクト指向プログラミングをしている人は困らんでしょうけど、普通はそうじゃないし、だからこそ、C++プログラマにとっては、落とし穴が満載。

        • Re: (スコア:1, 興味深い)

          by Anonymous Coward
          >それでいて、自前でメモリ管理を要求されるので、Javaしかできない人には辛そう。

          Objective-Cを分かっていないね。古い知識で止まっている?

          少なくとも、「[]で書く部分」のシンタックスは、Smalltalkとほとんど同じで、
          メジャーな言語ではLISPの次くらいに簡単。話にならんよね?
          C++から違和感があるとしたら、型をいちいち()でくくったり、@が出てくることくらいか?

          考え方やプログラミングモデルは、メジャーなオブジェクト指向言語と遜色ない。
          Smalktalkと違って、ブロックとかないんだし、
          C++やJavaとの違いは型がないことくらいでしょう。
          LINQなんか比べたら、ずっと簡単だし
          • by Anonymous Coward

            Objective-Cを分かっていないね。古い知識で止まっている?

            10年前の知識で止まっているかな。その頃の本しか持ってないし、OS XもJaguar止まりだったのですが、retain、releaseを送ることやNSAutoReleasePoolを使うこと以外にオブジェクトの解放で、今は何かあるんですか?ああ、そうですか。Objective-C 2.0ではGCがあるんですね。失礼しました。

            オブジェクト指向プログラミングをやるという前提であれば、C++プログラマがObjective-Cを使うのにそれほど困ることはないと思いますが、やってないのが現実ですよ。「ピュア」と言う言葉が混乱を招いたようですが、たとえば、多態性に関して、使わなくていい多態性を回避する方向にあるのが、C++。放っておいても、多態性が使われているObjective-C。スタイルが違うんですよ。

            • by Anonymous Coward
              >やってないのが現実ですよ。
              >使わなくていい多態性

              理解不能。
              Windowsプログラミングでは、MFCもATLもSTLも使わない?
              C++で使うべき多態性と使わなくていい多態性の違いとは?
              • by Anonymous Coward on 2010年06月07日 19時31分 (#1776141)

                Windowsプログラミングでは、MFCもATLもSTLも使わない?

                そういうものを使えばオブジェクト指向のプログラミングなの?

                C++で使うべき多態性と使わなくていい多態性の違いとは?

                例えば、テンプレートで代用可能な多態性とか。

                あとは、C++だと、基底クラスに仮想関数を書いておかないと、基底クラスの型で受け取ったものはキャストしない限り、派生クラスのものとして機能しないけど、Objective-Cは、基底クラス(スーパークラス)に書いておかなくても、同じメソッド名を持つクラスの型が指定してあれば、コンパイルは通るし、実行時には指定した型としてではなく、本来の型のものとして実行される。

                C++では、基底クラスに余計なことを書かなくても済むよう、キャストで対応した方が良い場合がそれなりにあると思うけど、それは多態性を回避する方向だよね。

                親コメント

目玉の数さえ十分あれば、どんなバグも深刻ではない -- Eric Raymond

処理中...