みんなの「教えて(疑問・質問)」にみんなで「答える」Q&Aコミュニティ

こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

プログラミングを始める際にどの言語を選ぶべきか

iPhone, iPad向のアプリケーションを開発したいと思い objective-cの基礎を2ヶ月ほどかじりました。私の場合最初から作りたいアプリがあり(Googleリーダーと同級できるRSSリーダー)それに関連した部分のクラスをいじったりしていました。RSSリーダーならば作り方を紹介している参考書などがあったため。しかしなかなかうまくいかないものです(笑)。

自分の進捗状況が全くわからないので大変ストレスが溜まります。そこでふと自分の学習のスタイルに疑問を持っていく質問させていただきました。このままobjective c の学習を進めていけばいいのかそれともより身につけやすい言語を学習してから次のステップとして、objective c を学んだ方が身につくのか路頭に迷ってるところです。

あるサイトではJavaScriptから始めろだとか。またあるサイトではruby から始めたほうがいいなどの指摘があり。初心者の私には判断がつきません。こんな状態ですが私の学習の指針として、今後どうして行くべきなのかアドバイス頂けると助かります

投稿日時 - 2011-12-13 14:21:22

QNo.7187487

困ってます

質問者が選んだベストアンサー

大事なのは言語そのものではなくて
アルゴリズム(オブジェクト指向ならさらにデザインパターンかな)を理解すること。
これが理解できれば言語が変わっても応用が利く。
ある機能がどの関数やクラスに実装されていてどれを使うかの違いだけだから。

でアルゴリズムを学ぶのにはどの言語でもいいかな。

投稿日時 - 2011-12-13 19:58:49

お礼

では迷わずobjective-cの学習を進めようと思います。ご回答ありがとうございました。

投稿日時 - 2011-12-17 14:29:41

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(2)

ANo.1

予め断っておきますが、私はプログラマではありません。
退職して年金生活を送っている元服飾デザイナーに過ぎません。

「Objective-C入門」の目次を紐解くと、さながらJavaの参考書の目次ですね。
しかし、良く読めば非常にC言語の継承性が強い言語でJavaとは違うようですね。

>この講座は、C 言語(ISO/IEC 9899:1990)を理解していることが前提です。

と、書かれているのも頷けます。

ならば、C言語を学習してからが宜しいのか?
私は、必ずしも、その必要性も意義もないと思います。

確かに、私はJavaScriptを習得する際には「プログラミング言語C」の例題をJavaScriptで書きました。
でも、同じことはobjective-cでも出来るでしょう。
C言語の学習は、これで事足りると思います。
「C言語を学習してから」の必要性も意義もないという理由です。

ところで、一番重要なのは、クラスライブラリの設計かと思いますよ。
私の考えでは、クラスライブラリにも二つあると思います。
一つは、クラスライブラリやメインコードを書くためのもの。
二つは、クラスライブラリそのもの。

前者は、数値を丸めたり、数値や日本語の書式指定、あるいは文字列を分割したり型変換したりする関数群。
後者は、開発するシステムに特化したもの。

下の図は、私がMySQLのコマンドラインエディターを再現するためのクラスの設計書です。
一番左が、アプリケーションの動作です。
真ん中が、アプリケーションが呼びだすクラスライブラリです。
右が、クラスライブラリ自身が呼びだすクラスライブラリです。
この3つで共通にプログラムを書くために用いられるのが関数ライブラリです。
私の考えでは、こういうアプリケーションの設計があれば、後は、シコシコの世界です。

テーマは、質問者にユニークなかかる開発手法と開発スタイルを確立されることではないでしょうか?

ですから、必要と思われるならば、「プログラミング言語C」の例題を演習されたらよいと思います。
ですが、力点は、アプリケーションがどういうメソッドを呼び出すのか?
そのメソッドは、いかなるクラスライブラリによって支えられているのか?
この全体図の作成・見直しとクラスライブラリの作成・修正の反復作業が実作業になるかと・・・。

最後は、私のようなズブの素人でも「やれるんだ!」という心意気。
頑張られてください。

投稿日時 - 2011-12-13 19:07:00

お礼

ご回答ありがとうございました。頑張ります。

投稿日時 - 2011-12-17 14:30:20

あなたにオススメの質問