multiplusスマートフォン用の表示で見るmultiplus気まぐれに書評とか。この広告は、90日以上更新していないブログに表示しています。World!」とコンソールに出力するのでしょうか?これらの問いは、普段コードを書いているうちにはとくに何の疑問ももたずに通過してしまう話です。パフォーマンスを重視しながらコードを書く必要が出てきた場合や、コードをリファクタリングしてより保守性・メンテナンス性の高いものにする必要が出てきた場合、どうしても「物事の根本原理」に立ち返る必要が出てくる場面に直面します。パフォーマンスチューニングの場合だと、そもそも変数はどのようにメモリ上に管理されているか、という話に表れてきますね。リファクタリングしようとする際にも問題になってきます。コードになるか、という点を追求するには、オブジェクト指向に対する深い理解が鍵となってきます。本書は、「変数」「スコープ」「型」などといった、プログラマが「そういうものなんだ」と入門書で飛ばしながら読んでしまう箇所を深く追求しつつ、それらの概念の理解をより深めるには最適な一冊だと思います。「あ、そういうことなんだ」となること間違いなしです。何より、ひとつの概念を説明する際にさまざまな言語を比較しながら説明してくれるのは非常にありがたいです。知っている言語があると、その言語を手がかりにその概念の理解を深めることができますし、知らない言語・名前を聞いたことがあるだけの言語があったとしても、「この言語にはこういう機能があるのね」と自分の了見が広がること間違いなしです。if文とは?traitとは?私が読んでいてとても興味深いと思った箇所は2箇所ありました。ひとつは、if文についてです。一つは、traitという概念です。if文は、普段は何気なく使ってしまう文法ですし、どの言語にもある文法です。何より、プログラミングを何もわからない初心者に一から説明せよ、というお題を与えられたとき、説明せずには通れない文法でもあります。ifとは何でしょうか?処理の分岐ですか?0と1しかないコンピュータの世界で、どのようにそのような複雑な概念を表現しているのでしょうか?ここまで説明できる人は、なかなかいないと思います。if文は、アセンブリを解析するととても明快です。スキップといっても処理を飛ばすことではありません。あるラベルに飛んで、別の処理を行い、次のラベルに飛んでいく一連の流れをifは指し示しています。これはなかなかおもしろく、ではswitchとifはどのように違うか?ということもまた追求可能です。こちらも、アセンブリを解析してみると結構違う処理をしてるんだなあという発見ができるかと思います。traitについては、そもそもJavaをやっているうちはあまりなじみのない概念かと思います。Javaのインターフェースを「不便だなあ」と思い始めると、途端にtraitが欲しくなってきます。私も最近、Javaのジェネリクス×インターフェースという組み合わせで何度も「不便だなあ」という思いに駆られたので、traitのある言語をメインに使っていけたらなあと思ってしまうくらいには便利だと思います。traitも説明が難しいですが、近い概念で有名なもので説明すると、Rubyのモジュールがそれに近いです。モジュールは、クラスにincludeすることでモジュールの持つメソッドをそのクラスで呼び出し可能になります。コードを見ていると本来のそのような機能を目的に使っているというよりは、名前空間の確保のために使うことが多いようですが。Javaの場合、Rubyのモジュールのようにメソッドを差し込む機能はないので、親元のインタフェースにメソッドを追加で記述する必要が出てきてしまいます。それですと、抽象度の高い実装は難しくなってしまいます。メソッドも出てきましたが・・・)trait、便利ですね。他にも、スレッドの話であったり、オブジェクトがそもそも何なのかといった話も載っており、今使っている言語の理解がより深まること間違いなしなので、ぜひ読んでみてください。今年に入ってから買って、3回くらい読み返した本です。本日3回...2016-11-23JJUGのLT会に行ってきたJJUGのLT会に行ってきました。長期休暇につき、たまには本のことを思い出して書かねば、とい...2016-05-07『純粋理性批判』ノート*「感性」と「感覚」の違い。is?yuki.学生時代はフランス現代思想あたりでさまよっていました。今は金融工学とJavaなどでさまよっています。ArchiveSearchはてなブログをはじめよう!yukisaltoさんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。