ちなみに、NetBookでフル機能の開発環境ってのは色々試してみた

abeeさんに借りた2GoPC(OLPC XO-1に刺激されて出来た教育用NetBookのひとつ。Intel製。CPUとメモリはOLPC XO-1よりもずっと強力なのにディスプレイは大変しょぼい)で、実際に子供相手に試してみました。

  • Sugar

OLPC XO-1向けに作られていたLinuxX.orgの上に載せたPython環境。ネイティブ開発言語はPythonGUI作成ツールはないけど(今はあるのかなぁ?)、Pythonインタープリタのコンソールや、「今動いているアプリのソースを見る」機能がついていていておもしろい。
とはいえ、AbiWord/XULRunner(Firefox)のソースを見ようとすると、「AbiWord/XULRunner本体とSugarの間のグルーコード」のソースが見られたりしてもうちょっとって感じ。いや、gccとviついてるのでソースを自分でチェックアウトすればいくらでもさわれるんですけど。
UIは基本的にシングルウィンドウ。タスク自体はマルチタスク(シングルタスクだった時期もあるっぽいけど、今のSugarはマルチタスク)。アプリの立ち上げとアプリの切り替えが同じ操作なのはWindows 7MacOSXと同じ方法論(ちなみに、WindowsMobileで同じ方法論だったときには、ユーザーに大変不評だったんだけどなー)。

フル機能のUbuntuNetbook用の拡張と、ちょっとの機能削減を入れたもの。ネイティブ開発言語は当然のようにC言語。とはいえ、コンパイラIDEも標準ではついてこない。それどころかワープロすらもついてこない(Google Documentを使えということらしい。無理があるなー)。
使えるのはぶっちゃけていうとEvolution(メール+スケジューラ)、Firefox、Empathy(Jabberクライアント)、Totem(メディアプレイヤー)くらい。Windowsの「ペイント」に当たるものや「Excel」に当たるものはついてこない。
でも、基本的に「必要な機能は自分で選んで無料であとから入れろ」というスタンスなので、gccJDKEclipseNetbeansGIMP,OpenOffice.orgBlenderなどがほぼ全自動でインストールできる。
もっとも、Eclipseは国際化されてなかったり(ま、これは本家もそうだけど)、NetBeansがなぜか日本語localeに対応してなかったり(なぜ?)、OpenJDK+IcedTeaVMではこれらのIDEがきちんと動かなかったり、微妙なテスト不足が惜しい。あと、Eclipseも、NetBeansも、GIMPも、Blenderも、画面の解像度が狭すぎてメニューやダイアログが画面に収まりきらないという妙な制限が。NetBeansの「プロジェクト作成」ダイアログでOKボタンが押せなかったときにはどうしようかと思った。Tabキーで手探りで押したけど、普通は使えないわなー。
基本的に、わざわざマルチウィンドウにしているアプリ(GIMPとか)以外はシングルウィンドウに自動的に大きさが調整される。VLCみたいな「小さなウィンドウで表示する」ことを前提にしたアプリでも全画面になるのはなんかシュール。アプリ切り替えはタスクバー経由。もちろんアプリの二重起動とかも出来るし、勝手に殺されることもない。アプリ起動メニューは、Gnomeのアプリケーションメニューと全く同じ内容のものが全画面でアイコンで選べるようになったものが「壁紙」として常に立ち上がっている。「壁紙」がランチャってのは考えたなぁ。
実はうちではこれは一番好評でした。Edubuntuのパッケージがとても人気有るの。

Kubuntuに「なにかと全画面にしたがるウィンドウマネージャ」と「アプリケーションランチャ」をつけたもの。それ以上のものではない。
とてもきれい。だけど、うちではなぜか不評でした。
ネイティブ開発言語はQtなのでC++。だけど、gccIDEもついてこないので自分で入れることに。
開発は、やろうと思えば出来ますよ? ってぐらい。

2GoPCのディフォルト。ネイティブ開発言語はC++。ただし、WSHで色々やることを前提にしてるので、メモ帳とコンソールで動かせる。なんというか、クラシック。
2GoPC用には特にカスタマイズされてないけど、なぜかMS-Works(Officeじゃない!)がおまけでついてくる。まだあったんだ、MS-Works。
WSHで色々出来るってのは知ってる人からすると当たり前なんだけど、実際にやってみせると驚かれる。あの、色々出来るんですよ、ほんとに。
Visual C++ Expressも、Visual C# Expressも無料でダウンロードできてフル機能使えるので開発には実は困らない。小さい画面で実際使ってみて判ったんだけど、画面が小さいと、「メニューバーが折り返す」とは知らなかった。EclipseNetBeansは恵まれた環境で動かすこと前提なんだねぇ。しみじみ(ちなみに、Eclipseはメニューバーは折り返すけどダイアログが画面に入りきらない。NetBeansはメニューバーの文字が省略される。「ファイル(F)」が「フ...」になるのはなんかシュール。で、ダイアログが画面に入りきらないとスクロールバーが出る)。


というわけで、Javaを使ったIDEは画面が狭いと寂しいことになるということが判りました。NetBeansの「NetBook用画面狭い版」があると便利かも。でも、Ubuntuでも、WindowsXPでもメモリは1GByte無いとちょっときついかも。
Sugarはさすが教育用という感じです。ドキュメントも充実してるし、アプリケーションを作る文法も割合簡単。いざとなればSmalltalkでアプリを作るとか(ちょっと邪道)、viでC言語+Xlibのアプリを作るとか(かなり邪道。でも、隠しコマンドでコンソールが開くのでちょっと便利。SugarヴィジェットはXlibからどう扱うんだろう? Xt経由なのかな?)、色々出来はします。
むしろ、Microsoftの開発環境に対する太っ腹っぷりが好印象でした。スタンダード版やプロフェッショナル版との価格の差が。いや、それを言い出すとEclipseNetBeansなんか、元から無料ですけど。
ただ、売られているNetBookはこれよりも画面の解像度が高くて、そのくせメモリ少なかったりするんだよなー。セルフ開発はしづらいかも。
とりあえずどれも「現代のMSX」とは行かないのでした。ま、ブラウザ+メーラ(+カレンダー)くらいはついてくるんですけどね。なにせ、シンクライアントなんで。


(おまけ)

ほんとにGoogle Chromeだけしかウィンドウがない上に閉じられない。ある意味究極。使うにはGMailアカウントとネット接続環境がないとはまる。
メール? GMailで。カレンダー? Google Calendarで。お絵かき? SketchPadでも使うのが。ローカルファイル? なんですかそれ。

Aero対応していませんがそこそこ快適です。WDDM1.1に対応していませんが(というか、そもそもシェーダー2に対応してない)、面積が狭いので描画が遅い気がしません。なるほど、面積狭いってのは利点でもあるのか。