• ベストアンサー

高校生です。プログラミングをしてみたいのですが··

hanabutakoの回答

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

将来のことよりもまずは学習効率のことを考えてプログラミング言語を選んだほうが良いでしょう。特に教えてくれる人や、現状使える環境がない場合は、JavaScriptが良いでしょう。 そして、多くのプログラミング言語の学習は基本的にWebから入手できる情報で十分です。 > まずどのプログラム言語が良いか 近くに聞ける人がいる言語が良いです。その人にセットアップから簡単なプログラムの書き方まで教えてもらいましょう。あるいは、近くに聞ける人がいないなら、開発環境が簡単に入手でき、資料を自分が理解しやすい言語が良い言語です。プログラミング言語には共通点があるので、極力これがいいというのは無いです。むしろ、プログラミングを生業としてやっていくつもりなら、自分があまり知らないプログラミング言語に出会っても3日で見よう見まねで他の人が書いたコードを変更でき、3ヶ月で基本的なことは大体書けるようになったほうが良いです。 プログラミングにかぎらずあらゆる新しいことを学ぶことでの一番の障壁はセットアップコストの高さです。その言語のコンパイラなどの開発環境の入手、実際に動かせる状況への準備に労力を取られてそこでドロップアウトするのが一番多いと思います。 質問者さんの現状はよくわかりませんが、「ゲームとかは難しいにしても簡単なツールとかをまず作ってみたい」というのを考えると、自分も#3さんのおっしゃるようにHTML + JavaScriptを最初に使う言語としておすすめします。CコンパイラやPerl、Python、Rubyなどがすぐに使えるというのだとそういう方向も考えるのですが、大抵、これらを使えるようにするにはまずそのセットアップからで、そういう遠回り (Yak Shaving) をしているうちにヤル気を失いますからね。 ちなみに、JavaScriptを使うと、マッシュアップという形でFlicker、Google、じゃらん、Yahoo!などさまざまな会社が出しているJavaScript向けAPIを使うことができ、簡単にいろんなツールやゲームを作ることができます。検索すると色んな人のいろんなマッシュアップが見つかると思います。APIを使った単純なゲームは例えばこれでしょうか。 http://tech.nitoyon.com/javascript/application/racing/1/ さらに、JavaScriptがあればブラウザのextensionという形でブラウザ自体に新たな機能を追加したり、ブラウザ向けのゲームやツールを作ったりも簡単に出来ます。 https://addons.mozilla.org/ja/firefox/ https://chrome.google.com/webstore/ と、ここまで一切Internet Explorerを出して来ませんでしたが、やはりJavaScriptの開発環境としてブラウザを使う場合はInternet ExplorerよりはFirefox+FirebugやGoogle Chromeの方が整っているように思います。また、extensionの開発もこれらに対してのほうがやりやすいように思います。FirefoxのFirebugやGoogle Chromeのデベロッパーツールを使うことで、簡単にプログラムを動かしている時の途中の状態を見ることができますので、不具合があった時に見つけやすくなります。 > つぎにどのような学び方が良いか まず、JavaScript自体にそれを説明したページがたくさんあり、それを参考にするだけでもそこそこのものを作れます。サンプルとして置いてあるスクリプトをダウンロードしてきて、先のFirebugやデベロッパーツールなどで逐一動きを調べて、何がどう動くのか理解を深めましょう。 また、APIについてもそれぞれの会社の説明を十分に読み、そこにおいてあるサンプルで理解を深めれば十分です。それで不足する場合は@ITなどのサイトに解説記事があることも多々あるので、それを参照すればよいでしょう。 > そのほか知っておいた方が良いことや学ぶときのコツなどがあれば教えてください。 英語の読み書きをできるようにしておいてください。コンピュータ周りの重要な情報はほぼすべて英語が一次情報です。言い換えると、英語が読み書きできないプログラマーは読み書きできるプログラマーに比べて明らかに得られる情報が少なくなります。先に述べたAPIなどの提供サイトの説明も英語が読めないと読めなかったり、古い情報を掴まされたりします。また、国内のコミュニティがあるとそこに聞くこともできますが、そうでない場合英語が書けないと開発者が集うメーリングリストへ質問できません。 学びて思わざれば則ち罔く、思いて学ばざれば則ち殆し 一流になりたかったら、一流大学の情報科学科や情報工学科に進学してください。自分で色々と工夫することで高く飛ぶペットボトルロケットは作れますが、月までいくロケットの理論をそこから作れる人は非常に稀です。月に届くロケットを作るには、宇宙工学のちゃんとした理論を学ぶことが近道です。 同じように、大規模なコンピュータプログラムを作るにはコンピュータサイエンスやソフトウェア工学のちゃんとした理論を学んだほうが良いです。普通の人が普通に考えそうなことにはすべて理論的な検証がされているので、先人と同じ失敗を踏まないことは大事です。それに、一流の大学にはそれだけの人的資金的投入がされているので、それだけ学ぶ環境が整っています。 また、とにかく作ってみたいと思うものをたくさん作ってみる事です。1万時間の法則ではありませんが、一流となる人は圧倒的にこれまで書いたコード量が違います。言い換えると、経験した量が違うということです。経験があればあるほど、あとからメンテナンスしやすい書き方や不具合が出にくい書き方というのが身についているものです。 #1さんも#2さんもおっしゃっているように、当然、複数の言語を知っておくのは大切です。そして、ジャンルが違うものを覚えておくのが良いです。よって、JavaScriptに慣れてきたら、他の言語も学んでみるとよいでしょう。 http://archive.linux.or.jp/JF/JFdocs/hacker-4.html 企業が出しているJavaScriptだと、表示前に難読化が行われているので難しいですが、そうでないものについては色々と読んでみると勉強になります。他の人の書き方を知り、自分のものにしていくというのが初級から中級へ向かう道です。 まだまだ初学者の人に言うことではありませんが、将来、仕事でプログラムを書くことを考えているなら、バージョン管理システム、ソフトウェアテスト、バグトラッキングシステムもおいおい使って慣れておくとよいでしょう。個人で開発する場合でも、これらを駆使しておくと何かと便利で、開発の効率化に結びつきます。 あと、できたものは先に述べたextension公開サイトやgithub、sorceforgeなどで公開しましょう。今は一人でこもってプログラムを書く時代ではありません。また、他の人のプロジェクトにもどんどん参加してみましょう。そして、自分が学んだこともどんどん発信していきましょう。 というわけで、他にやりやすいものがなかったらFirefoxかChromeをインストールした上でJavaScriptでのプログラミングを学ぶとよいでしょう。学ぶための情報はWeb上にあるもので十分です。

sisimimizuzu
質問者

お礼

分かりやすかったです。 javaScriptにしてみます。 細かいところまでありがとうございました。

関連するQ&A

  • タクティカルRPGゲームプログラミングの本を探しています。

    タクティカルRPGゲームプログラミングの本を探しています。 今まで書店やインターネットで探して来ましたが、見つかりませんでした。言語はできれば、JAVAかCがいいのですが、なんでもいいので、タクティカルRPGゲームプログラミングの本を知っていたら、教えてください。 よろしくお願いします。

  • プログラミングを出来るようになりたい

    こんばんは、僕はまだ今年高校に入学したばかりの高校一年生なんですが、プログラミングを勉強したいと思ってます。 ですがプログラミングなんて全く触れたこともありません、高校もプログラミングとは無縁の農業系の学校に通ってます。 パソコンは中学2年の時から暇なときはほぼ毎日やってました。部活も今はやってない為、時間はたくさん有ると思います。 ですが今まったくプログラミングの知識もなく言語についても全く意味が分かりません。 言語といっても色々な種類があると思いますが、一番初めはどういったことを学べば良いんでしょうか? 将来は色々なソフトを作ったりもしたいですが、とにかくプログラミングについて幅広い知識を持ちたいです。 あとプログラミングについての本などいっぱい出てるようですが、初心者でも分かるお勧めの本などありましたら教えて下さい。

  • C言語のゲームのプログラミングの本教えてください

    自分は現在高専の情報系の二年生です。 自分は将来はゲームのプログラマーになりたいと考えています。 そこで今から少しずつゲームのプログラミングについて学んでいこうと考えています。 色々な会社の採用情報をみると「C言語やアセンブラなどでのゲームのプログラミング経験があるといいです」みたいに書いていることがあります。 なのでせめてC言語のゲームのプログラミングの本を読んで学んでいきたいと考えています。 そこでおすすめの本があると言う方は教えてください。

  • ゲームプログラマーになるには

    現在大学生で、将来ゲームプログラマーになることを意識しています。 プログラミング言語は現在学習中で、 Javaに関しては簡単なマルチスレッドのプログラムが書ける程度ですが、 現在売り出されているゲームプログラミングに関する本はほとんどVisualC++とDirectX用に書かれているようなので、 最近C++を勉強し始めました。 入門書の内容はどれもそれほど難しくないのですが、ゲームプログラミングの本を読むととても難しく、すぐに手は出せない感じがします。 そこで質問なのですが、 ・今後ゲームクリエイターを目指していくにはどの言語を取得するのがよいでしょうか。 ・ゲームプログラミングの本がわかるようになるくらいの、入門書の次に読むレベルの本でよいものはあるでしょうか。 ・その他、ゲームプログラマーになるためのアドバイスなどあったらお聞かせください。

  • プログラミングをするならどの言語

    こんにちは宜しくお願いします。 40歳近い私は、BASIC等でプログラムを組んだ世代ですが 最近新しいプログラミング言語を覚えようと思っております。 用途にもよると思いますが、お勧めのプログラミング言語が ありましたら、教えてください。 自分では、JAVAとかC++とかなのかなと思っています よろしくお願いします

  • 物理シミュレーションをする時、どのくらいプログラミングの知識があればいいのか?

    物理学で自然現象をパソコンでシミュレーションするとき、プログラム言語はどのようなものを使うのでしょうか?よく知られたC言語やJava等は使わないのでしょうか?専門的なプログラム言語がいろいろあるのでしょうか? 今後パソコンで物理シミュレーションを行うことになったとき、プログラムに関してはどのくらいの知識があればいいのでしょうか? 基本的な本を見るとBasicやFortranを使ってシミュレーションの説明をしているものがありますが、このような基本的な言語も使えるようになったほうがよいのでしょうか? C言語やJava、VBなど一般的によく知られたプログラミング言語も覚えたほうがよいのでしょうか?

  • プログラミング

    インターネットやメールを使いこなせるようになったので、何か変わった事に挑戦したい(ゲーム作成)と思い、プログラミングにトライすることにしました。 エクセルのVBAを使ってプログラミングをしているのですが、逆にこのような動作をするのならマウスで動かしたり、いつも知っている通りした方がが速いんじゃないか?と疑問を抱きはじめました。  プログラムするに当たって色々な言語(C言語やJava etc)の存在がある事をしりました。  一体、何の言語がプログラム初心者にとって学びやすいのですか? またお勧めサイトがあれば紹介してください。 私の参考にしているサイトは(http://www.happy2-island.com/)です。 ちなみにOSはWinME メモリは128 Office2000を使用しています。

  • これからプログラミングをやりたいと思うのですが・・

    これからプログラミングをやりたいと思いjavaの本を買ってきました。そこで今現在一番多く使われている言語って何でしょうか?またjavaを覚えるとほかの言語には出来ないものってあるのでしょうか?

    • ベストアンサー
    • Java
  • スマホゲームアプリのプログラミング言語について

    スマホゲームのプログラマーになりたいと思っています。 ですが、全くの未経験なのでITスクールに通うか、本やネットで学ぼうかと考えているのですが、どのプログラミング言語を学ぶべきでしょうか? スマホアプリ系はJavaが主だとネットで見たのですが、ゲームのプログラミングはC言語が主だという情報もありました。 どちらの言語を学べば、スマホのゲームアプリ作成に繋がりますか? 御回答をお願いします!

  • C言語でのプログラミングについて

    C言語でのプログラミングについて これまでJavaでよくプログラミングをしてきたのですが、最近Cもよく使っています。 しかしJavaに慣れすぎたのか、Cで大きなプログラムを作ろうとすると、どうすればいいのかよく分かりません。 HeaderファイルはJavaでいうと継承みたいなもので、複数のファイルに同じ機能を持たすときに使うのでしょうか? Javaではクラスがありそれぞれに役割がありますが、Cの場合はファイルごとに大まかな役割を分けるのでしょうか? (例えばユーザーからインプットを取ってくるファイルをgetInput.cで、それを処理するファイルをvefiryInput.cというようにするのでしょうか?) C言語でのプログラミングの仕方を教えてください。