書籍レビュー目次

Filed in , 読書感想文

漫画

恋愛物

コンピュータ

プログラミング

技術

マネジメント

卓上ゲーム

囲碁

int i の i ってなあに?

Filed in C/C++, prog

 ちょっと前に表題の質問を受けました。更にアクセス解析を見てると同じ質問でGoogleから飛んできてる人が少なからずいたのでお答えします。
 C言語なんかでプログラミングしてるとループカウンタとかでよく見る int i なんですが、回りのプログラマの皆様に聞いてみたところ、多くの人が「int の i なんじゃないの?」と返されました。なるほど確かに int の一時変数なんだから適当に int の頭文字でいいやというのもあるかもしれません。実際の由来も似たような発想なのである意味で正解でしょう。
 しかし実際にはこれC言語以前に発祥が確認されてます。
 今有力とされている由来としては、Fortranの整数型変数を宣言する為の規則が I で始まる識別子であることから来ています。Fortranが最もさかんに使われていた時代や環境では、長い識別子をサポートしていなかった為、識別子の長さも識別子のバリエーションを増やす為に利用されていたそうです。なのでとりあえずループカウンタに整数型が欲しいな程度の物に長い意味のある識別子を使うのはご法度だったので、ループカウンタには I を使うという慣習が出来たようです。
 ちなみにこの逸話はエキスパートCプログラミングにも載っています。このトピック以外の話題も為になる本なので、興味のある方はご一読してみては如何でしょうか。

設定を変更しました

Filed in お知らせ

 Movable Typeのページ出力設定を変更しました。
 最近再構築が非常に重いのでアーカイブについてダイナミック出力するようにしてます。さらに、携帯から変更したのでちゃんと変更できているかもいまいちわかりません。
 なのでまた不具合など発生するかも知れませんが、何か発見されたかたは御一報いただけると助かります。

1*10^-9秒の世界

Filed in prog

 最近お仕事で数十~数百ナノセカンドの世界で戦ってます。
 守秘義務があるので詳しくはいえませんが、アセンブリとにらめっこでどうやれば一命令減るか。増えても良いから重い命令減らないか。ロードの直後に参照みたいな待ちの入る処理なくならないか。そんな事考えてます。
 今やっているのが組み込み機器向けの画像処理なので1クロック減るとずいぶん違うんですよね。画像のサイズが320*240だとしたら単純に1ピクセルずつコピーするだけでも76800回ループが回る訳です。組み込み機器ではPCと違ってまだ低クロックですから、割と高速で200MHzと仮定しても1クロックが2*10^-8秒。76800クロックなら384*10^-6秒。ループの中の処理が3クロック減ると1ミリセカンド速くなる計算です。
 素直に組んだルーチンと比べると既に四倍以上の速度向上を果たしてるんですが、それでもまだ足りてません。もうちょっとこの苦難は続きそうです。
 今週ずっとそんな感じなんですが、ひと段落したら家でVC相手に復習してわんくまの方にエントリこさえます。手動最適化に興味のある方お楽しみに。

わんくま同盟に参加しました

Filed in prog, 日記Tags:

 実は数日前に参加受け付けメール着てたり、既にわんくまblogに初投稿済ませてたりするんで一部の方は知ってるかと思うのですが、わんくま同盟に参加しました。
 わんくま同盟で用意してもらったblogはこちらになります。webスペースもありますが、そちらは基本的に使う気はないです。わんくまblog用の画像置き場になるでしょう。
 備忘禄代わりにこれからのblogの住み分けについて書いてみます。
 今後も当blogではプログラミングなトピックを扱いますが、基本的というか軽く留めて詳しい事はわんくまblogに書くスタンスになる予定です。今までもあんまり濃い話題は載せてないので基本的に変わらないともいえます。また、書籍のレビュー関連はプログラミング関係であっても大体こっちに書くつもりです。わんくまblog側で書く場合はわんくま関係者のblogと関連する時になります。
 プログラミング以外のトピックに関してはこれまでどおりこちらで書きます。が、ぶっちゃけ最近プログラミング以外やってないので書く事ない気もします。
 という訳で此れまで以上に放置の予感がする事態になりましたが皆様今後ともよろしうおたのもうします。

Movable typeをアップグレードしてみた

Filed in お知らせ

 Movable Typeをアップグレードしてみました。
 なのでしばらく不具合出るかもしれません。
 なんかあったら報告よろしゅー。

Effective C++ 原著第3版

Filed in 読書感想文

 C++プログラマなら余さず読めというレベルの定番書。
 誰もが一度は注意書きを目にする作法から最新の手法まで幅広く「効率」の視点から解説している本。
 と書くと誤解されがちだが、着眼点として効率を重視しているものの、効率という言葉の定義を広く持っており、実行効率だけではなく開発効率も考慮している為、いわゆる速度重視や空間重視による過激なデザインやコーディングはこの本には現れない。
 多少マニアックとも思える新しい手法 (例外安全なswapによる例外安全なコンストラクタの記述、ポリシークラス、TR1、等) も登場するが、あくまで元のトピックの添え物としての解説にとどめている為、主題がぼやけていない所は評価すべきだろう。
 この本は前作である改訂第2版もベストセラーだったので、改定第2版を読んだ事のある方も多いだろう。
 その中には第2版を読んだから大差ないだろうと考える向きもあるかと思うが、本作では新たなファクタとしてstd::tr1で加わる新たな標準ライブラリの機能やModern C++ Design、Exceptional C++から得た新たな手法も登場し、前作にない知識を与えてくれる。前作を読んだ方にも是非読んで欲しい一冊だ。

わんくま同盟勉強会大阪#6に参加してきた

Filed in prog

 わんくま同盟勉強会大阪#6に参加してきました。
 崇拝するεπιστημη (エピステーメ) さんが來阪されると事前に聞いていたのでサイン欲しさに特攻とミーハー丸出しで行って来ました。
 内容的には割と知ってる事だらけだったんですが、パネルディスカッションで久しく餓えていたオブジェクト指向絡みの宗教論争が出来たのは嬉しかったです。熱くバトルしたいというのも参加動悸の一つというか大きなウェイトを占めていた部分なので非常に堪能させていただきました。
 さらに、お土産じゃんけんで勝利してεπιさんの記事が丸ごと入った「まるごとεπιστημη特別編集号 (仮名)」も手に入れてきました。サイン二つ目ゲットです。本当にありがとうございました。
 懇親会でも恣意のさんTHREE-ONEさんをはじめとする方々と熱の篭もったお話を出来たのはいい刺激になりました。
 勉強会及び懇親会参加者の皆様お疲れ様でした。そして本当にありがとうございました。
 またの機会にお会いしましょう。


Warning: sprintf() [function.sprintf]: Too few arguments in /home/users/2/lolipop.jp-dp07042166/web/wordpress/wp-includes/widgets.php on line 1042
Oenology Post Formats
Click to view/hide

Warning: sprintf() [function.sprintf]: Too few arguments in /home/users/2/lolipop.jp-dp07042166/web/wordpress/wp-includes/widgets.php on line 1042
Posts Calendar
Click to view/hide
2007年2月
« 11月   3月 »
 123
45678910
11121314151617
18192021222324
25262728  

Warning: sprintf() [function.sprintf]: Too few arguments in /home/users/2/lolipop.jp-dp07042166/web/wordpress/wp-includes/widgets.php on line 1042
アーカイブ
Click to view/hide

Warning: sprintf() [function.sprintf]: Too few arguments in /home/users/2/lolipop.jp-dp07042166/web/wordpress/wp-includes/widgets.php on line 1042
最近の投稿
Click to view/hide