ランダムウォーカー

守備範囲はコンピュータ、英語、Windows など。 あと株も。 

Ads by Google  (スポンサー広告)

                    --/--/--(--) --:--:--

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
Com(-) ] [ Tb(-) ] [ top↑ ]

manipulation  (Programming::Windows VIA C/C++)

                    2008/02/25(Mon) 02:08:46

現在二章:Working with Characters and Strings を読んでいるが、ちょっと待ってほしいことがありすぎる。 いつから Strcat() は StringCchCatEx() とか言うへんてこな名前になってしまったのか。なぜ引数を6つもとらねばならないのか。アホじゃないのか?

文字列操作に起因するバグが多いのはわかるが、ちょっとやりすぎではなかろうか。文字列に関するバグに対しては、偉いプログラマ達が文字列操作の前のコピー先バッファサイズ確認や、戻り値を入念にチェックすることなどの fail-safe 機構を伝統的に作成してきたはずだ。これらの代わりに fail-safe 機構をあらかじめ埋め込んだ関数を作成すればよいのは理解できるが、そもそもそれらの関数の構造を理解することに時間が掛かってしまいそうに思うのは私だけなんだろうか。そもそも MS の API には引数が多すぎる。確かに API を理解できる人にとっては便利になるのだろうが、こうも次々に新たなクソ多い引数を必要とする API をつくりまくらないで欲しい。

私自身あまりプログラマと言っていいほどプログラムを作成してきているわけではないのだが、世の Windows プログラマ達はこの状況についてどう思っているのだろうか。
複雑で欠陥があるかもしれない Fucking 関数の機構を丸暗記するより、基本的で単純な関数を用いてあらゆる引数や戻り値を想定して論理的に安全なコードを書くほうが絶対に面白いと思うのだが。

いきなり勉強する気が失せるので嫌になる。Windows が Unix 系プログラマに嫌われている理由がよくわかる。まぁ実際はどっちもどっちだと思うのだけれども。
だがこれが世の中の流れと言うのならある程度は乗らざるを得ないが、あきれるほど無駄に多い引数を要求する関数はさすがに知らん振りしてしまおう。

更に読み進めてみると笑ってしまわざるを得ない関数を発見した。知らん振りするべき関数の一つだ。
CompareString() 関数という関数だが、これは6つの引数を取り、そのうちの一つは関数の動作について微調整を行うためのフラグだ。そのフラグの中の一つがたまらなく可笑しい。

NORM_IGNOREKANATYPE

というフラグだが、文字列比較の際に、ひらがなとカタカナを区別しないで比較してくれるのだそうだ。日本人は自分の国の文字もロクに扱えないほどアホだと言う皮肉で作ってくれたのだろうか、それとも恥を知らない日系企業のリクエストだろうか。

もう本当にやる気が無くなる。こんなもの覚えたいと思うわけがない。
いやいや、しかしもうやると決めてしまったことなので最後までやるしかない。
読み進めていくと、更に笑える関数にめぐり合えるかもしれないし。

[ コメント (0) ] [ トラバ歓迎 (0) ] [ top↑ ]
- エントリー -
- 投稿エリア -



Pass:  管理者にだけ許可:   

 記事 [ manipulation ]  トラックバック

- エントリー -


この記事にトラックバック(FC2ブログユーザー)

プロフィール

Author:りん
FC2ブログへようこそ!

最近の記事
最近のコメント
最近のトラックバック
月別アーカイブ
カテゴリー
ブログ内検索
RSSフィード
リンク
By FC2ブログ

今すぐブログを作ろう!

Powered By FC2ブログ

ブロとも申請フォーム

この人とブロともになる

FC2Ad

FC2ブログ