おかしいな

今ごろJavaScriptが好きすぎてしょうがない。
それも流行のWeb2.0とはまったく関係なく、Project Eulerhttp://projecteuler.net/)の問題を解くのに使用。
なんでこんなにすてきなのか?

1.FireBugコンソールがお手軽すぎるんだもん。
 タブで計算の問題を表示しながら,べつのタブでコーディング&実行。ブラウザとシームレスな開発環境うまー。
2.jsの半分は適当でできています。

  • JavaScriptは変数宣言がいらない。
  • グローバルスコープ使いまくれる。
  • にもかかわらずオブジェクト指向ぽいこともできる。
  • 配列[]・ハッシュ{}の生成が簡単。
  • メモリ管理なんて気にしない。
  • 結構でかい数もあつかえる。ある程度大きいと指数表示になってしまうが、多倍長整数は結構簡単に自作できる。

3.デンジャラス。
 誤ってページのリンクをクリックしてしまったり、検索バーからぐぐったりしてページが変わると、それまでのオブジェクトの状態が消失してしまう。コーディングはサクラエディタで行い、できたのをコンソールにペーストすべし。
 あんまり重い計算をさせるとブラウザの描画が停止し、やがてCPUファンがとまってPCが暴走する危険を伴うのもまた乙。動き出したらブラウザごと閉じる以外に止めるすべがないのもまたスリリング。

4.程よく速く、程よく遅い。
 扱う数がたかだか1000程度なら実行は一瞬で終わる。だが1万を超してくるとアルゴリズムのオーダーによる速度差が目に見えるようになってくる。どんなにエンジンが賢くてもスクリプト言語なのでやはり遅いのだ。実行時間がかかると、自然とアルゴリズムについて意識するようになってくる。あるアルゴリズムで1分かかる処理が、改良版では2秒になったりすると結構感動する。