2000年6月1日(木曜日)


 新築の津田沼寮から、早くも出て行かなければならない人間が3人もいるらしい。
 たとえばそれが私だったとしたら、それはそれで面白い人生だなとか思ったりして結構愉快なのだがそう言うわけでもないらしく(^_^;)、まぁなんだかいろいろと大変そうだ、などとひとごとながらに唸ってしまったりしたくなったりもするわけだ。

 ところで津田沼に越してきてからおおよそ2ヶ月、ちっとも星が見えない夜空だと思って過ごしてきたが、先日結構素直に空が晴れてさえいれば、県道沿いに歩いていけば星が見えなくもないことに気が付いた。もっとも、大学2年の同じ季節に見上げた夜空にははっきりそれとわかる北斗七星が見えていて、自転車に乗りながらそのとき浮かんだ歌を口ずさんだりしたものだが、この日見上げた空は私に北斗七星の存在なんて気付かせてくれなかったし、あの日口ずさんでいた歌もメロディーも、私はいまだに思い出せないでいる。


日付け別indexに戻る

最初のページに戻る

まるのみに戻る



 Java Script

ジャンル:コラム
危険度:小

 Netscapeが自信を持って打ち出した技術だが、HTMLの標準規格に盛り込まれなかった理由は使ってみればなんとなくわかるような気もする。
 Netscapeはコメントアウトタグでコメントアウトすれば未対応のブラウザへの下位互換性も保てると主張したが、式の中で不等号を使えばそれがタグであると誤認識されるわけでこれもはっきり言ってあてにならない。

 名前がややこしくてまずどうにもと言う感じなのだが、Java ScriptとJavaはまったく無関係なものであるらしい。Java ScriptがJavaの文法と理念を参考にしているからこう言う名前になったと言う噂もあるらしいがよく知らない。まだJavaはやったことないからね。
 私が感じたJava Scriptの印象は、Cの文法と似非オブジェクト指向と型のない変数を使ったスクリプト言語である、と言うことだ。あくまでプログラム言語ではない、スクリプト言語なのだと割り切って使えば、まぁ使えないことはない。たとえばフォームに入力された値の検証ぐらいには使える。でもそれ以上のことに使おうとは思えない言語、それがJava Scriptだ。
 大学に入ったころからCを使うようになって、BASICのような変数の型があいまいな言語と離れてからずいぶん久しい私にとって、Java Scriptの型の曖昧さはまさに戸惑いであり不快そのものだ。Java Scriptでは基本的に変数は文字列を扱うものとして処理される。しかしながら数値も扱えたりする。しかしフォームに入力された値(フォームが持つ変数に格納される)同士で足し算をすると数値の計算ではなく文字列をつなげたりする。つまり、"1"+"1"を計算して結果が"11"になったりするわけだ。
 さらにこいつはCライクな文法を採用しているくせに文字列の扱いはさながらBASICだったりする。Cでは文字列定数は何もはさまずに隣り合わせて配置すれば一続きの文字列として扱われる。それがJava Scriptでは(ポインタと言う考え方がないからなのだが)、明示的に「+」演算子で接続してやらなければならない。

#例として、文字列を引数に取る関数function()があるとすると、

 あとなまじC++をかじってきた私としては、似非オブジェクト指向を掲げているあたりもうっとうしいとか思ったりもするのだがまぁそれについては難しくなりそうなのでここでは語るを避けておこうか。

 一番困るのはNCのバージョンによって対応していたりしていなかったりする仕様があると言うことだ。バージョンによっては参考書どおりに行かなかったりする。たとえばオブジェクトに登録されている要素は記述順で配列の番号に割り振られると言うことになっているらしいのだが、少なくとも会社で使っているNCのバージョンでは対応していなかった。かといってそれより新しいバージョンのNC向けに書かれた参考書なのかと言うとそんなことは決してなく、明らかにそれよりだいぶ古いバージョンのNC向けに書かれている内容だったりするのである。参考書によっては「あるバージョンでは改良されたはずのバグが次のバージョンで再び復活していたり」なんて書いてあったりするくらいで実に頼りない。
 おまけに困ったことにはJava Scriptの本場であるはずのNNよりMSIEの方が用意されている関数の日本語対応がしっかりしていたりする(脱力)。Netscape、やる気あるのか? って感じだ(なんだかんだでMSという会社は技術に対する発展意欲には長けていると思う。気が付けばデファクトスタンダードを総なめしていると言う現状にもうなずける気がする。…少なくとも日本支社は)