«前の日記(2007年06月03日) 最新 次の日記(2007年06月05日)» 編集

Matzにっき


2007年06月04日 [長年日記]

_ [原稿] 日経Linux 2007年8月号

もう8月号だってさ。

今月のテーマは「文字コード」。 各種文字集合(JIS X 0201とか0208とかUnicodeとか)や それぞれの符号化方式などについてまとめる予定。

でも、ちょっと進みが遅くて〆切(5日)には間に合いそうにない。 あらかじめ「ちょっと遅れます」と連絡しておく。

_ [言語] Converge

新言語。

  • Pythonのインデントブロック
  • IconのSuccess/Failureベース評価
  • コンパイル時メタプログラミング(マクロっぽい)

が特徴。なんていうか、なんだ、自分の好きな機能をぶちこんだ言語 という意味では極めて正統的な「俺言語」だと思う。 広く使われるかどうかは別として。

_ [Ruby] the Minnu's Filer2

Rubyを組み込んだファイラーソフトウェア。

コマンドラインのシェル操作が体の一部になってる私は いわゆるファイラーを日常的に使ったことがないのだが、 これはその辺のファイラーをいろんな意味で凌駕している。

こんな方に向いてます、だそうだ。

  1. PC-UNIXを最近始めてシェルを使いはじめたが、どうも肌に合わない。特にファイルのコピーや移動のコマンドを入力するのがめんどくさい。
  2. シェルで処理するよりスクリプト(Ruby)で処理する方が好きだ。
  3. マウスよりキーボードが好き。
  4. ファイル名に漢字ファイル名を使っている。
  5. 任意のファイルを選択してから、そのファイルに対する処理を行うスクリプトを書きたい。
  6. システム管理者で楽に設定ファイルを弄りたい。
  7. IDEよりファイラ+エディッタ+コンパイラ+コマンドラインツールなど単機能なツールを組み合わせて開発する方が好きだ。特に開発ツールはsshでログインしたときも利用でき動作が軽快な端末上のツールで固めたい。

要するにファイルへの操作のシェルコマンド部分をRubyで書けちゃう ということらしい。また、メニューから一通りの操作もできるみたい。

好みが極端に別れそうなソフトウェアだ。こういうアプローチのものは好きだな。

_ 地方格差をなくすためにみんなでwebでがんばろうじゃ駄目な理由を考える - 一人シリコンバレー男

webビジネス(モバイルコンテンツも含む)は、 地方での経済振興に役に立つと考えます。

理由は三点

  1. 場所による利益の機械損失が少ない (渋谷で開発しようが、鎌倉で開発しようができたものを発信する場所は一緒)
  2. 大規模な施設を必要としない (製造業と違い工場のような初期投資の大きい大規模施設を必要としない)
  3. ナレッジを学びやすい環境が整っている (リファレンスはオンラインに大量にあり、わからなければ「はてな」「教えてgoo」へどうぞ)

しかし、筆者はそれだけでは「webビジネスが地方の経済振興の鍵へとならない」と主張する。 なぜかと言うと「やはり「世界とビジネスをする」といった意識が不足している」からだと。

いや、どうなんだろう。確かに松江とかも上記の理由で地域振興しようとしているのだが、 やはりいろいろと課題もあるわけで。島根県と提携しているテキサス州となんかしよう という話はあるらしいので、まったく「世界とビジネスする」視点がないわけじゃないようだけど。

_ [言語] Lightweight Language Spirit

LL魂のチケット発売開始。

例年の「Language Update」と「オレ様言語の作りかた」のコーディネータを依頼されている。 しかし、別件とコンフリクトしてるんだよなあ。 どっちを選ぶか。

_ Geekなぺーじ:選択肢を減らすことの重要性

「選択肢が多い方がよい」というのは自明のような気がするが 実はそうではない、という話。

  • 選択肢の多さは機能麻痺(Paralysis)を引き起こす
  • 最悪の選択を誘発する
  • 満足度が低くなる

選択肢はいつもいつも良いものであるとは限らないということ。

我田引水すれば、もっとも選択肢の多い(自由度の多い)言語が ユーザ満足度が高いとは限らないということでもある。

デザインする人はこころしなければならない原則。

_ [言語] RubyよりPHPを好む初心者

以下のようなコメントをいただいた。

公式サイトをたずねて20分でHello World的なWebアプリを書けるようにならない限り、RubyやPythonが初心者にPHPより好まれることはないでしょう。

Rubyの公式サイトは(というか、Rubyそのものが)Webアプリケーション作成に特化していないので、 20分でHello World的Webページを作るのはちょっとしんどいかもしれない。 そのことは認める。PHPで20分でできるかどうかは知らないが、 HTMLに数行のコードをたすようなものであれば、 Rubyよりも簡単であろうことは想像できる。

が、20分で作る「Hello World的動的Webページ」はともかく、 「ちゃんとしたWebアプリケーション」を作成するのは、 そんなに簡単なことではないのではないか。 そんなに簡単に手を出してはいけないことなのではないか。

「初心者にもWebアプリケーションが書ける」という幻想を与えることで、 バグだらけで、メンテナンス性が低く、セキュリティ問題を抱えた Webアプリケーションを乱造することになっているのではないだろうか。

ここでは、PHPで「ちゃんとしたWebアプリケーションが書けない」と言ってるわけではない。 しかし、ちゃんとしたアプリケーション開発には、 PHPだろうがなんだろうがそれなりの知識や仕組みやフレームワークが必要で、 20分で作るHello World的動的Webページの延長線上にはない、と思う。

本当は難しいことを簡単にできるように思わせるのはかえって罪のような気がする。

参考: Teach Yourself Programming in Ten Years

追記

PHPを「けなしている」と見られるのは別に構わないのだが、 「Rubyの宣伝をしている」と言われたのは心外であった。 「どこがそういう風に読めたかな」と考えてみると タイトルに「Rubyより」と書いてあるのが、 「Rubyの方がいいのに」と思っているように伝わったのかもしれない。 ということで、Strike out。

で、念のため以下を明記しておく

書いてないこと

  • PHPではセキュアなアプリは書けない
  • PHPは初心者がプログラミングを学ぶのに向いていない
  • Rubyの方がPHPより優れている

書きたかったこと

  • セキュアでないWebアプリは害悪である
    • Webアプリである以上、公開するなというわけにはいかないだろう
  • PHPでも(Rubyでも)セキュアなWebアプリを作るのはそれなりに大変
  • ということは、Webアプリは初心者に向かないテーマだろう
  • 簡単に(比較的)セキュアなWebアプリが作れるプラットフォームはありえる
  • が、少なくとも素のPHPはそうじゃない
  • その点、なんらかのフレームワークを使ったものはもうちょっとマシ
  • だけど、それならどの言語でも似たようなもので、初心者に対するPHPの優位性ってのは幻想だよね
  • 結論: 初心者はWebアプリに手を出さない方がよい。少なくとも素のPHPは危険

«前の日記(2007年06月03日) 最新 次の日記(2007年06月05日)» 編集