Subvoiceスマートフォン用の表示で見るSubvoiceこの広告は、90日以上更新していないブログに表示しています。unDeadPerlは終わってもいないし、Perl6に関しては、まさにこの瞬間も開発されてる。この点に関しては、スラッシュドットのラリーのインタビューを読めばPerlの設計思想がよくわかる。スラッシュドット・ジャパンコンピュータ言語で僕が最も欲しいと思うのは、幅広いダイナミック・レンジだから。汚くって低級な要素とオシャレで高級な要素の両方を兼ね備えている言語を僕は求めている。赤ちゃん語でもオトナの喋りでも受け容れるような言語が欲しい。他の言語では、そういったレベルの違いがひとつに均されてしまう傾向にある。ここで重要なのは、「赤ちゃん語でも」ってところ。他のプログラム言語では挫折したけど、Perlでプログラミングの世界に入ったという人は多いのではないだろうか。自分は、プログラミングはCから入ったけど、まともにCでプログラムをかけるようになるには、1年ぐらいかかった。最初にPerlを学んでいれば、こんなに苦労することもなかったなあと思う。言語仕様が汚いと言ってる人は、たいがい他のプログラム言語をある程度マスターしている人が多い。自分がマスターしている言語仕様を基準に考えてしまうからそう感じるんだろうけど、Perlの持つこの赤ちゃんから大人まで受け入れられる性質のおかげで、ここまで幅広いユーザーに受け入れられたのだと思う。変数はすべてグローバルで特に宣言した場合だけローカルになる...というあたりの仕様は、そりゃインタプリタの実装は楽チンだろうけども、美意識(とミスしにくさ)には欠けるよね。これもラリーのインタビューを読むと実装が駱駝からだとかそんな理由でないことがわかる。6に暗黙のレキシカル・スコープを採り入れないことにした主な理由は、Rubyの例があったからだと言っておかねばならない。僕たちは、明示的なmy宣言にこの先もこだわっていたい。Rubyで僕が一番問題だと思うのは、暗黙のレキシカル・スコープがそうであるように、「驚き最小の原則」が人を迷わせるということだ。問題は、ひとは誰の驚きで悲観するのか、ということ。上級者は初心者とは違うことに驚くし、小さなプログラムを大きく育てようとする人は、最初から大きなプログラムを設計する人とは違うことに驚くのだ。Rubyの「驚き最小の原則」は今や死語になったけど、人によっては暗黙のレキシカル・スコープはわかりにくいとラリーは考えてる。明示的にmyをつける。実はこれ、Perlの一番好きなところだったりする。異なるスコープで同じ変数名を使う場合とかに特に効力を発揮するし、変数がどこで最初に宣言されたのかってのが明示的だとプログラムがすごい読みやすい。)あと、同じ変数名でスカラー、配列、ハッシュと書き分けられるところも分かりやすいと思う。後付けのオブジェクト指向。何かヘンテコなやり方です...神の祝福が要る(bless)わけですが、「神の祝福」って何だろ?この点に関しては、変だと言われれば認めざる終えない。やり方はいくらでもあって、最近だとMooseを使えば、少なくとも他の言語に勝るとも劣らないオブジェクト指向ができる。メソッド呼び出し前後のフックとかは他の言語ではなかなかできないんじゃないか。マルチエンコーディングに(実質上Unicodeに)ようやく対応。これはタイミング的にはちょっと遅れを取った感が否定できなかったです....Javaよりかは早いんじゃないでしょうか。JavaのStringクラスは、UTF-16で符号化されてるらしいので、JavaでまともにUnicodeを扱おうと思うとcodePointAtとか使わないといけないようだし。「レガシー資産」扱いで細々とメンテされる確かにPerl6が出てもすぐ普及するってことはないかもしれない。Parrotを使えば、Perl5もPerl6も同じバイトコードへコンパイルされ、全てParrot上で動作するようになるので、どのPerlを使うのかは全く考えなくてもよくなる。Perl6からPerl5を使ったり、Perl5からPerl6を使えたりする。ちなみにParrotは、来月にようやく1.0がリリースされる。VMPerlが盛り上がるきっかけになればいいな。2013PerlMotion月別アーカイブはてなブログをはじめよう!kaz_hiramatsuさんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。