• ベストアンサー

言語の勉強についてアドバイスをお願いいたします

コンピューターのことを深く知りたくて、1年ほど前に一番興味のあったネットワークの勉強から始めました。 その結果、関心はネットワーク → セキュリティ → Webプログラミングに移りました。 言語の入門書としてC、Java、C++、Perl、JavaScriptを10冊ほど、HPではアセンブラも読んでみました。 プログラムの思想らしきものは解ったつもりですが、コードを読んでもそれが関数なのか、 作者の造語の変数なのか判断に迷う程度から抜け出せません。 これではいけないと思って、Pealに焦点を絞ろうと本屋(地方です)に行きましたが、 ラマやラクダどころかPealの本は1冊も置いてありませんでした。 PHPの本はたくさんありました。 ここのBBSを見ても、PerlよりもPHPの方がにぎわっています。 『日経ソフト』もPHPの連載が始まり、来月はRubyの特集です。 そこでPerlをやめて言語の勉強の順序を次のようにしようと思っています。 Ruby(併行してHTMLとJavaScript)   ↓  Java → C → PHP → Perl まず『プログラミングRuby 第2版 言語編』とkeisukeさんのサイトで勉強するつもりです。 ネットワークの勉強をまったくの我流でやったので、ずいぶん遠回りをしてしまいました。 そこで言語の勉強について諸先輩方にアドバイスをいただけたらと思います。 方針、本、サイトなど何でも結構です。よろしくお願いいたします。 毎月読んでいる月刊誌は『日経ソフトウエア』『日経リナックス』『ネットワークマガジン』です。

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

  • ベストアンサー
  • galluda
  • ベストアンサー率35% (440/1242)
回答No.7

がると申します。Web系多々やっておりますプロのエンジニアです。 もしお仕事でなさるのであれば。 私は、まずマシン語とCを学ぶことを強くお勧めいたします。 マシン語は、CASL II程度でOKです。 マシン語によって「コンピュータがCPUとメモリでできあがっていること」「CPUの基本動作」などを理解出来、Cによって「メモリの使われ方」が理解できます。 しかる後に、いわゆるOOPL(オブジェクト指向プログラミング言語)である、C++ないしJavaに進まれるとよろしいかと思います。 時々「昨今のWebプログラムにはそんな原始的な言語の知識はいらない」とか言う方がいらっしゃいますが。 業務で実際に見ている限り、そういう人は、比較的早いタイミングであっというまに壁にぶつかってしまうので。 どうせなら、きちんと基礎から学ばれることをお勧めいたします。 …とはいえ。 もし「緊急に仕事で必要」なようであれば…PHPが、多分、現在業務では一番多く使われているような気がしますが。 Javaを「近々のお仕事で」学ばれる場合、フレームワーク(StrutsかSeasarが多いように感じます)を一緒に学んでおいてください。フレームワークを知らないと、Javaの現在の現場の大抵で困られてしまうので。

fukurai6
質問者

お礼

ありがとうございます。 「これは約束事、マジナイ語」と言われても、そこが気になる質です。 アセンブラから学ぶのは性にも合っていそうです。

その他の回答 (7)

noname#38063
noname#38063
回答No.8

他の方も書かれていますが、実際にプログラミングの練習を始められることをお薦めします。プログラミング言語は実際の自然言語(日本語とか英語とか普通の言語)とは異なりますが、自然言語でも、文法を理解して基本的な単語を覚えただけで、会話や読み書きの練習をしなければ、何も身につかないのと同じで、プログラミング言語も実際のプログラミングの練習なしでは身につきません。 挙げられたプログラミング言語の中ではPerlが一番簡単だと思いますが、プログラミング言語の基本をマスターされたいのであれば、C(あるいはC++)かJavaをまず勉強されるのがよいかと思います。プログラミング言語は、みんな似ていますので、一つマスターすれば、他のものも、マスターしているものからの類推で比較的簡単にマスターできるようになります。(もちろん、文法や関数は少し異なりますが。) 既にどれかの言語の入門書をお持ちなら、それで始められればよいでしょうし、お持ちでないなら、Amazonなどで評判のよい入門書をお求めになり、その中の練習問題を一つ一つ実際にコンピュータ上でプログラミングすることから始められるとよいと思います。実際に自分の頭と手を使ってプログラムを書き、動かしてみないと、畳の上の水練からは抜けられません。それに、自分で書いたプログラムが予想した通りに動くことがプログラミングの一番の楽しみだと思います。

参考URL:
http://www.amazon.co.jp/
fukurai6
質問者

補足

ありがとうございます。 決して本を読むだけでマスターしようなどとは考えておりません。 (できるとも思っておりません。^^;)

  • maguro999
  • ベストアンサー率21% (59/273)
回答No.6

>もう少し体系的なものを読む必要があると感じております。 いやだから読む必要より やる必要の方が重要。 行儀よく本読んでプログラミングなんて覚えられない。 作らないと

fukurai6
質問者

補足

ありがとうございます。 肝に銘じます。

  • maguro999
  • ベストアンサー率21% (59/273)
回答No.5

>言語の入門書としてC、Java、C++、Perl、JavaScriptを10冊ほど、HPではアセンブラも読んでみました。 >Pealの本は1冊も置いてありませんでした。 一冊Perlの入門書読んでいるんだよね? だったらわざわざ新しく捜す必要あるの? 入門書一冊読んで理解できないようだと はっきりいって質問者にはプログラミングは向かないと思いますね。 読むだけで覚える事なんてそもそも無理なんですけどね。

fukurai6
質問者

補足

ありがとうございます。 『10日で使えるPerl/CGI』を読みましたが、 もう少し体系的なものを読む必要があると感じております。

  • W_H
  • ベストアンサー率47% (21/44)
回答No.4

参考までに、一つ。 参考書は親切じゃないです。まぁ、本当の本当に初心者向けなら話は別ですが、そうじゃないものであっても、読んだだけでは理解できません。 参考書とは、あくまでソースを移し、その後改造して結果がどう変わるか変化を見定め、一体何が何をしているのかを理解するものだと考えましょう。(いわゆる辞書や文法書です。) したがって、一つの言語もある程度マスターせずに、本読むだけ、コード読むだけでは、一向に技術も知識も向上しません。 ついでに、参考書は最初の一冊目以外は、辞書を買い足すのと、そう変わりはないです。 後、話を見る限り、何が関数か分からないようなので、ぼくはまずはperlを習得する事をオススメします。 なぜなら、perlは変数には必ず$が付き、自作関数には必ず&が付くという決まりがあります。なので、他人のコードを見ても理解しやすいでしょう。 学習方法は、ぼくの場合まず丸写し。次に解説を読み、新関数を単体で使って遊んでみる。という手順をふみます。 特に関数にいろんな値を入れて遊ぶという事は、非常に大切な事となります。とにかく遊んで、関数について理解すれば、プログラミングも非常に楽になりますし、自分にとって一番書きやすい書き方を知るきっかけになります。

fukurai6
質問者

補足

ありがとうございます。 関数を自分で使ってみるというのは良い方法ですね。 どの他人のコードから真似ていけばよいのか、迷っております。

回答No.3

全くの私見であり、独断と偏見なんですが、 私は、アセンブラからプログラミングを始めたもので アセンブラーを知らずして、コンピュータを深く知ることはできないと考えています。 当時は、アセンブラーで書かねばならないアプリが多かったので、必要にせまられてということもあったんですが。 が、最近は、アセンブラで書くようなアプリはまずないでしょうから、 仕事には直接に役立たないようですね。 そのためか、アセンブラの良い入門書もありません。 アセンブラを習得するなら、これは「道楽」なんだと、割り切ってやって下さい。 ちなみに、x86アセンブラ関係を勉強するのに、適当な書籍というと 「プログラミングの力を生み出す本」橋本洋志他著、(オーム社) 「Linuxのブートプロセスをみる」白崎博生著、(ASCII) ぐらいかな。

fukurai6
質問者

補足

ありがとうございます。 確かにアセンブラでレジスタの構造を知ってから、Cが少し解ったような気がしています。 「プログラミングの力を生み出す本」は面白そうですね。 必ず読んでみます。

  • koko_u_
  • ベストアンサー率18% (459/2509)
回答No.2

じゃあ、私も私見で。 Webプログラミングをするのに C 言語は不要です。アセンブラも要りません。 最初に Ruby で行くなら、Ruby on Rails などで、まずは「実際に動くもの」ができるようになって下さい。 その際、JavaScript はやっぱり要りません。当分 Java も PHP も Perl も忘れて下さい。 「プログラミングRuby 第2版 言語編」も持ってますが、Webプログラミング向けではありません。他の Rails っぽい参考書にしましょう。 もちろん、Ruby でなくとも PHP から始めても、Perl から始めても構いません。要はプログラミングでは「動いてナンボ」ということです。

fukurai6
質問者

補足

ありがとうございます。 >「プログラミングRuby 第2版 言語編」も持ってますが、Webプログラミング向けではありません。 >他の Rails っぽい参考書にしましょう。 『Ruby on Rails入門』を読みたいのですが、書評を見たらまず『プログラミングRuby 第2版 言語編』が先かと思っていました。 基礎文法はHPだけで理解できますでしょうか。 Perlは省略形が多く、素人が参考にするコードを選ぶのは難しいのではと思い止めました。

回答No.1

あくまで私見ですが。 まず、言語の勉強ばかり多くしてもしょうがありません。プロとしてはどんな言語でも使える事は大事ですが、それよりも一つ二つの言語をマスターして、アプリケーションが自由に作れるようになった方が良いです。 Web プログラミングに興味を持っていらっしゃるようなので、Java、PHP、Ruby はなかなか良いと思います。C# や VB のような .NET 言語も良いでしょう。 ただ、最初に易しい言語(ガベージコレクションを備えている実装系、ポインタを隠蔽している言語など)を勉強してしまうと、真にコンピュータやプログラミングの事を理解するのが難しくなってしまいます。アセンブラからとは言いませんが、せめて C 言語をマスターしてから他の言語を勉強する方が逆に近道かと思います。

fukurai6
質問者

補足

さっそくアドバイスをいただき、ありがとうございます。 私の書き方が悪かったです。まずはひとつの言語をみっちりとやるつもりでおります。 >最初に易しい言語(ガベージコレクションを備えている実装系、ポインタを隠蔽している言語など)を勉強してしまうと、 >真にコンピュータやプログラミングの事を理解するのが難しくなってしまいます。 実はこれが気になっておりました。(素人が偉そうですが^^;) 『HACKING:美しき策謀』のバッファオーバーフローは面白いと思ったのですが、 なにぶん基礎力不足で完全には理解できません。 『猫でもわかるネットワークプログラミング』も読んでみました。 ゲームプログラミングには、まったく興味がありません。 何かCで参考になる本を紹介してもらえませんでしょうか。

関連するQ&A

  • おすすめのプログラミング言語を教えて下さい

    昨日、プログラミング言語について質問させて頂きました。その結果、basic、Ruby, JavaScript, Python, Perl, PHP、C,C#,を勧められました。 しかしどれから勉強すればいいかわからず、また質問しようという考えにたどり着きました。 この中の言語ではどれがお勧めでしょうか? また、basicはVB、VBAなどがあり、どれのことを指しているのかが理解出来ないのでそのあたりも教えてくださると嬉しいです。

  • プログラミング言語の入門書について

    今、PHPを独学しているんですが、ちょっとした疑問があります。 WEB系のプログラミング言語を選ぶためにいろいろ調べていたとき、 『PHPはPERLがわかれば、大体わかる。』と何かで見ました。 で、 『RUBYはPERLが進化した言語だからRUBYがわかるとPERLがわかる。逆は無理』という話も見たことがあります。 ということは、RUBYをマスターすると色々わかるのでは? と思ったのですが、RUBYの入門書の書評を見ると、『全くの入門者には難しい』とありました。 じゃぁ…とPERLの入門書の書評を見ても同じような内容が… PHPの入門書を調べてもこれまた同じ WEB系のプログラミング言語の入門書~初心者向きの本に良書は少ないものなのでしょうか? ついでに、『入門者にとって、これはいい本だよ』という本があれば教えてください。 ちょっとした疑問なので、お暇な時にでもお答えいただけたら幸いです。

  • CMSを開発するのに必要な言語を教えてください。

    まったくのズブの素人で恐縮ですが、CMSを開発するのに必要な言語・知識を教えてください。 HTML,CSS,JavaScript位は分かるのですが、サーバーサイドプログラミング(プログラミング自体)は未経験です。 PHP,SQL,Perl,Ruby,C,C++などのプログラミング知識は必須でしょうか。 また、今から習得するとして、どのプログラミング言語を選択すれば良いのかご助言願います。

  • ブラウザが解読できる言語を教えて下さい html,

    ブラウザが解読できる言語を教えて下さい html,css,javascript他にはどんな言語を読めるんですか? php,ruby,python,perl? C,java? swift,kotlin?

  • 始めてのプログラミングは何の言語?

    始めてプログラミングを始めるには何の言語がいいですか? 今考えているのは、C/C++,C#,perl,JavaScript,Java などです できれば、簡単なものでも、一つの制作物ができるようなものがいいです 説明下手ですが・・・ 勉強途中でも1つ何か作れるようなというか 回答よろしくお願いします

  • プログラミング言語の勉強の順番

    プログラミング初心者です。プログラミング言語の効率的な勉強の順番を教えてください。HTML、CSS、PHP、JavaScriptあたりを学習したいと考えています。

  • プログラム言語全般

    今、僕はHPのプログラミングについて勉強しているのですが、 言語の種類が多くてどれから勉強すればいいのかよくわかりません。 基本であるHTML/XHTML、CSSまでは理解しているつもりです。 PHP、Perl、Ajax、javascript等の他の言語の特徴(どんなことができるのか)などがあれば教えていただきたいです。

  • サーバ側のプログラミング言語

    サーバ側のプログラミング言語としてどれが優勢なのでしょう。 CGI、Perl、PHP、JAVA、rubyが代表的なところのようです。 ざっくりと見た感じではPerlの方がCGIよりも良く、 更にPHPとPerlではPHPが優勢と読めました。   でも、WebでまだまだJAVAは耳にしますし、 rubyは国産で力を入れてるとか。 CGIは今後廃れていくのでしょうか。 JAVAはどうなるのでしょう。 何かご意見があればお願いします。

  • コンピューター言語について

    40代のサラリーマンです。 趣味で数学を勉強しているのですが、何か応用しようと考えたときにコンピューターでプログラムできないのが致命的だ、と感じています。 で、この年ですが何か言語を学ぼうと思っているのですが、何がいいのでしょうか。 C言語とか難しそうで、本屋をのぞいたらPerl、Ruby など初めて目にした言語の本が沢山ありました。 おすすめの言語があれば教えてください。

  • 言語は全部でいくつですか?

    プログラミング のカテには↓ ・ Microsoft ASP ・ C&C++ ・ CGI ・ Flash ・ HTML ・ Java ・ JavaScript ・ Perl ・ PHP ・ Visual Basic ・ Web Page Design ・ XML ・ その他(プログラミング) と、たくさんありますがこれらはすべて言語なのですか? あと、HP(サイト)を作りたいのでHTMLを勉強したいのですが何かいいサイトはありますか?

    • ベストアンサー
    • HTML

専門家に質問してみよう