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


初代モバツイ開発者
想創社再創業 / KMD博士課程
著書〜100万人から教わったウェブサービスの極意―「モバツイ」開発1268日の知恵と視点 [Kindle版]
お求めやすい夏休み特価!
このカテゴリ[書評系評論]の最新30件
システムがもたらす信頼を如何に作るか DeNA南場さん「不格好経営」 吉野家が「デフレ」の象徴は間違い〜「本当の経済の話をしよう」を読んだ エンジニアが一番、エンジニアらしく、シンプルに独立する方法 リーンスタートアップ実例として、オイシックス成功の苦労を描いた本「ライフ・イズ・ベジタブル」 「とにかくやってみよう」を否定する「リーンスタートアップ」まとめ4(完) 「とにかくやってみよう」を否定する「リーンスタートアップ」まとめ3 「とにかくやってみよう」を否定する「リーンスタートアップ」まとめ2 「とにかくやってみよう」を否定する「リーンスタートアップ」まとめ 「さあ、才能に目覚めよう」をやってみた 楽天ゴールデンイーグルスというベンチャー企業~「絶対ブレない「軸」のつくり方」書評 全文検索機能をつけたいWebサービスで必ず考慮したい1冊「Apache Solr入門」 マスコミは、もはや政治を語れない 「自分をデフレ化しない方法」を読んだ。 ツイッターがあれば名刺はいらない ~ 「ネットがあれば履歴書はいらない」 SEOには、運用のSEOと設計のSEOの2つのフェーズがある。 CS4のお得な購入方法~法人税が分かれば、会社のお金のすべてが分かる 「インターネット&Webの必須常識100」の執筆に参加しました! ニコニコ動画が未来をつくる ドワンゴ物語 「ワタシが主役」が消費を動かす―お客様の“成功”をイメージできますか? 「紳竜の研究」を心で記憶する。 真のライブをゲットせよ 〜2011年 新聞・テレビ消滅〜 やっぱり仕事で重要なのはプロモーション力だと思う - 「仕事するのにオフィスはいらない」 着々と広がるPython包囲網に君は立ち向かえるか?! 勝間和代さんの本が苦手な理由 ネットオタどもは自分の来た道を常に振り返るべき〜グランズウェル 買いたいけど買えないアマゾンカートの中身一覧 才能のあるレジのおばさんに相応の給与が支払われない合理性 GoogleDan ネットで売れるもの売れないもの
[このカテゴリをもっと見る]
Powered by
Movable Type

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件
本ブログは移転しました インターネットの遊び方を身につけよう トトロが陽なら、『風立ちぬ』は陰?〜『風立ちぬ』の感想