2008年2月28日木曜日

Poroxyも「いか」から「たこ」の時代に--eeeXubuntuにPolipoを入れる

昨夜から風邪を軽くひいてしまい、熱で少しダウンしてしまいました。
今かかっているプロジェクトがもうすぐ終わるので、ちょっと休んだらもう一頑張りです。
プロジェクト関係のみなさま、申し訳ありません。m(__)m

さて、ふらふらとはてブ界隈をブラついていてると、Mac用の簡易Porxy「Dolipo」で驚速27倍速ブラウジングとかいう話題が複数のっていました。

驚速!27倍速ブラウジング、Macユーザ必携ツール登場:Dolipo


簡単にいうとこれは簡易?Proxyの「Polipo」(イタリア語でたこの意味)をローカルに立ち上げて、それを経由してブラウジングすることで、一層ブラウジングのスピードを上げることが出来るというものらしい。

僕はMac使いなのでDolipoも使う事が出来るんですが、今メインで使っているのはEEEPCでそれに載せたXubuntuと言うLinuxです。この小型のPCで全ての作業をほとんどやっていると言うほど愛しているので、このPCでなんとかPolipoが使えればいいんじゃないかと考えました。

で、結果としては簡単で、UbuntuのパッケージにPolipoがありました。
さすがUbuntu!
Synapticで検索してワンクリックインストールです。
インストールが終わると自動的にデーモンモードで立ち上がってます。
デーモン起動設定も/etc/init.d以下あたりに入っています。
あとはブラウザのProxy設定をlocalhostの8123に設定。
それで問題なくブラウジングできます。

あとは設定ファイルが、/etc/polipo/config なので、英語が読めれば設定ファイルにていろいろな設定をすることができます。どれも親切にコメントが書かれているので問題無く設定できるでしょう。

これをつかってよかったら、Macの方はDolipoを入れてみることにしましょう。

2008年2月18日月曜日

今度はeeeXubuntuにOperaを入れてみた

仕事しなければならないのに現実逃避モードです。。
なんせ集中力のあがるのは一日の中でわずかな時間。
しかも、何かのブログに書いてあったが、本当の集中状態に入るまでには無音で準備する15分の時間が必要とのこと。そこから集中状態に入るが実際集中はそう続かない。
集中した時間に以下に無駄な事をしないで仕事のコアを進められるかである。

ということで、現実逃避のためにOperaをEeePCのXubuntuに入れてみた。
といっても簡単で、OperaのサイトからUbuntuのバージョンにあったdebを落としていれるだけ。
あとは日本語ロケールファイルをDLして、どこか(俺は$HOME/.opera/)に保存して、設定パネルからそれを指定するだけでメニューの日本語化はOK

問題はデフォルトのフォント指定はむごいのでIPAフォント一式に指定しなければならない。
設定パネルのWebページタブの通常のフォントと等幅フォントの指定をまずは変えないといけないが、フォント選択ダイアログの中でIPAフォント系は文字化けしているのでちょっと戸惑ってしまう。これは昔はIPAPGothicとか指定していたのがIPA P ゴシックとかの日本語名に変わったためである。

これは、フォントの並び順から、
  • IPA Gothic(等幅)
  • IPA P Gothic(プロポーショナル)
  • IPA 明朝
の順である。
それぞれを指定してあげればOK。
あとは詳細設定タブのフォントで、各種フォントの設定があるので、適宜指定してやる。
Web系の人なら知っていると思うが、セリフは明朝でサンセリフはゴシックを指定してやればいいと思う。モノスペースは等幅、それ以外のファンタジーとかがゴシックでいいだろう。

で、使用感であるが、
やはり軽い感じである。Firefoxよりも。
EeePCの場合、Forefox3と同様に、ページのズーム(解像度)を変える事ができるので、横幅の狭いEeePCの場合は、- キーで縮小表示してやるとうまく全体が入ってくるので便利。
ただしフォントが小さくなるので、結構よみずらくはなるけれど。

常用出来るかに関しては、まだ使い込んで見ないとダメだろうけど、おそらく他のOSと同じように対応できないサービスやサイトがいくつか出てくると思う。
これってどうにかならないのかね。常にForefoxが基準で新しいWebサービスは作られていて、現状だとFirefoxを使っている方が安全である。
いろいろOperaのよさを語るものを見たりするのだが、いまいちポイントが明確でない。
微妙なスタンスのブラウザなのだ。

俺がブラウザ病なのは、今後PC以外のインターネットに接続するデバイス(含む家電)の中でPCでは圧倒的なIEの影は見えず、むしろSafariやAndriod等を筆頭にするLinux由来のWebkit系とかOperaの存在感が圧倒的だからである。最近のニュースではFirefox等のGekko系もスモールデバイス版を開発し始めているらしい。そういった意味では、次世代のPC以外の巨大な領域をせしめるデフォルトブラウザはまだはっきりしなくて、群雄割拠の時代であるといえるからである。今のところPCでは占有率の低いOperaの方が一歩抜きん出ている所があるが、GoogleやAppleの使うWebkit勢もまだいつでもOperaをひっくりかえす事ができる。WebkitはオープンソースなのがGekkoとならんで有理な点であろう。そういった意味ではOperaがどういう戦略をとるかによって、まだまだわからないといったかんじである。(そういえば、AdobeのAIRもWebkitベースのものをつかっているんだよな。Webkit強し、だな)

2008年2月14日木曜日

firefox3 beta3を使ってみて

Firefox3のBeta3を早速、EeePCのXubuntuに入れてみました。
ForefoxはLinuxでも問題なく最新版が手に入るので便利ですね。

Linux版は解凍してそのディレクトリ下のfirefox(シェルスクリプト)をたたくと起動しますが、そのまま起動させると、既にfirefox2が入っていると$HOMEの.mozillaディレクトリを見に言ってしまい、プラグインの起動チェックとかして起動に時間がかかってしまいます。

なので、併用させるには下記の通りにします。
  1. $ firefox -ProfileManager でプロファイルマネージャを立てて新しいProfile作る
  2. $ firefox -P <作ったプロファイル名>
これで新しいプロファイルで起動できます。
私も試したんですが、ほとんどのfirefox2機能拡張が使えませんので、新しいプロファイルでも問題ありません。
一応のために$HOME/.mozilla のバックアップをとってから起動させるのが吉です。

で、新しいfirefox3ですが、
  • なんとなくUIが少しだけ洗練れててあかぬけた。
  • Gekko自体のレンダリングもきれいになった。(フォントの行間の空き具合とか)
  • なんとなくレンダリングが早くなっている。
  • アドオンがアドオン管理画面から直接DLできるようになっている。
  • Ctrl - +で拡大表示、Ctrl - -で拡大縮小表示可能
特に最後の縮小表示は、狭いEeePCの横幅にはとっても助かります。
今のところ大丈夫なので、一応、forefox2と併用で使うのが吉でしょう。

ちなみにUbuntuのパッケージにもforefox3がありますが、まだアルファの時のバージョンなので、あえてインストールしませんでした。

メモリ使用量等は機能拡張がほとんど入っていない状態なんでちゃんと見てません。
あしあらず。

2008年2月11日月曜日

EeePCに関して思うこと

EeePCを使い込んでかなり時間がたちました。
ネット界隈でも、現実のショップでも、かなり売れているようです。

売れているのは現実にはわかるが、まだ、PCオタク層中心に売れているような気がする。
でも、他でもないASUSが狙っていたのは、コモディティーとしてのPCだったのだろう。
まだ、実際にはそういったコモディティーとしての用途としてPCを欲しがっているのは既にPCを数台もっていて、二台目以降として買うような熟練PC購買層で、本当に簡単なコモディティー要素が必要なだけの人間は日本では携帯電話に流れているんだと思う。これが世界レベルでみると違うとおもうんだけどね。

実際、コモディティーとして使うPCとしては品質は高い製品だと思う。
ブラウザとIMとちょっとしたエディタとメーラー、ちょっといるひとでおオフィス系製品。
それがあればOKと言うひとにとって、特にインターネット端末として使う人にとっては最適な商品なのではないか。

実際にネットでの反応を見ていると、二つ大きな意見があって、ひとつはEeePCに求める機能や用途が高すぎな人たち。これらの人たちはSDDが4Gしかないことや解像度が800x600なことをよくネタにしているようです。CPUもちょっと弱いとか。

これは大きな間違いで、このPCにそういったハイレベルな用途を求めてはいけないわけです。
そんなに大きなファイルや画面が必要な作業はそれなりのデスクトップ環境ですべきです。

もうひとつの意見は、これは寝モバに最適って意見。
こういった人達はEeePCを特に用途を限定した使いかたとしてセグメンテーションできてるわけで、他にも複数PCを持っているような人なのではないだろうか。
こういった人たちはEeePCを完全にコモディティー化したPCとして見ているために、もともとASUSが狙っているコンセプトに近い使いかたなのだと思う。

ひとつ日本市場が違っている点としては、最初のPCとしてコモディティー化したこういったPCを買う層が日本にはあんまりいないと言うことでしょう。先にも書いた通り、本来、簡単にネットとメールとチャットができればいい人間は、日本では携帯電話で事足りるわけです。

僕はといえば、EeePCをメインとして使っているという稀有な層です。
もちろん、仕事柄、Web関係なので、MacもWindowsも持っています。
メインマシンはどちらかというとMacになるのでしょう。
しかし、今はEeePCだけをつかってほとんどプライベートから仕事まで行っています。
もともと小さいPCが好きなこともありますが、ほとんどプライベートから仕事まで本当に僕の用途ではこれで足りてしまっているからです。

一応、プログラマの端くれなので、プログラムを書くんですが、これも今入れているeeeXubuntuであれば仮想デスクトップがいくつでも作れるんで、ここはブラウザ、ここはEmacsとかしてそれで仕事はこなせてしまいます。

あとはプライベートはIMもあるし、SkypeもLinuxはあるし、Firefoxがあればすべてこなせます。メールもGmailですから。大きな画像処理とかエンコードもそんなにしないので、もし、することがあったら、Macでやりますから。

やっぱEeePCの良い点は、
・SDDであること。確かに4Gではりますが、それでも900MB位あいてるし、LinuxはSwap切ってるのでそう空き容量は心配ありません。それよりも、HDDのクラッシュを恐れながら移動させる苦労や心配がないことが大きいです。家のなかでも、定期的に場所を変えながら仕事をするので、結構重宝してます。(ちなみにソファーでやる場合はIkeaの膝上PC板がサイコーです。)

・軽量であること。これも上記の条件とあわさって移動が楽であるということですね。

・起動や終了が早いこと。このため、出先で立ち上げてもすぐ立ち上がるんで、いちいちスリープとかさせる必要もありません。

あと、これがあると今度はいいな、と思うのは、
・画面の解像度が少なくとも横1000pxは越えてほしい。今のWebの状況だとそうなんで。
でもOpera見たく自動的に幅にあわせたレイアウトに変換してくれるような機能があればいいのかもしれませんが。

・SDDを増量してほしいとはいわないが、SDスロットをもうひとつ増やしてほしい。
今SDHCは結構やすいんで、16GBを二本させば、それだけで32GBの領域が稼げます。

それくらいかな。

こういっって考えると、主メモリがソリッドステートで、SDによる容量拡張なんてまさに携帯電話見たいですよね。そういった意味ではPCのコモディティー化なんですよ。特にモバイルPCの。所が日本にはモバイルPCと言うニーズがあまりないわけです。そういったいみではASUSは日本市場をこれからどう考えるかと言うのは見物ですな。

携帯電話もOpera9.5とかモバイルのFirefoxの話とか出てきますし、なんと言ってもipod touchのSafariがありますね。あれくらい使い勝手のいいブラウザが出てきて、あまたあるwebサービスを使うことができるようになれば、本当にコモディティー用途は携帯電話で十分と言うことになりそうです。

これから、モバイルPCも携帯のようなコモディティーになっていくし、携帯はグレードアップして両者は近づいていくような気がします。家にこもりっきりな癖に気分はいつでも藻バイらーな俺は、これからどうなっていくのか非常に楽しみでもあります。

2008年2月8日金曜日

Web Frameworkいろいろ

今日、メインクライアントの会社に行ってきて新しい案件の打ち合わせをしてきました。
今月後半から来月中にかかる仕事がもらえそうです。
新しく立ちあがったばかりの個人事業で受託ですから、仕事の内容に文句は言えません。

言うまでもなく、今、僕が一番自信のある言語はPythonです。
これならかなり複雑なものでもこなす自信があります。

しかしながらPythonを使え案件はそうない。
止める前の会社のサービスがPythonで作った話は前に書きましたが、そのメンテを今もやっていて、そこで少しPythonを使う機会があるだけです。
今回のメインクライアントの案件もPHP+MySQLらしく、PHPも4か5かもまだ判然としないようです。

おりしも、このメインクライアントの案件と同時に仲間内ではじめようとしている、携帯でもうけようのサービスもあります。この二つのプロジェクトをこなしていかないといけないわけですが、初めは携帯のプロジェクトの方はPythonでやろうと思ってました。しかし、同時にPythonの独自フレームワークのプロジェクトと、もうひとつのメインクライアントのPHPを同時になることは私自体経験もなく、ちょっと心配です。いつもの感じだと、いきおい、全部同じ言語で書きたくなる所です。

悩んだあげく、結局、両方ともCakePHPのフレームワークでやることにしました。
まず、PHPもそこそこ書けるという自信はあること。
それと、CakePHP自体、Ruby On Railsにインスパイアされたフレームワークなので、高生産性が期待できること。
PHP4でも5でも動くので、メインクライアントの環境がどっちにころんでも大丈夫なこと。
結局、両方の案件とも、単にDBの情報を検索したり閲覧したり、書き込んだりするオーソドックスな案件であること。
これらが理由です。

結局、最近のWebや携帯の案件って、結構Rails系が得意なDBに対するCRUD操作の案件が殆どなんですよね。こういったプログラミングって、常に必要とされる機能やプログラミング内容は同じで、おもしろくもなんともなく、手早くパッパっと終らせたい繰り返しものなわけです。
で、それなら、その骨格部分は手早くできる既存のフレームワークにまかせちゃえ、ってなわけです。特に今回は二つのプロジェトが平行で走るために結構必要にせまられたりするわけです。全く二つの違う環境を用意したり、頭を切りかえるのって、結構大変ですから。

僕としては、PHPの案件がほとんどなので、8割方はこういったフレームワークで高生産性を稼いておいて、残りのフレームワークにはまらない部分、フレームワークで解決しにくい部分、それを越えたもっと複雑な部分を補完でPythonで書けたらな、と思うわけです。単にDBへのCRUDでは収まらないもっと複雑な分野って必ずあるはずですし、それができることが、単にDBへのCRUDしかできないところとの、個人的には差別化になるわけです。

本当は、何度も書いているのですが、AptanaのJaxerに期待をよせているわけです。
なかなかこれを使わせていただけるプロジェクトがなくて(クライアントの要求だったり、サーバ環境の要請等から)、実現したプロジェクトとしてできてないんですが、これがやれれば最高だと思います。恐らく、今、PHPでやっていることの置き変えが全くできることになるでしょう。これで必要とされるWebサイトの8割は作れると思います。

残りの2割は、はたしてPythonで書くのか、それともJavaScriptでそのまま書けるのかは、これからの時代の進みかたにかかってきます。結構、JavaScriptはPythonができることがほとんどできるようになるまで、進化するのではないかと、期待しております。もちろん、記述力ではJavaScriptはPythonには負けていません。むしろ、個人的には、複雑なロジックを記述するときじは逆にJavaScriptの方が勝っていると感じている程です。まだニッチなニーズまで満すライブラリ等が揃っているのはPythonのほうですけどね。(ま、一番はPerlでしょうけど、僕が全くPerlにふれないことには、何か訳があると思ってくださいな。)

AptanaのJaxerは本当にデザイナとプログラマの分業を完全に確立できるプラットホームになるでしょう。毎日、Aptanaのサイトの英語の情報にかじりついています。
早く実現できればと思います。

2008年2月6日水曜日

最近のプロジェクト

最近、いくつかのプロジェクトをやっている、やることになっているのだが、なんとかしてServer side JavascriptのJaxerの案件をつくりたいな、と思っている。

今、昔の会社から引き継いでいるプロジェトはPython案件なので、これは満足。

つい先日、仲間たちとやることになったプロジェクトは、開発者が俺だけなのでJaxerを使えるかなと思ったのだけど、サーバ環境がさくらインターネットのホスティングだったので、Jaxer使用をあきらめることとなった。

JaxerはそのコアはLinuxではmod_jaxer.soというApacheの動的読みこみモジュールである。
(Aptanaでは最近、Linux版のJaxcerをプレビューリリースしてます。)
ということは、PHP等のモジュール版とおなじことで、Apacheひとつに対して組みこまないといけません。普通のホスティングサービスだと、通常のユーザ権限しかありませんし、あくまでヴァーチャルホストです。Apacheの再起動とかもできませんし、この権限ではmod_jaxerを読みこますことはできません。

もともと、さくらのホスティングでは、OSがFreeBSDですしmod_jaxerは現在、Linuxの32bitのELFバイナリしかありませんので使いようがありません。
ここはあきらめて、今回はPythonを使おうと思っています。

mod_jaxcerを使うには、現状、一台のサーバをコントロールできるroot権限か、または、現在はやりのVPSのようなroot権限のある仮想ホスティングしか選択肢が無いでしょう。
本家Aptana Forumでもこのような話しが話し合われていますが、Aptana側でもAmazon ES2とかいろいろなホスティングサーバ会社にアプローチしているようです。Ruby on Railsもやっとこさインストールされているサーバが出てきた所なので、Jaxerがこういったサービスにプレインストールされるのはもっと先の話になるでしょう。
でもVPSでも最近は月額10ドルを切るものも出てきているので、下手なホスティングを使うよりは良いのではないでしょうか。

あとはもう一つ携帯の大手から仕事がもらえそうなのですが、それはたぶんひとつサーバを用意すると思いますんで、そこで改めてJaxer使用を打診してみたいとおもいます。

あとは、昔の会社からの案件。
これは今週の金曜にミーティングするのですが、そこの会社はPHP主体の会社で、しかもお客の案件だろうから、開発プラットフォームを選択することは難しいかもしれません。しかも、すでにあるサイトの追加拡張のような案件だったと思いますので、おのずから、PHPを書かないといけないのかな、と思っています。

しかしPHPはいやだなー。
なんとかそこにもJaxerを押しこめないだろうか?
JavaScriptなんで誰でもわかるのでメンテも簡単ですよ、とかいって。
それがまだ実績がなくて信頼されないんだったら、せめてPythonを使いたいな。
PHPだとJavaScriptとかPythonのときの俺のコーディングスタイルにあわせるために、結構ラッピングの関数を書かなければならないだろう。
でも抽象化しにくい言語だからつらいよな。

でも逆にPHPで俺が思うようなプログラミングができれば、たいしたものなんだろうけどね。
まあ、抽象化だけは心掛けてやっていこうと思う。
  • 制御構文の抽象化
  • 処理の抽象化=関数化
  • その関数の実行を制御するためにクロージャや高階関数の使用
メモメモ

2008年2月4日月曜日

Aptana Jaxer for Linux

結構待つていた人もいるのではないでしょうか。
Aptanaの例のServre Side JavaScript(彼らはAjax Serverとよんでいる)のLinux版が出たようです。もちろんearly版です。

Try out our early Linux builds

私も今見たばかりなのでまだインストールしてませんが、プリコンパイルされていてApache2.2が同梱されたバイナリのようです。

わたしもサーバに入れて後で試してみたいと思います。

2008年2月1日金曜日

PHPに関して再考

最近、MatzさんやDanさんのBlogをはじめ、PHPに対する議論が盛り上がっている。
一部、一番最初のMatzさんの論旨とは違う方向へそれていっているものもあるようだが。。。

わたしもPHPがPHP/FIと呼ばれていた時代から使っていて、いち早く顧客の案件で使用していたりした人間である。また、Webアプリの最初はPerlだったが、Perlに付いていけず挫折した人間でもある。その反動でRubyは早くから飛びついており、Ver1.6以前からのユーザでよくバックエンドのバッヂ処理等にRubyを使ったりした。Pythonは今のわたしのメイン言語であるが、使い始めたのはRubyと同じころで、一時、仕事の都合でJavaやPHPがメインであったが、再び、メイン言語として返り咲いたと言う形である。

そのほか、最近の密かな関数型言語の盛り上がりに煽られたわけではないが、Haskell、Scheme等もかじったりしている。そういったいろんな言語に食指を出す人間にとってみると、今回の特にPHP派の反論の中にはいただけない反論もあると思う。特に、PHPしか知らないと言う人に限ってPHPマンセーでそれを信じて疑わず、PHPの欠点に付いて語ると、PHPの使いやすさ(と言うか入り込みやすさ)や、こんな便利な機能(実は外部ライブラリ)が簡単に使える系とか、普及度とか、場合によってはSIerの案件として需要があるだのという、方向のそれた反論をしてくる。あくまで本来は純粋にその言語のもつ機能(?)や能力の問題に関して良い点、悪い点を語っているのに、反論がなんか、言語としての問題とそれた形で語られるのが不思議である。

というのも、わたしが現在関係している会社も、PHPマンセーの会社なのである。
うちには受託をやるソリューションと言う部門と、自社開発サービスを立ち上げていく独立部門のふたつがあって、わたしは自社開発サービス部門に属している。もともとわたしが入る前からPHPマンセーな会社立ったらしいのだが(と言うがそれ以外知らない?)、わたしが入って開発責任者になってから、わたしは自社サービスにPythonを採り入れたのである。既にわたしが入ったときに作られていたそのサービスはPHPでつくられており、それが拡張限界になって作り替えと言う事態になって、そこでわたしがPythonで作り替えようと提案したのである。拡張限界になったのはいろいろな要因があるのだが、まずはパフォーマンスやスケーラビリティーの問題、それと、拡張しづらいスパゲッティー化とか諸々の問題があった。その全てがPHPの問題であったとはいわないが、例えばPHPを何も考えないで使ったときに起こりがちな、名前空間の汚染問題やそれに伴う変数や関数・クラス名の難解化とかとか、うまく複数の開発者をコントロールできないと解決しずらい問題が含まれていた。PythonとかRubyはネイティブの機能としてそういった問題を解決してくれる。普通の開発者が普通に作っても、そういった問題から普通に逃れることができる、そういった要素があることを私は経験上わかっていたからだ。

あとは、高階関数とかクロージャとか無名関数がないだとか、より複雑になりがちなことをシンプルに記述できる手法が使えないというのもあるな。まあ、これはいろいろな所で書かれていることではあるけど。個人的には今回の長いプロジェクトでこれらがないとプログラムを各のが嫌になると言うくらいになってきていて、それがいっそう、もうPHPには触りたくないな、と言う感覚になってきているのだ。

そのプロジェクトがいろいろな経緯があり収束して、今後のわたしの仕事として、その今の会社のソリューション(受託)の仕事を手伝わなければならないことになってきて、PHPを使わざるを得ない状態になってしまってきているのだ。しようがなく、A言語のあの機能はPHPではできるのだろうか?とか、具体的には無名関数ってPHPでできたっけ?とか、クロージャは?とか調べていくうちに、それができないとわかってかなり絶望した。実際にはZendのソースに拡張を入れてそういった機能を実現しようとしている人もいるらしいが、それって言語のネイティブな機能じゃないよね。というか、それを使ってくださいとお客にいうわけにも行かないし。。そういった所にジャストタイミングでちまたのWebでMatzさん筆頭にPHPの話が盛り上がってきたのだ。

思うに、MatzさんやDanさん等の言っていることは、私のように複数言語の経験があり、しかもお客の受託を受ける仕事をやっていて、その実現手段(OS,プラットフォーム、言語)を選ぶことのできない人たちにとって、ずっとずっと前からフツーにブツブツ言われてきた問題、感覚で、当たり前の考えだと思っている。それが、現実に影響力のある人から発言があったということで、まえまえから「ある特定」な人たちには常識であった思う。みんな、半分諦めながら、不満とフラストレーションを抱きながらPHPをつかっていたんだと思うし、それは私もよくわかるのだ。

そうなると、やっぱりPHPを極めよう(書いてて恥ずかしいが。。)とか、言う気持ちはまったくなく、そこから新しい概念を学ぶと言うことも期待できず、50年以上のプログラミング言語の進歩の恩恵を感じることもなく、ただ淡々とPHPを道具として仕事をこなすと言うことになる。はやくおわらねーかな、このぷろじぇくと、ってかんじになる。てか、もともとPHPにそういう効果を求めてる人って多くないだろう。PEARとか外部ライブラリとかで誰かが機能を付加してくれるのを期待して、その情報をいち早くキャッチして、早く使ったもの勝ちと言う。単純にそういったサイクルなのではないか、言語というより、そういった外部ライブラリによって以下に便利な機能が簡単に追加されるかってことの方が大切なようである。そういった人にとってSchemeがなぜいいのか理解することは永遠に期待できないであろうという、軽い断絶感覚を感じる。(ライブラリがあった方が便利なのは否定しないのであしからず)

話は飛ぶが、PHP見たいな言語を使うにはIDEが必須であろう。
もちろんエディタでもかけるのだが、あのうんざりするほど長ったらしい、統一性のない関数名を補完してくれる機能が必要だから。順番に統一性のない引数の順番を補完してくれる機能が必要だから。あの中途半端なクラスを一々作らないと物事が進まないんで、テンプレート挿入機能も必要だろう。なぜなら、別にそれを暗記する気持ちは「まったく」ないんで。ただ、早くこの面白くないプロジェクトを終わらせたいだけだから。こういったのは、昔のVBも同じような気がする。

久しぶりに受託の方に戻ってみたら、彼らのブームはPHP5化+ZendFramework+HogeHogeと言うある会社の作ったテンプレートエンジンだそうだ。ライセンスがいるみたい。一般の営業まで中身もしらないのに得意気に、セールストークで言ってるみたい。軽くこの会社に絶望感を覚える。しようがないんで、会社にあったZendFrameworkの本を15分くらい読む。Strutsとか使っていたひとなら簡単に理解できるであろう。15分位で大体内容は把握できてしまった。もちろん詳細まで暗記はしていない。もともと覚える気はないから。確かに便利である。しかしすべてがnew Zend_HogeHoge()というセンス無い名前で始めるというのがダサダサだな。全くあたらしものに触れる充実感や感激といったものがまったく無い。

いっぽうで顧客の指定のないものに関して、どれで開発しようかなと迷っている。
Pythonっていうと、おそらくメンテできないと言う理由で拒否されるだろう。
Rubyも同じだろう(というか、今のバブル状態でRubyに関心ないのもなー)
私が期待してるのはJavaScriptである。サーバサイドの。
AptanaがJaxerを出したばかりである。まだ、Linux版が無いので本格的にためしようがないが、今日見たらソースはあったのでLinuxでMakeできるだろうか?
ちょっと簡単にはいかないかもしれない。
良くあるJavaServer環境にRhinoを入れたものとは違い、mod_jaxcerと言うネイティブモジュールでApacheに入るらしく、付きまとうJavaくささもなく好感である。
JavaScriptならメンテする人がいないとは言わないだろう、と期待しているのだ。
あとは安定性の問題を証明できれば。。
言語自体は楽しいのはもう間違いない。

であるが、現実にはPHPを使わざるを得ないだろう。
これが自営の受託の悲しい性だ。
せめてIDEを使って楽しよう。。
そう思いながらサーバサイドJavaScriptが追い付いてくれるのを期待すう日々になるのか。。