結城浩のJavaの本『Java言語プログラミングレッスン第3版』が刊行されるそうです

広告

『Java言語プログラミングレッスン第3版』無料プレゼント“に飛び乗る形で。

「結城浩のJavaの本」(敬称略)が発売されるそうです。11月16日発売だそうだけど、Amazonではもう買えるみたい。

プログラミングをこれから始めたい人はどの言語をやるべきか、というのはよく見かける疑問だけど少し前ならJava一押しでした。今は他にも良さそうな環境がたくさんあるけど、それでも悪くないです。この辺がよさそうなのを5つ挙げると

  1. C#
  2. Ruby
  3. Python
  4. Java
  5. ゲーム用のスクリプト

あたりです。間違っても最初からC言語をやるのは勧めません(勧める人もいるけど)。C言語は高級アセンブラであって、コンピュータのメモリの上にどのようにデータが乗っているかイメージできる人にとっては好き放題いじれて便利な言語ですが、初めてプログラミングをやるような人にやらせるような物ではありません。また、標準ライブラリではグラフィックもネットワークも扱えないため、どうしても教科書がつまらなくなります。Hello Worldと表示してみようとか、簡単なループ書いてみたり、そんなのをプログラミングに向いているか向いていないかもわからない人がやってモチベーションを維持できる?

以上に挙げたプログラミング言語は標準ライブラリが充実していて、ネットから特定の話題を自動的に集めてきて重要なところだけ抜き出して表示するようなプログラムがあったらいいなーと思ったときに簡単に作ることができます。すぐに役に立つものが作れるのはモチベーションの維持にはとても大事です。

オブジェクト指向をやりたいのなら、C#やJavaがよいです。RubyやPythonもオブジェクト指向はできるけど、スクリプト言語の手軽さを使うようなサンプルが多いため、C#やJavaのほうが勉強には向いています。オブジェクト指向はまず誰かがオブジェクト指向で設計したプログラムを見て真似をすることが大事になると思います。そしてJavaはそうした流儀をどうしても強要されるため、入門書を見て真似をしていていつの間にかに癖になったころにデザインパターン本とかを見ると「ああ、あれが○○パターンだったのか」と気づくことになるでしょう。しかし、例えばC++みたいなのを最初にやるとまず上手にオブジェクト指向で設計する方法をやらなくてはいけなくて、これがつまらないので向いていない人はこの辺で挫折します。悪いこと言わないので、Javaでもやって教科書とかのサンプルを写経するあるよろし。

あと結城氏は良質の教科書を書くことで定評があります。彼の本で特に好きなのは

です。これは電子書籍でも買えます。比較的ややこしいセキュリティ関係で使われる暗号についてわかりやすく書いてあって、大学の暗号技術の講義でもこれを教科書に使えばいいのに、という出来。あとはデザインパターン本が初期の傑作かな。

個人的にはデザインパターンというのは本を読んで覚える物ではなくて、写経しているうちに自然と癖になるものだと思っているので本で読むにはちょっと退屈だけど、彼の本ならOK。

最近は数学ガールシリーズが評判がよいです。フェルマーの最終定理が証明されたけど、とてつもなく難しくて素人には理解できないのだろうなと思っていたけど、読んでみると案外すっきりしたのが新鮮な感激でした。

乱択アルゴリズムはGoogleとかIT系企業に行きたい人は知っておくといいかも。ああいうところはホワイトボードで簡単な問題を解く、プログラミングコンテストみたいなことをやり、たぶん乱択は出題されないとは思うけど、コンテスト向け問題に関心のある人なら知っておくと便利な技術です。

プログラミングの数学はそんなに高度な内容は扱っていないけど、数学を復習してみたいって人には便利な道具箱という感じ。

広告