Today アクセスカウンター Yesterday アクセスカウンター

括弧の無い Lisp

なんか,いつまで経っても呪いのように,「Lisp は括弧が多い」 とか言ってる人がいて,なんだかなぁと見るたびに思うわけです.

いやいや,全然括弧多くないよと.

最高にキモい Lisp コードを書いてみよう with 100 行リーダーマクロ



defun fib (n)
if (< n 0)
(error "oops")
elif (= n 0)
0
elif (= n 1)
1
else
let
x <- (fib (- n 1))
y <- (fib (- n 2))
in
(+ x y)
end
end
end


誰だい,Common Lisp に括弧が多いなんて言ったのは !! あと,ちゃんと end で区切られるから,Pascal な人も安心だね ☆

# というのはネタとしても,Perl の $ や # 等々記号の群や,Ruby の @ と end の群や, Python の,インデントの見た目なんていうある種環境依存する要因が本質的に重要になってるとことかと,どっこどっこいのトレードオフだとは思う.なにゆえに,括弧という伝統的かつエッセンシャルな要因が,それほどまでに叩かれねばならぬのだ,と.それ,単に慣れの問題ちゃうか ? と.逆に括弧が無くて,ダラダラとひたすらアスキーが並んでいるプログラムの字面の方が読みにくい,と感じる場面も多いと思う (少なくとも,ボクは).括弧があれば,少なくとも紛れや迷いは無くなる.というか,まぁ,Lisp にパタンマッチがあれば,ほとんどの問題は解決するような.一番きついのは,複雑な条件分岐で,異様に括弧のネストが深くなるケースだと思うから (そういう S 式の塊,見た瞬間読む気が失せる).

これを良い機会として,Allegro の人とか黒田さんとかが意地と気合いと本気で,Ruby と完全互換な Common Lisp の DSL とか書いたらカッコいいのになぁ (笑) そしたら素直に尊敬してしまう.ソースの冒頭で,(require 'ruby) とか w

いくら Ruby の構文が複雑でも,最終的には構文木になってるはずだから,S 式に機械変換できるはず (いや,そりゃそうだけど… ムチャクチャ)

ブロックはラムダに,ドットでのメソッド呼出しは,C++ の内部みたいに this を引数にして総称関数呼び出す形に変換すれば,とりあえず見た目は同じにできそうな気も.

そしたらまぁ,CLer は,Ruby は CL の DSL です !! と胸を張って言えるし,Ruby の人は,CL の莫大な資産 (例えば,商用の気合いの入ったネイティブコンパイラとか) を使えるようになるわけだし,みんなハッピーになれる気がする.誰か本当にやったら面白そうだ.

ちなみに他の呪いの例 :

・ FORTRAN は再帰ができない… (酷いのになると,動的メモリ割り当てが dekinai もあり)
・ Java はのろい (← これが言いたかっただけ)

あと,関数型言語は,普通の人には難し過ぎる,とか.

サルが使おうとすると怒られる気がする言語

ていうか,C だって,FORTRAN だって,そもそも計算機自体が,全て偉大な計算機科学界の,知の巨人たちの生み出した数学理論の結晶なんですけどね.なんで関数型言語ばかり変に崇めたり,卑屈になったりする人が多いのだろうか ?

# BNF が確立するまでは,高級言語なんて未来永劫実現しない夢物語に過ぎない,と言われてたんですよ.今では学部の 2 〜 3 年生でも,習うところは習うぐらいまで道が整備されてますが.

まぁ,こういう意見はあいまいなので,ちょっと便宜上,定義を定めることにしよう.

○ 普通の人

・ 言語処理系を作らない人
・ ライブラリを使うだけの人
・ メタプログラミングしない人
・ コーダー

○ 普通じゃない人

・ 言語 (仕様 | 処理系) を作る人
・ ライブラリアン
・ メタプログラミングする人
・ デザイナー

まぁ,こう書くと語弊があるんだけど.しかし,「素人は,熟練した大工の道具箱の中を除いたとき,多種多様な道具の数々に目眩を起こし,また使いかたが見当もつかないため,なんでこんなに多種多様な道具が必要なのだ ? 無駄だ,必要ない,と言うかもしれない.しかし,C++ はプロのための言語だ」 と堂々と語るびじゃーねすっぽすっぽ先生も (たぶんプログラミング言語 C++ かどっかで) 私は門外漢の分野では,むしろ素人でいたい,と言っていたような気がするけど,別に自分の専門外のものまで,何でもかんでも知る必要も作る必要も無いのである.

だから,ただ使う人ってのは,全然駄目じゃない.むしろ,使う人がいなかったら,言語にせよプログラムにせよ思想にせよデザインにせよ,発展が滞るので,エンドユーザは素晴らしい,タコは素晴らしい,フリーライダー万歳 !! という在り方ことこそが,本来の FOSS の正しい在り方だったのではないだろうか.変に卑屈になったり,逆にたかがちょっと変わった言語使ってるってだけで尊大になったり,ってのは,なんか違うのではなかろうか.

# まぁ,往々にして,母国語で近所の人々とまともに挨拶もコミュニケーションもできないような人間に限って,10 億人と話せる ! とか言って NOVA に通いたがるものですが.重要なのは,言語使えることじゃなくて,言語を使って表現するもののような気が.いや,もちろん,表現手段がいろいろあることは,非常に素晴らしいことですが.英語にフランス語に手話に,何でもできるに越したことはないです.そして,文法とかはむしろどうでも良くて,外国のカルチャーを学ぶことの方が重要なんじゃないかなー と思うとですよ.対話重要.コミュニケート重要.プログラミングに限らず,何でも同じですな.

そして,いざ自分が当事者,例えばプリンタドライバが上手く動かなくて困っちゃったリチャード (RMS) みたいな立場になったとき,オープンソースなら自由に改良できるかもしれない,もっと上手いやり方を思い付いて,みんながハッピーになれるかもしれない.世界が一気に良い方向に変わるかもしれない.ソフトウェアのコピーコストは完全に (ほぼ) ゼロなので,誰も不幸にならない,みんな幸せになれるユートピアさ.ボクはピーターパンなんだばじゃーい (マイケルジャクソン管理人)
ということが,FOSS の最大の素晴らしい点だったのではなかろうか.

とかいう話はどうでもいいな.まぁ,目的に対して効果的な道具を自由に使ってれば良いのではなかろうかと.私は,C++ に対して Java が,C# に対して VisualBasic が,Perl に対して PHP が素晴らしいのと同じ理由で,Ruby は良くできていて素晴らしい言語だと思いますし.別に,大根を切るのにチェーンソーを持ってくる必要は無いですし,いくらチェーンソーでも大根は切れるとはいえ,明らかにやりすぎというか.

# いや,ま,チェーンソーを使えないやつが,大木を切れるか ! というのは最もな意見なんですが,別にみんながみんな木樵になりたいわけじゃないし.いや,もちろん,使えるに越したことはありませんけどね.

ただまぁ,処理系屋からすると,やっぱり S 式は扱いやすいわけで.プログラムを手で書くか,あるいは機械で処理するか,という認識の違いを,いたるところで目にするような気もします.Ruby の Perl モドキの親の仇のように括弧を省略したがる複雑な文法 自然言語のように柔軟かつ簡潔な人間にやさしい文法は解析は面倒というのが本音.

あと,正直,機械に解析が困難な文法が,あまり人間にやさしいとも思えないのですが.結局のところ,Ruby だって,思いもよらない意味に解析されちゃって,書いた本人がびっくり ! というケースだって多いのでは ? 私はいちおう人間のつもりですが,英語の自然言語処理は苦手で,さっぱり意味が取れませんし.

んで,結局は,慣れてる人は簡潔に書きやすくて読みやすくて良いだろうけど,演算子の優先順位が狂ってる C みたいに,疑心暗鬼になって括弧を付け回るという本末転倒になりそうな予感も.

# いや,生粋の Rubyist 様がたは,みんな完璧に文法規則が頭に入ってるから,括弧省略しまくりで変数なのかメソッド呼出なのかさっぱりわからないようなコードでも,初見でスラスラ読めるのかね ? そしてそういうコードが Ruby らしいというならば,いやはや,Ruby は頭の良い人達しか使えない.選民思想に溢れた言語ですね (とか毒を吐いてみる w)

とはいえ,まぁ (ネタはともかくとして),やっぱり S 式を読みやすいと思う人間もいないわけで (たぶん,*ほとんどの人* はそうだよね ? この言葉ほど当てにならない曖昧 me mine もないけれど).特にネストが深くなってくると,アレはいくらなんでも感がすぐに漂ってくる (いや,現世から解脱した Lisper は括弧が見えなくなるらしいけど).

というわけで,やっぱり Python みたいに,インデントでスコープを括ったり,C みたいに {} やセミコロンで閉じたりとかが,妥協案としては良いのではないだろうか ?

とか思っていたら,やっぱりもう既にあったのね (via はじめてのにき コメント欄)

SRFI-49: Indentation-sensitive syntax


define
fac x
if
= x 0
1
* x
fac
- x 1


うわははは.まさしく誰が書いても同じ見た目になる w


define (fac x)
if (= x 0) 1
* x
fac (- x 1)


これぐらいだったら,普通に実用になりそう,というか,普通に欲しいな.見やすいのう.

一番外側の括弧の省略は,普通にデフォルトになっても良いと思う.Dylan とかは知らんけど.

なんか,やたら前置きが長い上に,不明瞭な記事になってしまった.おまけにもうこんな時間だ.明日早いし,今日睡眠不足でフラフラだから早く寝ようと思っていたのに… orz

疲れていると,無駄に変なテンションになっていかん.当初は,「もう CL の方言が Ruby ,Sheme の方言が Python ってことで良くね ? w」 的なネタ記事を,リンクテキトーに張って 10 行ぐらいで軽く書くだけのつもりだったのに…

# 挙げ句の果てに,なんか発言を引用しようとして,「C++ の設計と進化」 まで引っ張り出してきたのに,結局見付からず.駄目駄目.

何か,書いてるうちに変な方向に文章が流れ初めてしまって,軌道修正を繰り返すうちに迷走してメチャクチャになっちゃった.寝てないと変に攻撃的で皮肉屋文体になってしまって非常に良くない.キモすぎ ! > わし

もう面倒になってきたからリリース.なげやり (最近の若者)

λ…




うは,もちろん偶然だろうけど,タイムリーだなぁ.

[言語] まつもとゆきひろ氏のHSPに対する見解について

いやー,単に HSP は,特定領域 (ゲームなど) に優れた DSL ってことのような… 何もこういう言いかたをしなくても.正直,読んでいて良い気持ちがしない文章ですな (なら読むな > わし) SURU- 力が足りない.

う〜ん,どうなんでしょう,こういう言いかたは.前回の記事の発言とかと合わせると,なんか自ら Ruby を貶めているようにも聞こえてしまうのですが… つまり,Ruby は,普通の人のための簡易言語である,と.そもそも,Common Lisp の人から見れば,たぶんこのエントリに書かれている内容は,全て Ruby にもそっくりそのまま当てはまるのだろうし.

あと,一方では,「初心者はいつまでも初心者ではない」,とか言っておきながら,もう一方では,「業界の人間の大多数がいわゆる劣った人間」 と発言するという矛盾というか.いや,松本氏的には我慢ならないだろうけど,むしろ Ruby が,例えば Java と Common Lisp の間のギャップを埋めるための緩衝材となるならば,それはそれで素晴らしいことなのではないかとも思う.親はいつまでも子供に子供のままでいてほしいのでしょうが,それでは子供は成長が止まってしまうかもしれない.最初は CL を扱えなかった子供でも,やがては Ruby を糧に成長して,CL を飲み込めるようになるかもしれない.

# もしそれを嫌がるのならば,まさしくそれは囲い込みというか,自分の食い扶持のために信者を増やす宗教活動に見えてしまうかも.いや,それは言い過ぎか.すいません.現に幸せになってる人も多いわけですからねぇ.

しっかし,ボク的には,松本氏は,Lisp が 50 年かけてできなかったことをやりとげ,Ruby で,現に世界を変えつつある凄い人,というイメージがあるのだが,なにゆえにこんなにムキになって他言語を取り上げ,いやらしい皮肉を語るのだろうか ? 誰にもマネできないことを成し遂げたのだから,もっとどっしり,大御所的に振る舞っても良いと思うのに.嫌いな言語やよく知らない言語は,単に放っとけば良いんじゃないかなぁと.他言語訪問,とかいって,結局は中途半端に取り上げるだけで,最後は Ruby マンセーに落ち着く水戸黄門的るびま記事とかも,いろいろアレな気が.

# いや,その庶民的なところが良いのかもしれませんが.口を滑らせるのも芸なのかも知れない.

dankogai さんも,どっからどうも見ても圧倒的な勝ち組 (金持ち,有名人,アルファブロガー,奥さん美人らしい,良いマンションに住んでるらしい) なのに,やたら数学や学歴にコンプレックス剥き出しな印象があるし (なんか,中卒だけど,そこらの ph.D よりも勝ち組だぜ的な.いや,もちろんそうですし,裸一貫から自分の実力一つで成り上がったということは,非常に立派で物凄いことだと思うのでですがねぇ…).う〜ん,まぁ,わかってやってる芸風なんでしょうけど.ちょっとボク的には辟易してしまうかもしれない.

いや〜,ボクみたいな人生負け組一直線が言うのもアレだけど (普段から自分のこと,低学歴とか田舎者とか DQN とか言ってるし w まぁ,れっきとした事実なんだけど),教養とか読書とか知識ってのは,世界を広げて,変なコンプレックスを無くしてまっすぐ物事を見るためのものなんじゃないのかなという.

けして,自分の頭の良さをひけらかしたりとか,そういうためのもんじゃないような.まぁ,どうでも良いけど (ていうか,ボクみたいなぺーぺーが語ることじゃないな.眠いときに勢いだけで文章を書くのは良くない).




わはは,確かにそりゃそうだ.

_ むみむみ

自分の言語が好きで好きでしかたがなくない m さんなんて見てて何も面白くないんじゃないかとかいう話。まぁそれ以前にそうじゃないと成功しないよなーとか適当に思う。

Ruby が叩かれるのは,成功したから.少なくともそれは間違い無いし,凄いこと.

ただ,wo さんの,この含蓄溢れる御言葉を,思い出さずにはおれないのである.

プログラマだったら一度は「自分言語を作ろう。」と思ったことがあるかもしれない。でも、実際に実装なんか全然することなんかなくて、即没。っていう人が9割以上だと思う。もし、実際に実装したとしても、生き残って広く使われるとなると、その確率はごくごくわずかだと思う。(ちなみに、Xftのkeith氏も言語作ってたりする - http://nickle.org/。全然関係無いけど。)

それでも、本気で自分言語の仕様について考えてみる価値はあると思う。

経験とかライブラリの知識とかの都合上、あるひとつの言語弄ってばっかり。っていう状況は十分考えられるだろう。結果として、その言語マンセーな状況、いわゆる「信者」になってしまうんだと思う。大抵のプログラマは大なり小なり何らかの言語の信者だ。

でも、プログラマ、というか、技術者にとって、何かを盲信するというのは最も避けるべき行為だ。そういうのは客観的に長所、短所を見極める際の障害になってしまう。

で、そういうのを避けるために自分言語を考えるのである。自分言語を作るとすれば、もちろん、その言語を世界最高の言語にしようとするだろう。そうすれば、自然と、他の言語の欠点を探そうとするんじゃないだろうか。

そして、その時は自分が信じる言語さえも客観的に見れると思う。

でも、そういううんちくはどうでもいいとして、自分言語を考えるってゆーのは結構楽しい。まあ、暇潰しとかにもってこいだ。

--

で、色々考えてて、結構考えがまとまってきたし、今日は何か他の言語からパクってこようと思って、D言語調べてたら僕が考えてたアイデアがもっとしっかりした形で十分実装されてたのでなんか、もうD言語でいいや。とか思ったんだけど、続きます。

(強調筆者)




あー,よく読み返してみると,思っていたのと意味が違ってるなぁ… まぁいいや.

自分を客観的に見るってのは,難しいよねぇ.

結論 : 広がった Ruby は凄い.Ruby を作った Matz 氏は偉大.




おっと,修正して消したところが引用されてました > HSP のくだり.

ありゃりゃ,すいません.

雑感

# しっかし,部分部分だけ取り出されると,えらいドギツイ皮肉みたいになってしまいますな (大汗) まぁ,みなさん大人だと思うので,きちんと全体の大意を汲んでくださるに違いないと思いますが (^^;

何で表現を代えたかと言うと,HSP のサイトを見て見たら,なんかやたら面白そうな言語だなと www

簡単に絵が動かせて,バイナリも生成できるとか.まぁ,ボクはゲームとかしない人だから,ゲームプログラミング自体には興味無いんですが.こりゃ流行るわい,と納得も.

HSP は,汎用言語じゃないんですよ,たぶん.だから,HSP に対する例の批判 (BASIC や COBOL みたいな老害はしぶとい) は,的外れというか.

どっちかっていうと,HSP は,シナリオ記述用 (まさしく) スクリプト言語「吉里吉里」みたいなもんなんじゃないすか ? (いや,こっちも名前しか知らないですけど)

PHP にしろ,HSP にしろ,もともと汎用言語よりもある種の仕事は上手くできてあたりまえ (というか,そのための「ツール」) なので,そもそも Ruby の攻撃比較対象では無いような.

まぁ,専用言語は,一度普及するとつぎはぎ的に汎用言語にまで拡張せざるを得なくなってくる宿命があるので,一度広がった影響を苦々しく思う気持ちもわからなくはないですが.

自転車で十分な人も,世の中には多いと思いますですよ.みんながみんな,マニュアルを取る必要も無いわけで.今の時代,オートマで 9 割以上の人間は満足だと思います.マニュアルで運転できないようなやつは本物のドライバじゃない,とかいうのは論外としても,オートマは燃費が悪いってのも,もう過去の話のような.もちろん,F1 ドライバも,軽トラ (たいていマニュアル) の運転手も,いつの時代も重要なのは間違い無いのですが.

(もう 5 年間ペーパードライバ一応マニュアル免許管理人)




あわわわわわわわわ,す,すいませんっ !!

きむらさんの 「んーと宗教活動云々は言葉的にもちょっと微妙っす。 詳しくはコメントしないけど。 ただそう感じている人はあろはさん以外にもいることはいます。」 という反応の意味がわからなかったのですが,今日氷解.

だいありー : samidare が新しいRubyスレを捕捉してくれた

経由で

Rubyについて Part 25 (気にしてますか?GPL混入

経由で

【カルト】Ruby開発者Matz【モルモン】

という 2ch のスレを発見.うへぇ,いくらなんでも,酷すぎる誹謗中傷だなぁ (個々の書き込みの真偽はともかくとして,少なくとも万人が見れるネット上に書くような内容じゃない).

# すいません,全く 2ch とか ./ の類は見ないので,この方面に無頓着でした.

いやぁー,私の意図は,「(Allegro の中の人と同様に) Ruby の処理系の開発が仕事になってるから,FUD を流してでも他の言語を貶めて,ユーザを確保していかないといけないのだとしたら,それはいかがなものか ?」 程度の意味合いでした.けして個人の信教を貶めるような意図ではありません (迂闊なことに,キリスト教徒の Matz 氏に対して,いわゆる 「Lisp カルト教」 的な揶揄と同列のつもりで,宗教という単語を使った発言をしてしまったのは,さすがにマズかったなぁ.特に他意はなかったのですが).

しかし,上記のようなスレを知っている人が見たら,全く違う意味に取られて,とんでもない誤解をされてもおかしくないですね.心配になったので,念のため.

トラックバック


この記事にトラックバックする(FC2ブログユーザー)

[Programming][NLP]機械に難しいのは人間にも難しい?

ref:ホワット・ア・ワンダフル・ワールド 括弧の無い Lisp あと,正直,機械に解析が困難な文法が,あまり人間にやさしいとも思えないのですが.結局のところ,Ruby だって,思いもよらない意味に解析されちゃって,書いた本人がびっくり ! というケースだって多いのでは

コメント

Secret

括弧の無いLispがひろまらないのは構造的な理由があるような気がします。

括弧無し文法は、Lispにちょっと触った人は誰もが考えるアイディアなんですが、Lispコードをちょろっとしか書かない人にとってはそれほど切実な問題ではないため、実験的にそういう文法を実装するところまではいっても、それを精力的にプロダクションレベルまで推し進めるモチベーションがありません。

括弧問題を本当に切実に感じるのは、Lispコードをくる日もくる日も書かなければならない羽目になった人ですが、そういう人はじきに、解いてて面白い問題は他にあって、括弧の有無はそれには関係ないということに気づいてしまいます。なのでやっぱり、括弧無し文法に真剣に取り組むモチベーションがありません。

第3の可能性として、自分達は括弧に全然抵抗は無いんだけれども、言語を一般に広めるためには括弧無し文法が良いだろう、と考えて実装する人たちがいます。これはある程度、言語を広めたいという動機から来るので、モチベーションがやや高いです。しかし…自分が心の底では不要と思っている機能を実装するので、やっぱりどこかに隙が出来るんじゃないでしょうか。Dylanがひろがってないのがそのせいだ、とまでは言いませんが…

> 括弧問題を本当に切実に感じるのは、Lispコードをくる日もくる日も書かなければならない羽目になった人ですが、

むむ、これはかなり意外でした。
くる日もくる日もLispを書くようになると、むしろ括弧を好きになって全然問題とは感じなくなるんだと思ってました。
他の文法に比べて、エディタで支援するのもかえって簡単ですし。
1970年代はじめくらいの、支援できるエディタ環境がない時代には本当に問題だったかもしれませんが…

あーそれはちょっと文章が不明瞭だったかも。

「括弧問題を本当に切実に感じる人がいるとすれば…」と読みかえて下さい。

来る日も来る日もLispコードを書くくらいでなければ切実ではないだろうが、そうなったら問題とは感じなくなってしまうってことです。

なるほど〜,パワフルな Lisper はみんな自分で処理系なり DSL なり書いちゃうから,方言が乱立して,(別に無くても困らなかったから) 標準ライブラリもなかなか決まらなかった,みたいな話とも共通するような気がしました.

そのような構造が,非 Lisper に,dankogai さんの例のブログのような敷居の高いイメージを与えてしまうのかもしれませんね.鶏と卵かもしれませんが.

Allegro のような企業は,売り上げが死活問題だと思うので,もう少し真剣に普及を考えてくれるのではないかと期待もしてしまいますが.こっちもこっちで,非常に値段が高く,価値がわかる人に買ってもらえれば良い,的な感じも受けてしまいます (もちろん,配布条件の厳しさなどには,eval がユーザサイドから自由に使える Lisp 処理系に特有の問題もあると思いますが).

言語に限らず,そういう特有の敷居の高さというか悪循環は,ある種の学問・専門領域には必ず多かれ少なかれ存在するような気もします.たとえば,専門書がやたら高い → 部数が出ない → 限られた人しか入手できない → ますますコミュニティが縮小 → 限られた人しか理解できない閉じた世界になっていく → ますます部数が出なくなる → ますます高騰 → ますますパイが小さくなる,みたいな.

いっこ上

パスワード打ち間違えた… orz

いちおう,ボク本人のコメントです.念のため.

モチベーションだけは世界一ィィィィ!!!

> h_sakurai さん

ニョホッ w

初心者向けの言語

まあつらつらと考えたりすることがあるわけです。
まるっきりの入門者が、単なるhello, worldと
ウィンドウ開いて絵が動くのとどっちが興味を引かれるだろうかと。
大多数は後者だと思うんですよ。
悪い習慣が身についてしまうかもしれないけれど、それと興味を失って投げ出してしまうのとどっちがいいだろうか?
まあ他人が、趣味でやることなんだからどうでもいいっちゃそれまでですけど、入門者が××をするためにプログラミングを覚えたいという要求は重要なんじゃないですかね。
いかん。まとまらなかった。

ところでリンク先が微妙におかしいです。
最初のzakkicho のあとにスラッシュがないっす。

> きむら さん

えーと,きむらさんとこのブログ (?) がおかしいような… ? 当該リンクのところをクリックしても,「404 Not Found : リムネットホームページへ」 と言われてしまいます.

ということで,一応日付のトップに張り直して置きました.

あと,コメント機能付けてくださいよ (苦笑)

# いちおう 「ブログ」 のつもりなので,私信とかは書きたくないのですよ.

# まぁ,きむら さんの場合は,mixi でメッセージなりできるので良いのですが

hello, world は奥が深いですよ w 最近では,大の大人達がよってたかってあの手この手でコンソールに 14 文字 (アリアリアリーヴェデルチの場合) を表示させるという,西部の荒くれ男たちもびっくりな遊びに命を削っています.とても女子供の手に追えるようなプログラムではありません (おおげさ)

まぁ,そこらへんに分水嶺がありそうな気はしますね.仮りに,簡単に絵が動いたとしても,そこで終わる人,さらに先に進む人,壁は言語以外にもいくらでもあると思います.

C/C++ は論外としても,Java も非プログラマには厳しいと思います.

visualu Ruby や Google API を上手く使った,恋するプログラムは,その点非常に秀逸な作りだったと思いますね.やはり Ruby は素晴らしいと思います.

http://www.amazon.co.jp/exec/obidos/ASIN/4839917299

# まぁ,この本の泣き所は,書いてあることをなぞって終わりになりそうな点ですかね… さすがに win32 を直接使う,ある意味本格的な GUI toolkit は,本に書いてあること以上をやろうとすると一気に厳しくなるような.肝心の人工無能の設計も,筆者自ら言っているように,拡張性に乏しい感じですし.

Squake なんかは,やはり本物の教育用言語ですから,入門から実用までスムーズにスケールしそうですが… いかんせんマイナというか.いろいろ難しい.ここらへんは簡単にはまとまらなくてあたりまえですよ.

というか,全くの初心者に,「プログラミング言語」 を教えるというのが,根本的に間違ってるのかもしれません.

彼らが知りたいのは,コンピュータを操る方法ではなく,仕様 ×× を実現するための方法,ツールの使いかただけで,コンピュータ自身のことなんて知りたくも無いのですから.

未踏の原田さんの「びすけっと」なども,いろいろ面白いと思います.

>> ビスケットは、絵を動かすために、絵でプログラムを作るツールです。 コンピュータは、プログラムで動いています。普通、プログラムは難しい文字で書かれているので、文字―つまりコンピュータ用の専門の言語を覚えないと作れません。
>> このソフトの場合は絵でプログラムを表現し、実行した結果をアニメーションにします。なので難しいことを覚えなくても、プログラムの楽しさを知ることができるのです。ビスケットを使うと、アニメーション、ゲーム、動く絵本などを簡単に作ることができます。

http://www.viscuit.com/

コメント機能

んーrimnetって制限きついのよう(笑)
コメント送りつけてやるぜ機能は善処します。
普通のblogのように即反映というわけには多分できないと思いますが。
リンクは手打ちしてないので、リンクそのものが間違っていることはないと思うんだけどなあ。
チェックします。

No title

いまさらながらこの騒動?を知りました。

自分はRubyはさっぱりだしLispは学生時代のトラウマ程度にしか知りませんが、Lispは北斗神拳化してるような印象がありますよ。

触ったことがある程度でこんなこと言うのも恐縮なんですが、まずサンプルコードからして理工系学部教養過程の数学なんて常識だよね?みたいなのが多いですよね("実践 Common LIsp"とか"プログラミングGauche"みたいな例外はありますが)。
著者の周辺はそういうレベルなんでしょうけど、普通の人が普通に使えるプログラミング言語ですよみたいな切り口で語られることがもっとあってもいいと思うんですよ。

「普通の奴らの上をいけ」とか「意識やレベルの高い人の集まり」とかLisper 自身がハードルを上げまくってるのがかなりこういうふうに言われてしまう原因な気がします。
こんな風にハードルを上げまくられると普通の人々は北斗神拳(秘奥義Lisp)ではなく空手や柔道(C,LL,java)をやろうと思うのは自然な成り行きだと思います。
まつもと氏の話についてはセクシーコマンドー(HSP,BASIC,PHP)じゃあそのうち行き詰まるよって話だと勝手に解釈しました。
ただ、セクシーコマンドーでも入門や特定用途には充分なわけで、そういった意味ではまつもと氏のダブスタもおかしいですけどね。

なんか思ったことをつらつら書いてたら長くってすいません。失礼しました。
プロフィール
  • Author:あろは (alohakun)
  • 京都のデバッガベンダーに勤めるアラサー会社員。

    本ブログの内容は,あくまでも個人的な感想や意見であり,会社の意見を代表するものでは一切ありません.

    連絡先 : alohakun ___at___ gmail.com
    mixi : http://mixi.jp/show_friend.pl?id=182927
    twitter : http://twitter.com/alohakun













    あわせて読みたい


    この日記のはてなブックマーク数


    スカウター : ホワット・ア・ワンダフル・ワールド


    Map
FC2カウンター
ブロとも申請フォーム

この人とブロともになる

最近のコメント
リンク
最近のトラックバック
人生の残り日数
日本人男性の平均寿命は 28700日.
RSSフィード
カテゴリー
  1. RSSリーダー