プログラミングを暇なときしてみたいなと思いました。
将来そういう仕事もしてみたいという思いもあるので。
そこでいくつか質問ですが
まずどのプログラム言語が良いか
java·Cとかいろいろあってどれがいいのかわかりません
作ってみたいのものとしてゲームとかは難しいにしても簡単なツールとかをまず作ってみたいです。
将来のことを考えて初めはどんな言語が良いか教えてください。
つぎにどのような学び方が良いか
やはり本とかを使った方が良いでしょうか
そのほか知っておいた方が良いことや学ぶときのコツなどがあれば教えてください。
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/r …
さらに、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上にあるもので十分です。
No.4
- 回答日時:
暇な時だけって生温いものではないって事だけは確かですね。
スポーツ系のクラブ活動程度には打ち込んでやってもらわないと身に付くものではありません。ビジュアル的な言語と言うことでC#であれば、すぐウィンドウアプリ風のすごく簡単なモノは出来ますし、極めれば本格的な仕事の実用性もあります。
※ 簡単に出来過ぎて、ちょろいと思われてしまう難点がありますが。
本は買うべきだと思います。
最初はぬるめの本でプログラムの楽しみを覚えて下さい。 http://www.amazon.co.jp/dp/4822294242/
次に文法などの説明がしっかりした本で奥深さと大変さも味わいましょう。 http://www.amazon.co.jp/dp/4798122203/
この本も有ったほうが良いかも。 http://www.amazon.co.jp/dp/4891006242/
No.3
- 回答日時:
こんにちわ
最初はJavaScriptを始めてみるのはどうでしょうか。比較的手軽に始められる上に、業務で使うこともできます
本格的に学びたければ、Javaを学ぶのはとても良いと思います。仕事で使うかどうかは別としても、Javaという言語は他の多くの言語に影響を及ぼしたり、比較されたりするので、一度学んでおくと良いです
JavaScriptはHTMLと関係があります。JavaScriptとHTMLを使うことで、画面に何かを表示したり、マウスで操作するということが出来るようになります。プログラムを始める最初の頃は、目で見て結果がわかるプログラムを書いてみるのが、上達の近道ではないかと思います。画面に円を表示して動かしてみたり、加速度を設定して落下シュミレーションを作ってみることもできます
また、小さな機能ごとに目標を立てて、動くところまで作るというのもとても大事です。あまり複雑なものを作ろうとすると途中で詰まってしまいますが、簡単でも完成させる、という手順を毎回行うことが必要だと思います。一度完成させて、次に作るものに応用してみたり、違う方法で作ってみたりするのもいいと思います
本で学ぶのは良いことですが、暗記してもなかなか上達しません。実際にプログラムを書きながら使うのが良いと思います。今はインターネットでも調べることができるので、本と合わせて使えるようになってください
No.2
- 回答日時:
”暇なときに”だと、JAVAやCは厳しいかも。
JAVAは全部クラスで書かないといけないし、ざっくりとクラスは少し上の概念なので。
Cも、ポインタの理解で挫折する人も。
両方共、最初の早い人でも1ヶ月以上は、コマンドプロンプトの文字だけの世界になると思うので(開発環境にもよるけど)、「暇なときに・・・」と思っている人には、きついかも。
将来プログラマになるのなら、C/C++、JAVAは必要だろうけど、分野にもよるが複数の言語を知っているのが普通。
また、一つの言語を覚えると、他の言語も書けないけど読めるようにはなってくる。
なので、個人的には、簡単なネットオンリーだけどPHP、初心者向けで書籍が多いVBあたりがよいかと。
ただ、簡単に書ける言語というのは、難しい所が隠されているという事なので、その辺が身につかないから、初心者といえどもJAVAやCをやるべきだ!という意見もある。
なので、”暇なとき”と”将来のこと(プロになるのなら)”のどっちかを選んでほしい。
あとは、言語にはいくつか特徴があるんで、それを調べるのが宿題かなー?
調べられない人はプログラム作成には向いていないので、諦めよう。
言語を調べて分からない点は聞いて欲しいけど、それもきっと検索できるよ。
それでも分からないのなら、聞いて、言語を選んだら、書籍を買おう。
以上、毎回書く定番の回答でした。
No.1
- 回答日時:
今の世間の標準はJava ですね。
逆にJavaが出来ないと役に立ちません。でも最低3つぐらい身につけて下さい。言語というのは時代で変化します。要はどれだけ早く身に付く素養があるか。一つの言語にこだわると抜け出せなくなります。最後には時流にのれなくなり意固地な独りよがりのプログラマーになります。実は凄く多いですよこういうタイプ。要は自分が長く身につけたものでも時流に合わせて捨て去り次に移れる才能。これが優秀なプログラマーの条件ですね。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Java プログラミングのプの字も知りませんが、プログラミングを勉強したいです。とりあえず、学ぶものを決めない 3 2022/11/04 13:10
- その他(プログラミング・Web制作) プログラムの勉強のおすすめは 7 2022/12/09 20:09
- その他(職業・資格) プログラミングの専門学校に行った方、またはプログラマーの方に質問です。 私の知り合いがプログラミング 4 2022/04/01 22:21
- 就職 高校2年生です。将来の夢やそれに向けた進路、そろそろ決めるべきだと思うのに、魅力的な職業がわんさかあ 4 2022/11/15 12:22
- その他(IT・Webサービス) 障害者の将来の仕事について 7 2022/11/20 13:09
- 専門学校 高校生活で学んだこと (面接) 2 2022/07/16 21:00
- アルバイト・パート バイトについて 将来、社会の高校教師を目指しています。 そのために今やっているバイトを7月末で辞めて 2 2022/06/16 19:11
- その他(自然科学) 科学技術計算の仕事について 2 2023/02/04 18:09
- 個人事業主・自営業・フリーランス 仕事柄ずっと自宅と言うリモートワークが基本となる為には? 2 2023/03/15 13:29
- その他(社会・学校・職場) 将来の就職についてのアドバイスを下さい。 私は現在大学生で、建築を学ぶ学部に居ます。 しかし大学で建 3 2022/09/17 10:06
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
楽しくて最高のプログラミング...
-
rpa化する言語としてら何があり...
-
Pythonって何を意識した言語な...
-
最新のプログラム言語を学ぶに...
-
Int('1234') で、strをかんたん...
-
質問失礼します。 プログラム言...
-
プログラミング言語の制作方法...
-
C言語とhtmlの違いを どな...
-
C++における継続行
-
UNITY Float型の接尾辞fって
-
Delphiに詳しい方助けてくださ...
-
プログラミング言語について
-
CとC++は別物なんですか?
-
VBSでDim、Private、Publicの違い
-
F#って何??
-
チューリング完全とは何か?
-
accessという言語らしいのですが
-
引用符と二重引用符
-
初めてのプログラミング言語は...
-
今後必要とされる開発言語
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
C言語、C+、C++、C#の違い
-
楽しくて最高のプログラミング...
-
Pythonって何を意識した言語な...
-
C言語とhtmlの違いを どな...
-
プログラムに書かれる"%"記号の...
-
COBOLでのNOT = の AND条件
-
C++ ってなんて読む?
-
質問失礼します。 プログラム言...
-
プログラミング言語の制作方法...
-
UNITY Float型の接尾辞fって
-
C言語って古いですか?
-
Int('1234') で、strをかんたん...
-
COBOLで文字タイプを数字...
-
TO_CHARで小数点以下がある場合...
-
最新のプログラム言語を学ぶに...
-
C++における継続行
-
vbaとc言語の関連性について
-
VBScriptで引数を省略したい場合
-
VBSでDim、Private、Publicの違い
-
HTMLとC++で、どんなホームペー...
おすすめ情報