それがベストプラクティス。見るこれだけの分量で、これだけサクッと読める本があるだろうか。ダントツのわかりやすさで疑問が氷解していくだろう。「続・初めてのPerl」より上のレベルの本でつまづいているなら、この本を読んで理解し、次のステップへ行きたいところ。見るEffectiveシリーズは、他の言語でも良書として知られており、Perlでもぜひ押さえておきたいところ。Perl」は「Perlベストプラクティス」と同じような方面で書かれており、この2冊は合わせて読みたいところである。見る「初めてのPerl」同様、プログラマとして大切なことが書かれている。実は、この何年にも前に書かれている本にすでに、それらは登場している事を読み返してびっくりした。私はJavaは得意ではない。世の中にはやらなければならないということがあるのだ。見るJavaにポインターはないと誰がいったのだろう。確かにポインターはないかもしれないが、もう全部「参照」と言ってもいいくらいなのがJava。いうか「参照」がわかっていないとなにもできないということに気づかせてくれる本。見るこの2冊でJavaの仕組みや文法を学んだ。Java初学者には読むのに時間がかかりすぎた感も否めない。見る本当にJavaの文法を理解したのだろうか?そして知識の定着ぶりはどうだろうか?それを黒本で試した。見るJavaをやっていると、「この単語って何を意味しているんだ....」という場面によく出くわす。私がわからなかったのが「コンテナ」という単語。「入れ物」という意味合いはわかっていたが、Java的にはなにが「入れ物」なのだろうか?GUIプログラムを少し覗いてみると理解できるかもしれない。見るEclipseを使わないJava開発は今や考えられないのではないだろうか。その設定ってどこからできんねん!」と言いたくなるほどいっぱいある。この本で、ざっと機能を掴める。見るJavaというとオブジェクト指向。Perlでもオブジェクト指向。Rubyもオブジェクト指向。JavaScriptだってオブジェクト指向。その中で、オブジェクト指向って「こういうモノ!」と強く主張しているのがJava界隈のように感じる。そんなJava界隈で通じるオブジェクト指向をこの3冊で学べる。シーケンス図はこの本で理解できました。クラスを作って、インスタンスを生成するJavaの世界にさあ行こう。outが参照しているオブジェクトなどの小話が随所にあり面白かった。見るコレクションフレームワークを使わないと、Javaの開発は困難を極めるかもしれない。あと普通に開発でコレクションフレームワークは使われているのでわかってないと置いてきぼりをくらう。Perlの配列とハッシュだけあればいいのではないか?MapとPerlのハッシュってなにが違うんだ....などの思考が理解を邪魔し、コレクションフレームワークは先輩の方や友人にもかなり教えていただきました。見るAPサーバという単語を学生時代には聞いた事がなくどういうモノをさすのだろうかと思い買ったもの。JavaでWEBアプリを作るときのサーバ構成の基本はこのように構成するといったようなことが学べた。見るWEBコンポーネントについての本。Javaではこの仕様に基づき作っていく事になる。見るやはり知識の定着具合を確かめるため黒本を用いた。私は今まで、「クロージャは作られたときの状態を保持する」という言い方をしてきたが、これは厳密には間違いだったようだ。"\n";結果:567この例だと、確かに作られたときの状態を持っており、その状態に変化を加えているように見える。10;が実行されたものを見ている。これは、関数が作れたときの状態を保持するのではなく、作られたところの外側の変数をただ参照していることを示している。参照であるので、お互いの関数は同じ$cを更新している。endendHoge.new.foo結果:2344確かに外側のcが更新されている。「作られたときの状態を保持する」という表現の方がしっくりくる気がする。}の中にいるcは外側のcを見れている。bingo_nakanishiの他言語出身者のためのPerl入門このあたりで書きました。前回は、Perlで書いたのだけど、Rubyでも書いてみたので載せます。動的型付け言語と静的型付け言語における多態性オブジェクト指向では、多態性(ポリモーフィズム)という発想がでてくる。この多態性を実現する方法を今回は2つ紹介する。Rubyは動的型付け言語であり、ダックタイピングという手法で、多態性を実現できる。対して、静的型付け言語であるJavaでは上位の型を作ることで多態性を実現できる(今回はインタフェースを用いてみた)。ダックタイピングRubyでのタックタイピングを見てみよう。Duck.newhuman.touch(dog)human.touch(duck)いま、このようにhumanがtouchすると、おのおのの動物が鳴くソースを書いてみる。(犬)はhuman(人間)に触れると「ワンワン」と鳴くとする。oがdogならばDogのsayが呼ばれているところである。Javaは型を書かないといけないJavaでは引数に受け取る型を書かないといけないので、DuckとDogを受け取ることができない。Humanクラスのtouchメソッドに注目してほしい。Dog();human.touch(duck);human.touch(dog);}}結果:コンパイルエラーインタフェースそこで、JavaではDuckとDog以外にさらに上位の概念であるAnimalという型を作ってやる。今回はこれをインタフェースで実現する。say();}DuckとDogはこのAnimalを実装し、Humanのtouchメソッドは、Animal型を受け取るように書き換える。Dog();human.touch(duck);human.touch(dog);}}結果:ガーガーワンワンこのように、明示的に型を書かないといけない言語では、さらに上位の型を作らなければ、柔軟なことをしにくい。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。