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

このQ&Aのポイント
  • プログラミングを始める際には、どの言語を選ぶべきか迷うことがあります。最初に学ぶ言語を選ぶ際には、自分の目標や興味、学習スタイルを考慮することが重要です。
  • Objective-Cを学ぶことで、iPhoneやiPad向けのアプリケーションを開発することができます。しかし、Objective-Cは学習コストが高く、初心者にとっては難しい言語です。
  • より身につけやすい言語を学習してからObjective-Cを学ぶことを検討しても良いです。例えば、JavaScriptやRubyなどの言語は初心者にも比較的学習しやすいと言われています。その後、Objective-Cを学ぶことでより深い理解を得ることができます。
回答を見る
  • ベストアンサー

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

iPhone, iPad向のアプリケーションを開発したいと思い objective-cの基礎を2ヶ月ほどかじりました。私の場合最初から作りたいアプリがあり(Googleリーダーと同級できるRSSリーダー)それに関連した部分のクラスをいじったりしていました。RSSリーダーならば作り方を紹介している参考書などがあったため。しかしなかなかうまくいかないものです(笑)。 自分の進捗状況が全くわからないので大変ストレスが溜まります。そこでふと自分の学習のスタイルに疑問を持っていく質問させていただきました。このままobjective c の学習を進めていけばいいのかそれともより身につけやすい言語を学習してから次のステップとして、objective c を学んだ方が身につくのか路頭に迷ってるところです。 あるサイトではJavaScriptから始めろだとか。またあるサイトではruby から始めたほうがいいなどの指摘があり。初心者の私には判断がつきません。こんな状態ですが私の学習の指針として、今後どうして行くべきなのかアドバイス頂けると助かります

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

  • ベストアンサー
回答No.2

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

fun114
質問者

お礼

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

その他の回答 (1)

回答No.1

予め断っておきますが、私はプログラマではありません。 退職して年金生活を送っている元服飾デザイナーに過ぎません。 「Objective-C入門」の目次を紐解くと、さながらJavaの参考書の目次ですね。 しかし、良く読めば非常にC言語の継承性が強い言語でJavaとは違うようですね。 >この講座は、C 言語(ISO/IEC 9899:1990)を理解していることが前提です。 と、書かれているのも頷けます。 ならば、C言語を学習してからが宜しいのか? 私は、必ずしも、その必要性も意義もないと思います。 確かに、私はJavaScriptを習得する際には「プログラミング言語C」の例題をJavaScriptで書きました。 でも、同じことはobjective-cでも出来るでしょう。 C言語の学習は、これで事足りると思います。 「C言語を学習してから」の必要性も意義もないという理由です。 ところで、一番重要なのは、クラスライブラリの設計かと思いますよ。 私の考えでは、クラスライブラリにも二つあると思います。 一つは、クラスライブラリやメインコードを書くためのもの。 二つは、クラスライブラリそのもの。 前者は、数値を丸めたり、数値や日本語の書式指定、あるいは文字列を分割したり型変換したりする関数群。 後者は、開発するシステムに特化したもの。 下の図は、私がMySQLのコマンドラインエディターを再現するためのクラスの設計書です。 一番左が、アプリケーションの動作です。 真ん中が、アプリケーションが呼びだすクラスライブラリです。 右が、クラスライブラリ自身が呼びだすクラスライブラリです。 この3つで共通にプログラムを書くために用いられるのが関数ライブラリです。 私の考えでは、こういうアプリケーションの設計があれば、後は、シコシコの世界です。 テーマは、質問者にユニークなかかる開発手法と開発スタイルを確立されることではないでしょうか? ですから、必要と思われるならば、「プログラミング言語C」の例題を演習されたらよいと思います。 ですが、力点は、アプリケーションがどういうメソッドを呼び出すのか? そのメソッドは、いかなるクラスライブラリによって支えられているのか? この全体図の作成・見直しとクラスライブラリの作成・修正の反復作業が実作業になるかと・・・。 最後は、私のようなズブの素人でも「やれるんだ!」という心意気。 頑張られてください。

fun114
質問者

お礼

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

関連するQ&A

  • C言語のステップアップ

    これまで、C言語、C++、Rubyの勉強をしてきて、だいたい200~300行ぐらいのプログラムは組めるようになりました。C言語で、これ以上の技術を身につけたいのですが、どのようにすれば良いでしょうか?オススメの方法とか、本とか、サイトとかあったら教えて下さい。お願いします。

  • 初心者が選ぶべきプログラミング言語は?

    初心者が選ぶべきプログラミング言語は? プログラミングの勉強を始めようと思っている超初心者です。この手の質問はこちらでもかなり検索すればヒットしますが、いまいち良くわからないのであえて質問します。 私のような初心者がプログラミングをはじめるときどの言語を選んだらよいでしょうか? 重視することは「将来性があって」「有用性のある」「標準的な」言語です。 言語選びにはしたいことの明確なビジョンがないといけないと言われますよね 私の目的はwindowsのフリーソフトのようなツールを作りたいことを第一目標にしています 後々は勉強の具合により目的も変えてゆきたいと思っていますが・・・ 今現在の理解では・・・ 基礎はCで、ビジネスではJavaで、WebはPHP、ぐらいしか解りません。どれもプログラミングの共通点を 有していて勉強すればある程度は共通知識を身につけられることも言われてはいますが 言語選びを間違えたくないなと思いまして。 Cをすこし勉強したときいつwindowsアプリのようなウィンドウをつくれるかももわかりませんでした。 現在自分ができることといったらExcelでVBAを組んで(かなり低レベルですが)自動化させる程度です。 ビジネスの世界、SEなどのプログラマーの世界で今注目されている言語や花形言語など、現在業界のオーバービューも知りたいです、詳しい方どうぞよろしくお願いします。 ※個人的にはRubyが面白そうで、いろんなことができそうだなと思っています。

  • プログラミングを勉強したいのですが

     僕は、13歳の中学生です。  MacOSX でプログラミングをしたいのですが、 http://oshiete1.goo.ne.jp/kotaeru.php3?q=178026  の参考リンクを読んで、自分も作ってみても、よく理解ができません。  僕には、プログラミングの経験がなく、テキストエディタで HTML を書くくらいのことしかできません。Objective-C, Java はもちろん、C, C++ などのソースコードの読解も、ほとんどできません。 一応、オブジェクト指向については、書籍「オブジェクト指向アプローチ」などで学習したので、だいたい分かります。  そこで、どのようにして入門すればよいのか教えてください! なるべく Developer Tools でやりたいです。また、分かりやすくて有用な高級言語があれば、それも教えてください。  あと、僕は MacOSX 10.2.4 を使っていますが、Developer Tools を古いバージョンに入れ替える方法がありましたら、教えてください(MacOSX 10.1 を持っています)。「Cocoa はやっぱり!」のソースが、10.1 向けに書かれているからです。  よろしくお願いします!

    • ベストアンサー
    • Mac
  • C言語を始めて...

    よろしくお願いします。 環境 OS Vista, IDE VS2008,他言語 (html),PHP(実務レベル),Ruby。Cを始めて一週間になるものです。 1週間といっても,一日10時間くらい触れているので,下記サイトの内容+αは十分に理解することはできました。 http://homepage3.nifty.com/mmgames/c_guide/index.html 次に実用面に移りたく,簡単なWindows向けのアプリケーションを作るために下記サイトで学習することにしました。 http://www.geocities.jp/ky_webid/win32c/ が最終的には結びついて組み合わせていくのは分かるのですが,今までやっていることとは全く違い,また覚える量も大変多く苦労しています。正直逃げたいです。 そこで,VisualC++などを利用すればもっと直感的にに…とは思うのですが,上記サイトに書かれていることくらいは,WindowsApplication作成にあたり当たり前に必要になってくるものなのでしょうか。 もしそうなら,素直に全部の知識を吸収していきます。 また,上に挙げたサイト以外にwindowsApplication作成にあたり為になるサイトがあったら教えてください。

  • Googleと同期するRSSリーダーの開発

    Googleと同期するRSSリーダーの開発 プログラミングの勉強を最近始めました。最終的にMacのデスクトップアプリケーションやiPhone用のアプリケーションを作りたいというのが動機です。具体的にはGoogle Readerと同期するタイプのRSSリーダーを作りたいと考えています。 「たのしいCocoaプログラミング」やObject-C言語の有名な本を参考にRSSリーダーを本のチュートリアルを通じてつくってはみたのですが、ここにGoogle(やツイッターなどのソーシャルサービス)と連携するような機能を絡めるためには今後何を学習していけば良いのでしょうか? 気長に少しずつ学んでいければと考えています。プログラミングに詳しい方、ご回答いただけると助かります。

  • RSSリーダーを探しています。

    RSSリーダーは数多くあると思うのですが、何がおすすめかが分かりません。 自分では、Sleipnirというブラウザを使っていて、それにRSSリーダーがついているのでそれを使っているのですが、今回探しているのは、クライアントの方に使ってもらうものです。 ですから、ブラウザを変えろというわけにはいきませんので、ウェブ版かアプリ版のRSSリーダーを紹介したいのです。 初心者にも使いやすく、登録しているサイトが更新されたときに、ポップアップで知らせてくれるようなRSSリーダーってありますか。 よろしくお願いします。

  • 「サーバインストール型のRSSリーダ」について教えてください。

    RSSリーダーについての質問です。 社内イントラネットのページに、社内情報の新着を知らせるためのRSSをおきましたが、リーダーに登録しようとすると、「サイトにアクセスできません」と表示され、登録することができません。 この「教えてgoo」内で、この内容にて質問させていただいたところ、「イントラネット内にサーバインストール型のRSSリーダを設置してみては?」と、アドバイスいただきました。 そこで、ご回答者様から教えていただいたRSSリーダのほかにもいくつか検討したく、自分でも探したのですが、どれが「サーバインストール型のRSSリーダ」に該当するものなのか、よくわかりませんでした。 サーバインストール型のRSSリーダでご存知のものがあれば教えていただけないでしょうか?フリーウェアを含めて探しております。 宜しくお願いいたします。

  • RSSを公開するには?

    こんにちは。 話題のRSSですが、 RSSサービスサイト(CNETなど)の新着情報を、RSSリーダーを導入して閲覧しています。 RSSリーダーさえあれば、いちいち目当てのサイトを訪れなくても済む(詳細を見る時だけサイトにアクセス)のですね。 --- ここで、一つ疑問(知りたい)があるのですが もし自分のサイト または 自分の会社サイトの新着情報を、RSSで公開(配信)するにはどうすれば良いでしょうか。(HTMLならOKですが、XMLの知識はほとんどありません。) 新着情報なので、一度作ったRSSファイルを随時アップデートしておけばいいのかななんて思ったりします。 ご存知の方、ご指導いただけますか。 どうぞ宜しくお願いします。

    • 締切済み
    • XML
  • RSSについて

    RSSリーダーを初めて使いましたが、わからない事がありぜひ教えていただきたいです。 更新情報を知りたいサイトがRSSに対応していない場合、更新情報を知るすべは自分が直接サイトへ行く以外無いのでしょうか? また、RSSに対応しているサイトでもサイトは日々更新しているのにRSSの情報が古いのはどうしてでしょうか?

  • プログラミング言語を習得する上での具体的な課題

    こんにちは。 現在大学生4年生で新しいプログラミング言語の習得を目指しております。その理由といたしましては諸事情により大学院では今とは違う研究分野の研究室に配属が決まったからです。 その分野とは、ウェブ工学やデータベース関係を扱う研究室です。大学院の指導教授とお話したところ「CとC++は必須、あとはRubyかPerlのどちらかを習得しておくこと、Javaは必須ではない」と言われました。 早速、スキルアップのため言語の勉強をしようと思っているのですが、言語を習得するためにはなにか目標を持ちながら参考書を読むのがいいといろいろなサイトなどで書いてありました。 これから言語を勉強していくので自分にあった具体的な課題がまだ分かりません。そこでなのですが、こういったものを作っていけばいいのではないかという具体的な課題を教えていただけないでしょうか。できれば、初歩的なものから段階的に難しいものを教えていただけるとうれしいです。 よろしくお願いいたします。

    • ベストアンサー
    • Ruby