JavaScript generic programming

Ref: JavaScriptによるジェネリックプログラミング

面白い記事を発見。2001年4月10日に掲載されたようなのでもう3年も前の記事のようです。初心者向けにはJavaScriptとこのころから思ってましたが、こういう方向は考えなかったですねぇ。JavaScriptはどうみても機能が不足しているし…

最近ちょっと見直しているのは、初心者用にJavaScriptをとりあげるとしても手続き型言語的な紹介をするのはもったいないしなぁ、と思っているからなのですが、オブジェクトベース言語というのもまたよくわからない中途半端さがあって、難しいなぁと感じる次第です。

User Object definition in JavaScript

あいかわらずJavaScriptについて色々調べてます。JavaScriptでユーザーオブジェクトを定義するには、つぎのような感じになります。コンストラクタ用の関数を定義して、定義したオブジェクトのprototypeに属性を追加していきます。操作の追加もできます。操作は実体を別に用意しておいて名前で束縛するという感じです。ただし、オブジェクト単位での名前空間は定義されないので、オブジェクト用の属性や操作の実体用に _ で始まる名前は予約しておいて、通常の関数では _ を使わないということを考えたりしないといけません。

// コンストラクタ
function Target() {
}
Target.prototype.name = “Target”
Target.prototype.equals = _target_equals;
Target.prototype.toString = _target_toString;

// このオブジェクトと他のオブジェクトが等しいかどうかを示します。
function _target_equals(obj) {
return obj.toString()==this.name;
}
// 文字列表現を返します。
function _target_toString() {
return this.name;
}

「実装の継承」らしきことを実現することもできるようですが、JavaScriptのオブジェクトに関しては型によるチェックはできないので個人的にはあまり意味がないかなという感じです。せっかく操作の実体を指定できるようになっているので、オブジェクトコンポジションの考え方で拡張していく方が、オブジェクトの役割もわかりやすくなりますから良いと思います。ソースコードが少々長くなりますけど、継承の罠にはまりにくくなるので、保守性は高まると思います。

続きを読む

カテゴリー: etc

Java2 SDK Font on Turbo Linux

Ref: font.properties ファイル

いつものことながら、LinuxへJavaをインストールしたときにはフォント関係の設定で悩まされます。標準とはちがうフォントを使っているのがいけないのかもしれませんが。

基本的には、$JAVA_HOME/jre/lib/font.properties.jaを編集すればいいのですが、上記の参照URIに書いてあるとおり、OSなどの情報をもったfont.propertiesファイルがある場合はそちらが優先されてしまいます。Turbo Linuxではとりあえず、font.properties.ja.Turboを編集して問題なく表示されました。

フォント名を知るためには、xfontselが役に立ちます。font.properties.ja.Turboファイルでは、フォント名だけでなく対応するフォントファイル名も指定しないといけないので、注意しましょう。

カテゴリー: Java

Object Based Language JavaScript

Ref: オブジェクト指向プログラム言語としてのJavaScript
Ref: JavaScriptによるオブジェクト指向プログラミング

オブジェクト指向プログラミング言語としてJavaScriptをとらえてみると色々と面白いです。ちょっと強引な感じもありますが、クラスもどきの定義もできるようです。実用性はどうかというと厳しいものがありますが、初心者に対してBASICを使ったプログラミングを教えるよりは、JavaScriptを使って教えた方がよいと思っています。

JavaやVisual BasicとはちがってJavaScriptエンジン搭載のWebブラウザさえあれば実行できますし。編集環境だけは行番号がでるツールを使いたいので、そういうツールを持っていない初心者にとってはちょっと問題ですが、他の言語に比べてはるかに敷居は低いはずです。

オブジェクト指向への導入としては申し分ないと思うのですが、HTMLと組み合わせるないといけないというのが最大の難点でしょうか。ちょっとした環境を作ってみたい気はしますが…

カテゴリー: etc

Short article

Ref: おとなの小論文教室

小論文は、「意見」と「理由」の文章です。
「自分の言いたいこと」をはっきりさせ、
その「理由」を筋道立てて説明し、
相手を「説得」する文章です。

なかなか文章力というのはつかないものですが、こういう読み物をたまには読んでみるとちょっとはましになるのかなぁと思ってみたりします。しかし、裏づけのある言葉は重みがありますが、ない言葉は重みがないので、いろいろな経験も大切かなぁと同時に思います。経験値が低いまま、言葉遊びをしていてもしかたないので、精進、精進
続きを読む

カテゴリー: etc

IP handy phone

Ref: 定額制IP携帯電話サービス目指した通信ベンチャーが自己破産

もともと胡散臭いサービスだったようですが、IP電話がこれからというときに、こういうのは悪いイメージになるような気がします。個人的にはやっとデジカメ付き携帯電話に興味を持ち始めたぐらいなので、まだまだIP携帯電話まで手はでませんが。

カテゴリー: etc