- 締切済み
初めてのプログラミング言語
初めてプログラミング言語を学ぼうとしたのですが、何から学ぶべきかわかりません。(ベタな質問で申し訳ありません)2~4個ぐらいオススメの言語をあげていただけると嬉しいです。また、その言語を学ぶためのオススメ書籍も教えていただけると有難いです(1冊2500円程度で)。回答よろしくお願いいたします。
- みんなの回答 (7)
- 専門家の回答
みんなの回答
- cametan_42
- ベストアンサー率62% (165/265)
これもどうかな、とか思ったんですが。やっぱり書いておくべきかしら。 PHPは面白そうですよね。それに付いては異論は無いです。 ただ、紹介されてるサイトを見ると、 >JAVAは高級言語の一つで、大規模・複数人での開発を行う際に利用されています。一方で、研究者が気軽に高速シミュレーションに利用するシーンも多いようです。スクリプト言語(php,perl,python,ruby等)にない魅力が高級言語にはあります。 この説明は全然おかしいですよ。 そもそもPHPもPerlもPythonもRubyも全て「高級言語」です。マシン語/アセンブリ言語以外は全て「高級言語」って言って構わないでしょう(と言うか元々の定義はそうだったと思います)。 だから、 >ところが、高級言語の敷居は独学するには高過ぎました。 と言う説明は意味を成しません。 元々「スクリプト言語」ってのは 1.インタプリタ系言語の言い換え。 2.あるOS上で作業を簡便化するような言語。 のどっちか、です。2番の定義を重要視するなら、「C言語はUNIX系OSのスクリプト言語だ」って言っても構わないでしょう。 1番でも、現代的な言語の多くは「インタプリタ上でも動作するし」かつ「コンパイル可能」です。だから厳密に「インタプリタ系」って言えなくなってきたんで、「スクリプト言語」を言われ始めたのです。決して「高級言語じゃないから」スクリプト言語だ、ってわけではありません。 元々は「機械語/アセンブリ言語」でのコーディングを「人間にも分かりやすい構文で記述出来る」ように考え出されたのが「高級言語」で、それはFortran、Lisp辺りから始まりました。 言わば「人間にとって分かりやすい記述方法の構築」が高級言語たる故で、「概念が難しいから高級である」と言う意味の「高級」ではないのです。マシンに近い=低級、で人間側に近い=高級、でしょう。 どうも紹介しているサイトの作者は勘違いしているように見えます。 ですから、 >慣れてきて必要を感じたら高級言語と呼ばれるJAVA、Cなどにも手を出してみるといいでしょう。 と言うアドヴァイスもおかしいですね。 繰り返しますが、今ある言語のその殆どはアセンブリ言語やマシン語を除き、全て「高級言語」です。
- nitro-boom
- ベストアンサー率0% (0/4)
phpから始めるのがいいと思います。 windowsマシンがあれば、すぐに始められますし 自分のサイトが簡単に作れて楽しいですから。 http://top-10-algorithms.sl-jp.com/php/ こちらの「phpの絵本」などいいのではないでしょうか。 慣れてきて必要を感じたら高級言語と呼ばれるJAVA、Cなどにも手を出してみるといいでしょう。 普通は一つの言語を使い倒してしまえば他の言語も使えるようになります。
- mamirs3876
- ベストアンサー率42% (19/45)
横レスですが念のため。 >ブラウザがあればジャバも動くわけで そうですか?動きますか? 良く勘違いしている人がいますがJavaとJavaScriptは別物ですよ?(開発者も違いますし、全然別の言語です。) 一時期、Javaアプレットと言うJavaベースのWebテクがありましたが、現在は下火です(繰り返しますがそれとJavaScriptは全く関係ありません)。 基本、JavaはJRE(JavaRuntimeEnvironmentだったかな?)が無いと動きません。 >無料なのは、同じです。 「無料だから」だけでPythonを薦めているわけではないのです。 「プログラミング言語教育用に設計されている」Pythonと違い、Javaの場合はあくまで「C++言語の改良」が基本なのです。C++よりは簡単になっているでしょうが、かと言ってPythonより簡単なわけではありません。 また、初心者はインタプリタで「自分でタイプしたモノがキチンと動くか?」確かめながら勉強した方がいいでしょう。Javaはコンパイルしないと動かないので、ここもマイナスです。 そして、初心者に対して以下のコード //Javaのソース例: import java.io.*; class Test{ public static void main(String args[]){ System.out.println("Hello Java World."); } } //ここまで を書かせるのと、単にインタプリタ上で #Pythonのコード例 print 'Hello Python World.' #ここまで と打たせるのとどっちがラクか一目瞭然です。この二つは殆ど同じ事をやってるんですが、Javaの方が書く量が多いですね。「初心者がプログラミングの考え方を学ぶ」と言う目的にはJavaはあまりにも複雑なのです。 断っておきますが、Javaの実用性に関して疑問を投げかけているわけではありません(大体、実行速度で言うとJavaの方がPythonより速いでしょう)。 単に「初めてのプログラミング言語として」どうなのか?と言う事です。質問者への回答としては少々ピントがズレてるように思います。 (ましてや「タダだから」と言えばそんな言語は他にもあるのです。C言語でさえタダで手に入ります。「万人向け」と言うより汎用性から言うと、それこそJavaより使われていますね。)
- DEC2007
- ベストアンサー率50% (1/2)
JAVAはどうでしょうか? ブラウザがあればジャバも動くわけで、 無料なのは、同じです。 JAVAのほうが、万人向けではないでしょうか? 目的がないなら、JAVAも、いい選択肢だと思います
- cametan_42
- ベストアンサー率62% (165/265)
定型の質問です。だから定型で回答します。 特に「何がしたいか?」目的が無いんでしたら、2~4個も推奨言語を挙げる必要性もありません。単に「初心者用に設計された」言語を学べば済む話だと思います。 2008年現在ですと、Pythonがイイでしょう。 他の所にも「全く同じ回答」書きましたが、これが色々な意味で「無難な選択」です。何故なら、元々「習得が容易なように設計された教育用の言語」だからです。アメリカの大学のコンピュータ・サイエンス初年度用のプログラミング言語として採用されたりもしてますし、また同様にGoogleのWebアプリ開発用にも用いられているんで、「色んな意味で発展性がある」からです。今後も伸びて行くでしょうね。そして、タダでダウンロード出来ますし、Microsoft VBとかVBAみたいな「環境依存」でも無いので、恐らくこれがベストです。 お薦めの書籍は少々古いですが、次の書籍を挙げておきます。 Pythonで学ぶプログラム作法:ピアソン・エデュケーション http://www.pej-hed.jp/washo/263.html 3,150円と少々値段がオーバーしますが、Amazon辺りで古本で探せばもうちょっと安く手に入ると思います。 また、この本が目指しているのは「Pythonの習得」と言うより「一般的なプログラムの考え方を学ぶ」事です。その点でもdorakuekさんの要求にあってるんじゃないか、と思います。巻末に「Pythonを学んだ後勉強した方がいい言語」や「推薦書籍」が挙げられているので、その点でも要求に合っている、と思います。上記の書籍を終えた後、「ゆっくりと」別の言語の候補を考えればいいでしょう。 Pythonはオープンソースのフリーウェアなので、特に「買う」必要性もありません。あらゆるプラットフォーム用にPythonは用意されているので、お手軽にダウンロードして使い勝手も試せます。本気でプログラム学びたいのなら、早速ダウンロードしてみましょう。後で日本のPython公式ページへのリンクを貼っておきます。 また、そこではWeb上で読めるPython関連のドキュメントも置いてあるので、「今すぐ始める」には良い環境を提供していると思います。
- 参考URL:
- http://www.python.jp/Zope/
- neKo_deux
- ベストアンサー率44% (5541/12319)
こちらのサイトが参考になると思います。 真・プログラマになるには http://naruniha.tank.jp/naruniha/ | 第5章 プログラマになるには II(勉強編) | Q:たくさんのプログラミング言語があり、どれを覚えれば良いのかわかりません。どれを覚えれば良いのでしょうか? | Q:就職に有利なプログラミング言語を覚えたいのですが、どの言語が就職に有利でなのでしょうか? | Q:できれば、高収入を得られるプログラミング言語を覚えたいのですが、どの言語が高収入なのでしょうか? 辛辣な書き方もありますが、概ね事実です。
- koko_u_
- ベストアンサー率18% (459/2509)
プログラミング言語を学ぶこと自体が目的なのでしょうか。 それとも具体的にプログラムしたいモノがありますか? 前者であれば、学習的な意味合いで C 言語がオーソドックスです。 さらにマニアックに攻めたい場合は lisp などがよいでしょう。 ただし、いずれも実用的ではありません。 後者の場合は具体的な問題領域に応じて適切な言語が異なるので 別途質問するとよいでしょう。