将来の夢はフリーソフトの開発!プログラミングの学習方法とは?

このQ&Aのポイント
  • 高校生が将来の夢であるフリーソフト開発に向けて、プログラミングの学習方法を知りたい。
  • C言語、PHP、Java、AJAXなどを学びたいが、オススメの学習方法や解説サイトを教えてほしい。
  • Visual C++は導入済みだが、他の言語も学びたい。アドバイスも欲しい。
回答を見る
  • ベストアンサー

将来はフリーソフトを作れるようになりたい。プログラミングの学習方法について

高校一年生です。 最近、学校でC言語について学びました。学んだといっても 四則演算のプログラムを作ることができるようになった程度です。 将来はあらゆる言語をつかって趣味の範囲でプログラミングができればと思っております。 フリーソフトの製作、簡単なゲームプログラミング、web製作に活かせることが目標です。 そこでプログラムをつくるにあたって大切なことなどありましたら教えてください。こちらの趣向としてはC言語、PHP、Java、AJAXなどを学習できたらと思っております。これらを学ぶにあたってオススメな学習方法や解説サイトなど教えていただけると幸いです。 Visual C++は導入ずみです。プログラムをつくる環境はこれでこなせるでしょうか? またアドバイスもいただけると嬉しいです。 よろしくおねがいします。

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

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

私もf_attckさんの意見に賛成です。 プログラムを始めた頃は何に本腰を入れて勉強すればいいか迷うものですが、C言語が個人的にプログラムの基本を身に着けるのに適していると思います。 学習方法ですが、個人的には入門レベル程度でしたら、わざわざ入門書を購入する必要はないと思います。 今はインターネットでも色々なサイトに入門書レベルのことは記述してあるので、そちらを参考にした方が良いと思います。 入門レベルをマスターしたら、浮いたお金を使って入門書を二冊買うと思い、少し高価な専門的な技術書を買うことをお勧めします。 (必ずしも高いものが良いわけではありませんが、この手の分野で上質な参考書は高い場合が多いです^^;) 技術書と聞くと学校の教科書のようなものを想像されるかもしれませんが、ゲームプログラミングなどについて書かれている専門書もあります。 こうした書籍にはのほとんどは、関数の使い方というより、専門的な手法について述べているので、質の良いアプリケーションやゲームを作ることの手助けになると思います。 余談になりますが、プログラム言語は仕事で使ったり、課題が出たりしない限りは、入門レベルを終えると、することがなくなってしまう場合が多いと思います。(本当はCなどは突き詰めると切りがないのですが^^;) また、フリーソフトなどにも興味があるということですので、C言語の基本をマスターして、ご自分でC言語に対して納得がいかれたら、Java言語なども勉強されてはいかがでしょうか? 最近ではフリーソフトもGUIが一般的ですので、GUIの概念を掴むためにも、第二言語にはJavaをお勧めします。また、Javaはオブジェクト指向という概念を学ばれるのに適していると個人的に思います。 オブジェクト指向は最近では重要なプログラムの設計手法なので、勉強されて損はないと思います。

x2lrt_X
質問者

お礼

ご丁寧なアドバイス・回答ありがとうございます。 あいた時間を使ってC言語の入門程度の力を養いたいと思います。技術書を購入しようか迷っていたのですが、基礎を大切にしたいと思います。 また、javaの学習にも力を入れていきたいです。 ありがとうございました。

その他の回答 (4)

noname#29459
noname#29459
回答No.5

Visual C++は、Windowsの上で、開発するものですので、その環境で、あなたの作りたい物があるなら、道具としては、十分です。 プログラミングで、達人になるのは、なかなか容易ではありませんが、あなたが、プログラミングが好きだ、というなら、好きこそ、ものの始めなり、なので、いいでしょう。  私も、プログラミング作法は、読むことを進めます。また、Linuxは、Linux自身を含めて、その上のアプリケーションも、ソースの入手が可能ですから、それらの綺麗なソースを読むことも、参考にはなると思います。  タイピングに関しては、嫌でもおうでも、プログラミングするのには、キーボードを使うので、特に練習しなくても、そのうち、支障なく早く打てるようになります。最近のキーボードは、ペナペナなので、キータッチがよろしくないのであれば、IBMのモデルMなどを試してみることを勧めます。

x2lrt_X
質問者

お礼

ご丁寧な回答・的確なアドバイス、ありがとうございます。 やはり実際にプログラムを作り力を付けることが大事ですよね。 プログラミング作法を購入し、きれいなソースを目指したいと思います。 このたびはありがとうございました。

  • aid-u
  • ベストアンサー率75% (22/29)
回答No.4

プログラミング言語の入門書は、文法については詳細に記述してあっても良いプログラムを作るために気をつける点にはあまり触れていません。 良いプログラムの作り方を学んでいないと、プログラムがある程度大きくなったときに、分かりやすいプログラムを作れません。 趣味でプログラミングするのでも、気の利いた物を作ろうとしたら十分大きなプログラムになるでしょう。 また、分かりにくいプログラムを扱うのは楽しくないですよね。 良いプログラムを作るために気をつける点については、書籍で勉強するのが良いと思います。 「プログラミング作法」や「Code Complete」が良いと思います。 おかしな癖がつく前に、一読をお勧めします。

参考URL:
http://www.ascii.co.jp/books/books/detail/4-7561-3649-4.shtml,http://ec.nikkeibp.co.jp/nsp/special/0455x/
x2lrt_X
質問者

お礼

ご丁寧なアドバイス・回答ありがとうございます。 良いプログラムについてしっかり抑えたいと思います。 また「プログラミング作法」を一読し正しい記述方法など学びたいと思います。 このたびは、ありがとうございました。

  • f_attck
  • ベストアンサー率33% (40/118)
回答No.2

#1です。 ブラインドタッチですが、当然できるにこしたことはありませんが できない人も職場にはたくさんいます。 逆に完璧にできるという人は、PGやSEでは少ないかもしれません。 英文字であれば、ほとんどの人は、ほぼ完璧にこなすと思いますが 数字や記号はイマイチという人が多いと思います。 ブラインドタッチに関しては、あまり気にせずにタイピングソフト でも使って、息抜きに遊びながらやれば、そのうち早くなります。 #慣れるのが、最も近道です。 また、職場では考えながらコードを書くはずですので、そんなに タイピングの早さ自体は求められないはずです。 #ブラインドタッチできるレベルで十分です。

x2lrt_X
質問者

お礼

迅速なご回答ありがとうございます。 タッチタイピングに関しては少なからず自身があるので もっと上達し、それと並行してプログラミングの学習に力を入れていきたいとおもいます。 ご丁寧なご回答、本当にありがとうございます。

  • f_attck
  • ベストアンサー率33% (40/118)
回答No.1

初心者にありがちですが、色々な言語に手を出すとどっちつかずの 知識になったり、効率の悪いプログラムとなったりあまり良い影響 は無いと思います。 とりあえずは、C言語をみっちりやってみてはどうでしょうか? 趣味としてでも、どういう分野の言語を使用するにしても 基本としてCをやっておくと、応用も利きます。 #基礎の基礎としてやっておくと良いと思います。 Cと比較すると簡単な高級言語はたくさんありますが、そっちを先に やるとどうしても変な癖がついて低次元な話についていけなくなり ますので・・・ また、高級言語を扱うにしても低次元な事を意識してコードを 書ければ、より良いロジックを生成できるようになると思います。 環境については、VC++があれば十分と思います。 Linuxでgccベースでやっても良いでしょうしね。

x2lrt_X
質問者

お礼

ご回答、アドバイスありがとうございます。 明日から春休みに入るので空いた時間を使ってCの学習に力を入れていきたいと思います。 このたびはありがとうございました。

x2lrt_X
質問者

補足

質問内容に追加があります。 実際にプログラミングに携わっている方に質問があります。 プログラミングのときある程度のスピードが要求されると思います。 ブラインドタッチはもちろん、タイピングのスピードはどのくらいあれば通用しますか? 実際にプログラマーとして活躍している方は、ものすごいスピードで入力しているというイメージが強いです。 莫大な質問ではありますが、ご回答いただけると嬉しいです。 よろしくおねがいします

関連するQ&A

  • プログラミングの学習順序について

    はじめまして。 プログラミングの勉強をはじめようと思っている者です。 知人に教えてもらった「ゲーム作りに必要そうな言語」としてC、C++、Java、Java Sprictの4種の本を買ってみましたが、プログラミングをまったくのゼロから学習するにあたって、その優先順位はどのような順序になるのでしょうか? この他にも学習の必要な言語がありましたら教えてください。 メタセコイアのような3DCG制作ソフトを作ることと、PCやPS3などで動く、3Dのアクション込みのRPGを作ることが目標です。(方向性が違うような気がしますが…) が、パズルやシューティング等に関するアドバイスもお待ちしております。 また、プログラミングに必要なもの(ソフトなど)ありましたら、フリーシェア問わず情報寄せていただけると幸いです。 作業環境はMac OSX10.7.3です。

  • どのプログラミング言語を学習しようか迷っています

    こんにちは、プログラミング言語のことで質問させて頂きます。 私は情報学部の一年生です、この夏休みに堕落した生活を送るのも無駄なので、学校ではやらないプログラミング言語を少しでも学習し、何かを作って遊んでみようと考えています。 目的もどのような会社に就職したいかの希望も今のところは無く、何かを学習したいから、とりあえずどれかを学んでみようかという考えです。 ですがどの言語を学ぶべきかがわかりません、大学ではC言語を「明解C言語」の関数の範囲まで完了し、後期で残りをやる予定となっています。 また、二年次にJavaをやる予定です。 なのでJavaとC以外のどれかの言語を学ぼうと思っているのですが、C++やC#やCOBOLなど、種類も多く、どれも使い方が違い、どれを学ぶべきかで迷っています。 どの言語を学ぶにしても、C言語と混ざってC言語が使えなくなる、といったこともあるでしょうし・・・・どの言語を学ぶのがいいのでしょうか。

  • 生徒の学習ソフトについてのプログラミング。

    生徒の学習ソフトについてのプログラミング。 私は今、中高生に英語などを教えているのですが、その生徒たちにもっと効率よく勉強してもらいたいと思い、英文法などを学べるPCソフトをプログラミングで作ってあげたいと思いました。 プログラミング経験は、C言語、delphiの二つです。 そこで、どの言語が上記の目標を達成するために有効でしょうか? 私の作りたいソフトの特徴として、(英文法の問題を作ることを前提としています) (1)問題文と選択肢があり、その選択肢を4択で選べる。 (2)正解か不正解かを判断する。 (3)問題を解き終わった後に、解説が読める。 (4)間違った問題は記録され、後で弱点分野として復習できる。 (5)問題集の順番通りに解くということと、ランダムに解くということができる。 のようなものです。 上記を達成するソフトをプログラミングできる言語はなんでしょうか? また、そのために学ばなければいけないことは何だと思いますか? みなさんの意見をお聞かせください。

  • プログラミングの学習の手順がわかりません

    最近プログラミングの学習が行き詰っています。(Visual BasicとExcel VBAをやっています。いずれはC++も勉強するつもりです) 理由は、本のコードを丸写ししてばっかりで、いつになったら本なしでオリジナルのコードが書けるようになるんだと考えるようになったからです。 プログラミングをどういう手順で学習していけばよいですか?今は本を借りて真似をしているだけです。 もう一つ聞きたいのは、1つのプログラミング言語をマスターする上で覚えなくてはならないのはどんなことですか?あと、どのくらいの時間を費やして勉強すればよいですか?(まだ中2です)

  • プログラミングの学習法

    いままでいろんな言語を使って、浅いプログラミングをしていました。 しかし、技術の低さを痛感したのでC/C++言語に絞って学習することにしました。 今までやってきた基本的なことは以下のものです。 ・C/C++言語の学習 ・アルゴリズムの学習 ・VC++によるウィンドウズプログラミングの学習 ここから更に基本的な技術力を伸ばすには、どんなことに取り組めばよいですか?

  • オブジェクト指向プログラミング学習向けのサンプルプログラム

    「これは参考になるよ」というような、 オブジェクト指向プログラミング学習向けのサンプルプログラムを教えていただけませんか? 言語はDelphiです。 Delphiに限らず、他言語(Java、C#、C++あたり)でも結構です (移植しますので、出来ればCUI、GUIが少ないものが理想です) よろしくお願いいたします。 Delphiにてオブジェクト指向プログラミングを学んでいます。 書籍等で、基本的なことは学びました。 理解度およびスキルを上げるために、実際にプログラミングしたいと思います。 (入門書を利用してや、 自分で考えながらのテスト的なプログラミングには限界を感じてまして^^;)

  • 初級者のプログラミング用コンピューター

    初めまして、 プログラミングの仕事をしていまして、それに適する新しいコンピューターを買います。 プログラミングは、 Cや、 C++, Java言語を使います。 特に、Java言語ではJDK, サクラエディタと使っています。 C、C++言語はMicrosoft Visual C++ 2010 Expressを使っています。 将来的には、Androidアプリの開発をする環境をする予定です。 これらの条件で適したコンピューターを教えていただけますか? よろしく御願いします。

  • Ajaxを学習するには何が必要?

    HTML/CSSの基礎 C言語およびそれに類する知識(例えばJAVA)の基礎 (開発経験なし/コンソールプログラミングのみ) Pen4 2.8GHz相当のPC 自宅サーバ構築経験有り 以上が手持ちにあります プログラミングは本当に少ししか知りませんし、やったことも本当に少ないです javascriptの知識はほとんどありません 書籍を買うお金がないのでAjax解説サイトを見て回ったのですが 知らないことだらけでした (ソースプログラムをサーバにアップし実行すると動くには動きました ですがどうしてそうなるのかよく分からないでいます) よろしくお願いします

  • プログラミングソフト

    今、プログラミングの勉強をしています。 ソフトはVisual Basic 2008 Express Edition なんですけどもうすこし他の言語をしてみたいと思っています。 C#とかC++とかありますが、Visual Basic の次に簡単で無料なものがあったらお願いします。

  • プログラミング言語の学習について

    高3です。来年から4年制大学の情報系学科に進学します。 現在、初心者向けの書籍でJAVAの学習をしていて、簡単な演算や条件分岐のパートが終わり、オブジェクト指向の学習をしています。今のペースだとあと3週間程度で今使っている参考書の学習が終わりそうなので、その後何をやろうか悩んでいます。 今のところ、選択肢は下記の3つなのですが、もし宜しければ、何をやるべきかご助言お願いします。 1,VBA(高校の授業でも少し触れたので、個人的にはこれが一番やりた いです。) 2,他のプログラミング言語 (名称とおすすめの理由を教えて頂きたいです。) 3,他の参考書を買ってVAJAの学習の継続 追記:抽象的な言い方で大変恐縮ですが、プログラミング言語を学習する際、複数の言語を1通り軽く触れるのと、1つの言語をより掘り下げて学習するのではどちらの方がいいのでしょうか。 皆様のご回答、お待ちしております。

専門家に質問してみよう