Google日本語入力を試してみる


 ATOKヤバいだろこれ(笑)。

 とはいえ、割とまだバカなところもある。MS-IMEよりは異次元にマシだが、さすがにATOKの経験値も半端じゃないってことか。でもATOKは有料で買うほどかっつーと微妙かなあ…。まあ2005止まりのまま使ってるから、軽くストレスになってるちょっとした問題なんかは既に改善されてるだろうけど。
 それよりもGoogle日本語入力で問題なのは、変換をスペースでもやれる設定が無いことか。カナ入力だと英数切り替えが頻出するんで厳しい。キーボードの違いとかはすぐ慣れる方なんだが、IMEの挙動が違うのって思ったより辛いんだなあ。俺的にはどうも必須の設定らしい。他にも、カタカナひらがなキーが全く機能していない謎とか、実際こうやって文章打ってるとカナ入力のキーバインドはかなり適当な気がしてきた。要望したら取り込まれねーかな。結構色々文句あるぞ(笑)。設定でどうにもならないっぽい仕様も多いし。キーバインドの設定は訳分からんし。
 あと、入力してるとどんどん出てくる謎の赤い下線が若干気になるがどうでもいいか。

 で、要望出す先を60秒くらい探したけど見付からなかった。
 まあ、当面はATOKに戻るか。


8タブのコーディング規約が多いのか


 何かもー4タブにすっかり慣れてるんだけど、LinuxカーネルとかGNUとか8タブなのか。知らなかった。
 まー特に4タブにこだわってる訳ではないし、インデントを深くすることも基本的に無いから、どっちでもいいといえばどっちでもいいのか。「お前が決めろ」と言われたら「じゃ4タブ?」くらいではある。「絶対4タブ」も「絶対8タブ」もよく分からん。
 もしかするとUnix界隈では8タブがある程度の前提になってるのかな。PCでずっと遊んできたからさっぱりだ。でも98の頃は8タブ使ってたし、いきなり8タブに移っても特に違和感は無いかも。

 コーディング規約でもう一つ意外だったのが、if文の後を必ずブロックにしよう、っていうやり方にあまり人気が無かったこと。
 これも昔は「どっちでもいいかー」で、Perlがブロック強制なんで全部ブロックにするのに慣れちゃったけど、まあ、ちゃんと書けば別に問題なんか出ないのか。とりあえず自分でも出したことは無いし。

if (COND)
  return;

みたいなのをブロックで囲むのはうざい、ってのもかなり思ってたし。
 つーか、Perlの場合、

return if COND;

とか、

COND and return;

とかがあるから、普通のif文はブロック強制でも面倒にならないのかもなあ。


例外除去無理


 いや、ユーザーコードからは除去も可能なんだけどさ。
 試しにVC++に「例外処理切っちゃってくれや」って指示したら、普通にライブラリコードで大量に引っ掛かりまくり。ちょっと追い掛けてみたけどマジ無理。例外があるのはもう前提なんだなあ。仕方ない。素直が一番だ。
 つーことで、普通に例外ありで。まあ基本的には使うことは滅多に無いのだが。だから「例外」なんだし。


__forceinlineとかあったんスか


 何かこーVC++的には強制的にインラインにする独自のナニがあったらしい。それはそれは。
 早速「こんなのはどう考えてもインラインにすべきだろチクショウが」というような関数に貼り付けてきた。極力使いたくないけども、まあコンパイラも万能ではないし。面倒だからasmは見てないけどいいや。


デッドロックうぜえ


 今のところ発生してないんだけど、設計を改良しようとしてデッドロックの可能性を真面目に考えたらもう何か頭おかしくなってきた。
 つーか、スレッド間通信パイプが一見ウェイトフリーっぽい雰囲気なんだけど、残念ながらリングバッファなのでバッファフル時に待機ループをしなきゃならんので、まー色々とごちゃごちゃ悩む。関数と引数を別パイプにしたのも問題で、考えてみればその後で設計を改良して関数ポインタも突っ込めるようにしたから分ける必要ねーんだよな。統合するか。さすがにスマポは統合無理だけど、ただのポインタで投げてレシーバが即スマポに包めばよくね?
 というかそんなことより、パイプが本当に動くのかがどう考えても怪しいのだが。早めに母PCとかで厳しいテストに掛けるべきではなかろうか。Northwoodだから一応テストにはなりそうだし。つーかC2Dの兄PCでも試すべきだな。何か前にもこんなこと書いたような気もしてきたけど。いや間違いなく書いた。
 つーか、C++の例外を使ってるとこが極端に少なくなってきてて、もう一頑張りで例外を完全に除去出来るのだ。それなら除去したいじゃん。ってことで全体の設計を改良しようと。別に例外は嫌いじゃないけど、効率がCより落ちることになるしなあ。それに今使ってる例外ってほとんどabortレベルの問題ばかりだしなあ。それなら素直にabortでいいさ。
 ちなみにRTTIは「今のところ」嫌いだし効率も落ちるので最初から切ってるけど。あくまで「今のところ」だけど、どうもいい使い方が思い当たらないし。