愛車:マツダアテンザ
Webを中心とした、ビジネス&テクノロジーに関する思いつき
by F-shin
[ このサイトについて ] [ F-shinについて ] [ トップ ]
author:えふしん
photo_20.jpg
藤川真一について


モバツイの中の人
人の良いジョンカビラと言われます。ソフト哲学者を目指します。
AMN sponsor rolls
応援します!
ツイッターやるなら
for iPhone App
Google Friend Connect
このカテゴリ[書評系評論]の最新30件
SEOには、運用のSEOと設計のSEOの2つのフェーズがある。 CS4のお得な購入方法~法人税が分かれば、会社のお金のすべてが分かる 「インターネット&Webの必須常識100」の執筆に参加しました! ニコニコ動画が未来をつくる ドワンゴ物語 「ワタシが主役」が消費を動かす―お客様の“成功”をイメージできますか? 「紳竜の研究」を心で記憶する。 真のライブをゲットせよ 〜2011年 新聞・テレビ消滅〜 やっぱり仕事で重要なのはプロモーション力だと思う - 「仕事するのにオフィスはいらない」 着々と広がるPython包囲網に君は立ち向かえるか?! 勝間和代さんの本が苦手な理由 ネットオタどもは自分の来た道を常に振り返るべき〜グランズウェル 買いたいけど買えないアマゾンカートの中身一覧 才能のあるレジのおばさんに相応の給与が支払われない合理性 GoogleDan ネットで売れるもの売れないもの ザ・プロフィットまとめ3〜利益について考えることの重要さを知る〜 血液型の説明書シリーズ ザ・プロフィットまとめ2〜マイクロソフトはどこで利益を出しているか?〜 ザ・プロフィットまとめ1 Hot Pepperミラクル・ストーリー 彼女があのテレビを買ったワケ 「正しいことやりたきゃ、偉くなれ」 〜月刊アスキー8月号 利益の方程式を読みながら無料サービスの「顧客」について考える。 月刊アスキーって面白い本ですね。 思考の整理学 明日、EMOBILEを買います。 「オタクはすでに死んでいる 」を読んだ 「Web担当者を育てるコミュニケーション力」を読んだ 成功したプロジェクトのキーマンたち、を読んだ 「Webサイトプランニングブック」を読んだ
[このカテゴリをもっと見る]
F's Garage関連
Powered by
Movable Type
■お知らせ
モバツイッターが、Open Web AwardsのBest Mobile Based Twtter Appを受賞しました!

December 25, 2003

と、偉そうなタイトルをつけておきながら、僕はVC++でアプリを作ったことがない。作る機会に恵まれてないのもあったが、VBに比べチャレンジして成果をコミットするだけの時間対スキルがないのも原因だ。

ということで、猫でもわかるシリーズのNewバージョンが出ていたので即買いした。

猫でもわかるネットワークプログラミング

前シリーズの猫でもわかるWindowsプログラミングはとても良い本だった。

Win32プログラミングがこんなにシンプルなものだと教えてくれた本だった。
Win32のプログラミングとは非常に乱暴に言うと、こんな感じだ。

・アプリケーション起動時に呼び出されるWinMain関数にお決まりの処理を書く。
 大体、初期化処理を書いた後は無限ループに入る。終了処理が呼ばれたらループを抜けて終了する。(じゃないと、×ボタンで終わることができないアプリになる)

・ボタンが押されたときなどに呼び出されるの単一の関数名は、↑の初期化時に登録しておく。(この登録方法もお決まりの書き方がある)いわゆるコールバック関数というもので、イベントが起きたときに向こうから呼び出してくれる関数だ。その中で、プログラムの機能実現に必要なイベントを拾って、処理を記述する。実態は、いわゆるswitch文で欲しいイベントを振り分け、自分で作った関数を呼び出すような分岐プログラムに過ぎない。

この分岐処理の内容如何でゲームだろうがWordだろうが通信アプリも作られていると言うことだろう。あとはOS様をどうコントロールするか?である。

・・・そんなことを教えてくれる本だった。実際、もっとわかりやすいので、この辺知りたければ本を買うと良い。とにかくWin32の基本的な制御構造自体は驚くほどシンプルである。でも、これを簡単に説明してる本は非常に少ないし、このシンプルさが初めて理解できたのがこの本だ。言葉とは恐ろしいものである。

今回のネットワークプログラミングの本は、Win32のシンプルな制御構造の上にHTTP、FTP、SMTP、POP3、ソケットプログラミングによる同期/非同期アプリの作り方を知ることができる。重要なのは制御構造を知ることなので、ネットワークの動きが詳しく解説されている。これはネットワーク関連の仕事に関わるなら買っておいて損はしないだろう。

また、ネットワークプログラミングであろうが、Win32のプログラムの基本構造からは離れないのでプログラムの構造自体、とても理解しやすいのはうれしい限り。

ちなみにWin32に対して、MFCやVBなどが存在する理由は、Win32のシンプルな構造は、先に記述したコールバック関数になんでもかんでもメッセージが送られてくることを意味し、分岐がやたら冗長になって、きっと不具合の元になることだろう。また、異様に1パターンな定型処理も多いだろうし、さまざまな機能が実装されたWin32apiの関数の引数もやたら長いのが多い。

このように、さまざまなメッセージのハンドリングが一つの関数内に記述されるのを防ぐために、クラスとして機能をまとめ、プロパティ、イベントという仕分けされた形でプログラムを記述するようにし、わかりやすくしたのが、MFCだったりVBだったりするのではないだろうか?(VBは、さらに、いろいろかぶせてあってメモリ保護などの機構があるわけだが。)

ただ、アプローチとしてWin32アプリを一度経験するのは重要だと思う。
結局、ブラックボックスのVBで自動的に発生するイベントに実装を記述するのではなく、コールバック関数の分岐を経験したほうが圧倒的に、イベントの存在意義は理解しやすいと思う。

同時に、一番中途半端なのはMFCではないだろうか。あれはメッセージの意義が理解しにくかった。スケルトンコードとやらも、いきなり大量のクラスと格闘しなくてはいけないのは辛い。とりあえず、自己スキルを棚上げにさせてもらうと、そんな印象だ。Win32レベルで考えると、とてもしっくりくるのに。本が悪かったかな?!個人的には、Win32レベルで、かったるいところまで知ってから便利さを実感するのがMFCの魅力ではないのかな?と。

もう、いよいよ.NETの時代になりそうだし、さよならWin32apiという話も聞くが、いまやC言語はプリミティブな技術だと言い切らせてもらえば、プリミティブな技術は不変だと思われるだけに、Win32を勉強するのはVBからJavaやC#に移行しつつある人にもオススメだ。このお正月休みにでもチャレンジしがいのある課題だと思うがどうだろうか?

■関連キーワード検索(powered by BLOGNAVI)

■同じカテゴリ[書評系評論]のエントリー
<<前の記事 あたりまえのアダムス
>>次の記事 関口房朗「金持学」
■このblogの書き込み最新3件
グッドデザイン賞に出てたおしゃれなサイクロン掃除機がなんと半額以下。 SEOには、運用のSEOと設計のSEOの2つのフェーズがある。 ワーナー作品のオンデマンド配信サービス「ワーナーオンデマンド」