FC2ブログ

型推論しましょ

C#3.0からは型推論が使えるようになっている。
使うか使わないかは使う側の都合で決めれば良いし、使ったからといって何かの動作が劇的に変化するわけでもない。
型付けの制約が厳しいC/C++経験者であれば少々違和感があるかもしれないし、Variantに慣れたVB経験者ならば敷居が低いかもしれない。

型推論とはVariantのような複数メンバや透過的なメンバ操作が可能な型ではなく、型付けの手法が異なるというだけのものであって、コンパイル時には明確な型付けが行われてチェックもしてくれる。
Perlのようないい加減さもなく、C/C++と同様に型は型として扱われる。ただ変数宣言に(まだ)型が必要ではない、というものだ。

型推論というと、それに近い動作はPHPで行われていたし、OCamlの売りでもあって、それ自体は決して目新しいものではないのだが、C#に実装されるとなると、業務システムにも結構関係してきちゃう。
こういう新しめの機能というか処理というか、は、開発側の規約にもすぐに載ってくるものではないので、新しいものは使わなきゃ損。あまり目立つのもなんなので、目立たないようにこそこそと使うのがコツだ。

C#では見通しの悪い位置で使うと、後からソースを見る人間がとやかくいいそうなので、狭い範囲で長い記述を短くするために使うのが当面賢いやり方だ。
Dictionary<int, string> dic = new Dictionary<int, string>();

なんてところを、
var dic = new Dictionary<int, string>();
と書くくらいのところで留めておいた方がいまのところいい。
推論させることを前提にした多態風な操作も可能なのだろうが、今の段階では風当たりも強いだろうからできるだけ避けておいて、使ってみた程度にしとかないと。

C#では単にvarによる型推論なわけだが、これがjavaだと少々複雑な事になって本格的な利用を伴いたくもなっちゃうんだろうが、このあたりはできるだけお気楽にやりたいもので。
もちっと慣れたらあれこれ考えて使うようにしたいけども、今はまだ。

まぁなにを言っても型という点ではPerlのお気楽さには所詮叶わない部分なわけだけども。
スポンサーサイト



NetBSD & GNOME

NetBSD5.1を入れてみたり。
でもってgnomeも入れてみたり。
NetBSD-ScreenShot1

懸念だった日本語入力は、scim-anthyがどうにも反応せず、scim-uimにするとさっくり動いたのでとりあえずそれで。
だがフォントがだめだめ。
とりあえずTakao-ttfを入れてみたが、うまく設定できていないのか妙なフォントのまま。
まぁこれはそのうち、っていつまで入れておくかはわからんのだけれども。

グラボがnvってことで、素のままでは1440x900のモニタでは横に間延びしてしまう。んー、どうやったらよかろうか。まぁこれもそのうち。

で、afterstepやらgnomeやらfirefoxを入れたところで、ディスクの使用量は5GBを超えた。そりゃそうだ、ってわけなんだが。
ネットブック(eeePC-4G)で使うにはせめて3GB程度には収めないと厳しいわけだから、あれこれ削ってスリムにしないとだめだろう。(使う気もあまりないんだが)

扱いやすさはまだFreeBSDにも及ばない感じなんだけれども、XenやらLinuxエミュやら入れていけば、そこそこデスクトップとしても使えるような気がする。gnomeだし。
でも、普通にデスクトップとして使うならUbuntuの方がずっとお手軽で、Adobe関係も対応してるので苦労が少ない。無理にNetBSDを使う必要も無い。

用途としては、業務でのUNIX開発機として使えるかもしれないが、当の業務がどんどんLinuxへ移行してきているので出番はたぶんない。
開発環境としてもFreeBSDの方が楽なんだけれど。

と言うことで、私の立場的には何のメリットもないNetBSDを入れて遊んでみた、というお話でした。

んー、いつ消してやろうか。OpenBSDもちょっと期待はずれだったしな。

続きを読む

005SHのBluetooth

005SHのBluetooth設定には、ON/OFFの設定があって、OFFの状態だと他のメニューがいぢれない。

以前の携帯では、ON/OFF設定の他に、さらに設定があってその中で、
デバイスの公開のOn/Offの設定があったんだが、今回はどうなってるんだろうか。

仮にデバイスの公開が常時Onのままだとすると、産総研の高木氏が再三指摘しているように、デバイス情報で追跡が可能になってしまう。

例えば、別れた彼女が引っ越した先を探すとか、そんな事が可能になっちゃうわけで、
いやそんな下世話な例を出すまでもなく、プライバシ的におおいに問題ありなんだけど、
BluetoothをOffにすればデバイスも公開されないの?教えて目の付け所の人。

(すんません、マニュアル一切見てません。どっかに書いてあるのかな)

--- 2011/03/09 追記
BluetoothがOffならそもそも公開されない。そりゃそうでした。m(__)m
一度Onにして設定情報を見てみると、デフォルトは「公開する」。
んー、またわかりにくい位置に。
公開時間にも制限があるのかどうかは不明。
でもハンズフリーものとか使う人は意識しておかないと、ずーっとデバイス情報タレ流しになっちゃうので注意は必要。
ちうことでしたー

画面デザインとデータとコード

Silverlight/WPF然り、Swing, Android然りなんだが、画面レイアウトをXMLでという環境が多くなってきた。

ちょっと前までなら開発環境毎にリソースの定義は独自で、それぞれ独自に読み込んでコンパイルしてリンクするような感じであったのだが、それがどれもこれもXML(Silverlight/WPFではXAMLだけれど)に。
タグの中身はさておいて、基本構造が統一されるのはうれしいことであって、そこに不満は無い。

ただやっぱりタグやその中身は各環境バラバラで、それなりに記憶することが多くなると、記憶領域が貧弱なお年頃にはかなりきつくなってくる。
特にXMLってことで、自然とタグ名やプロパティ名が長くなる。
LinearLayoutとか、LinearBitmapとか、今まであんまり使わない単語がゴロゴロ出てくると、英検3級程度の力ではかなり厳しい。

これはデータやコードについても言えることで、
DependencyPropertyとか、ObservableCollectionとか、まぁ出てくる出てくるいろんなのが。

まーそんなこんなで、現在のこういった状況の売り文句として、
デザイン・データ・コードの分離なんてことが言われるんだけれど、確かにそういう事が可能ではあるんだろう。
が、しかし、XAMLについて言えば、画面レイアウトを記述するはずのXAMLは{Binding}拡張の嵐になっちゃうし、コードの方はというと、前述のDependencyPropertyやらObservableCollectionやら、Bindingに合わせた記述をしなきゃならん。
さてデータはというと、コード側のコレクションはBind先のコントロールに気を使いながらの構成を組まなきゃならん。

ある程度のルールを決めておくことが可能であれば、デザイン・データ・コード部隊ばらばらに用意ドンで開発できるのかもしれないが、だいたい画面系なんて少人数だし、全体把握してから作業を振ろうとする段階で殆ど出来上がっちまってたりする。

Silverlight/WPF, Swing/Androidでの大規模なプロジェクトに関わっていないのでイライラするだけなのかもしれないが、たぶん今後もこの系列の大規模プロジェクトなんて無いだろうしなー

とイライラはまだ続くのでありましたとさ。 とっぴんぱらりのぷ

スマートフォン

一応それ風な業界人なので、スマートフォンにしてみた。
ずっとSoftbankなもので、とりあえずその中から、ガラパゴス005SH。
http://mb.softbank.jp/mb/smartphone/product/005sh/

ぎこちない操作で周囲に笑われながらも、なんとか使用できている。
といっても、アプリは全然使ってないからスマホの意味がないとかなんとか。

まず電源入れると、何やら鍵マークが出てくる。
鍵登録した覚えがないのに、なんじゃこりゃ。
すぐ使いたいのに、誰がなんかしたんかこら。
・・・
の格闘しばし。
鍵を錠前に差し込むように指でスイーっとやればいいだけということがわかった。
経験値が1上がった。

人差し指を立てて、さてどのボタンを・・と考えているうちに画面が黒くなる。
省電力っちうやつやね、賢いね。
で、また人差し指を下ろして電源ボタンをポチっと押す。
そして人差し指を立ててるうちにまた黒くなる。ええ加減にせんかい。

基本的にゲームはあんまりやらないし、携帯電話で不都合があったわけではないから、取り立てて使いたい機能も無い。

なんか経験値1のままでも別段構わんのじゃないかと思いはじめてきた購入3日目の朝。

※ケースも保護シートも無しなんだが、購入翌日いきなり地下鉄通路で落とす。
 幸い、角にちょっと傷がついただけで済んだが、んー、なんか邪魔くさくなったきた。
プロフィール

f_yamaki

Author:f_yamaki

アクセスカウンタ
最近の記事
最近のコメント
最近のトラックバック
月別アーカイブ
カテゴリー
ブロとも申請フォーム

この人とブロともになる

ブログ内検索
RSSフィード
リンク