最近は頭の中はコンピュータのこと考えているのが80%ぐらいになっている。とにかく本を読んでいる。Webもかなり参考になる。
こうして今いろいろ勉強してみると、やっぱり素直に大学で情報工学科行っておいた方がよかったのかなぁとか思う。自分が知りたいことをいろいろ検索していると、しょっちゅう大学の講義資料とかそういうのに出くわす。情報工学科の人たちはこんなに楽しいことを学部の3年とかで勉強しているのかぁ、とか思うと、やっぱりそっちのほうがよかったかなぁって思う。まあいまさらどうしようもないので、いまからでも順番に勉強していく。
以前に日本のソフトウェア輸入額は輸出額の100倍あるって書いた。いろんな本を一度に読んでみて、その理由の一つが分かった気がする。情報が足りないか、誤っていることが多いと言うこと。
だいたい読む本は海外で出版されたものの翻訳が多い。海外の本にはかなりいい書籍があるということが最近分かってきて、さらにそれらは本当に今の、最新の情報が載っている。でも、それが翻訳されて発売されるまでにはかなりの時間を要するし、すべての本が翻訳される訳じゃない。
そしてその翻訳が意味不明なことが多いのも問題を大きくしていると思う。Windows SDKとかでもそうだったりすることもある。デバイスドライバの本を読んでいて、意味の分からないところがあって、なんどかその前後のページを読み直していて、ちょっと気がついて、それがもともとどんな英語だったか想像してみたら理解できたって事があった。
コンピュータの独特の用語とかそういったものが翻訳されるときに、どうするかというのは結構難しいと思う。
たぶん英語の文章も慣れれば日本語と大差なく読み進められると思うし、多少時間がかかってでも読めるようにしておいたほうが、あとあと楽だろうと思う。とにかく日本語翻訳の本を読むのはなるべく避けた方がいい気がしてきた。
日本の技術者が自分で書いている本はすごくいい本がたくさんあると思う。でも翻訳の本は、やっぱり読みにくいし分かりにくいと感じることが多い。
タイトルに「プログラミングは楽しいね」と書いたけど、今はプログラミングそのものよりコンピュータとOSの仕組みの理解に時間をかけている感じ。プログラミングの勉強としては、デザインパターンが最近の課題かと思う。言われれば分かるけど、自分でやってみてそれが本当にその方法論を実践できているのかを確認できるだけの力がない。
C++のライブラリでPOCOというのがある。これはデザインパターンを駆使して作られていると思う。そしてそれをC++で実装しているわけで、最近はこのソースコードが僕の教科書になっている。教科書にしてよいかどうかははっきりとは分かっていないけど、いろいろな評判を聞くと、決して悪いことはなさそう。
ところでC++難しいね、やっぱり。少しずつ理解していこう。
My Daily Programming Life...
APIフックとかドライバとか
仕事の中で今はWindowsのAPIフックとかフィルタドライバとかの話が面白い。まあ、普通のAPIフックはユーザーモードのちょっとテクニカルな話なだけでそれほど目新しいことはないけれど、フィルタドライバはかなり違った世界だ。
デバイスドライバは情報も少ないし、種類もいろいろあるし、かなり理解は大変。とくに最初がたいへん。なんとなくその世界が分かってくるまでにかなりいろいろ読んだ。CプログラミングのHellow Worldのようにはいかない。
まだまだドライバを書けるレベルにはほど遠いけど、入り口にはたどり着いた感じ。これまではどこが入り口かも分からなかった。
ドライバはなんか、Windowsと対等に渡り合える感じがいい(笑)Windowsだろうがなんだろうが、俺が支配者だ!みたいな感じです。まあ、その結果がブルースクリーンだったりするわけですが・・・。
フィルタドライバに関しては、実デバイスをいじる訳じゃないのでハードウェアの知識が直接必要になるわけじゃない。でもその周辺で何が行われるかは知らないといけない。とりあえず、ファイルシステムフィルタをきちんと理解して自由に書けるようになりたい。
デバイスドライバは情報も少ないし、種類もいろいろあるし、かなり理解は大変。とくに最初がたいへん。なんとなくその世界が分かってくるまでにかなりいろいろ読んだ。CプログラミングのHellow Worldのようにはいかない。
まだまだドライバを書けるレベルにはほど遠いけど、入り口にはたどり着いた感じ。これまではどこが入り口かも分からなかった。
ドライバはなんか、Windowsと対等に渡り合える感じがいい(笑)Windowsだろうがなんだろうが、俺が支配者だ!みたいな感じです。まあ、その結果がブルースクリーンだったりするわけですが・・・。
フィルタドライバに関しては、実デバイスをいじる訳じゃないのでハードウェアの知識が直接必要になるわけじゃない。でもその周辺で何が行われるかは知らないといけない。とりあえず、ファイルシステムフィルタをきちんと理解して自由に書けるようになりたい。