« PythonとRubyでパスカルの三角形ワンライナー |Main| 思い出すことのできるメモに関する考察 »

« 日記 | zakki(雑記) | 思い出すことのできるメモに関する考察 »

日記

PythonでWikiを作りかけたけども、やっぱり面倒だからPukiwikiを使おうかと思います。 reStructuredTextを使うとツリーとして扱うのも簡単だけども、別にツリーとして扱わないといけないほど複雑なことをするわけでもないですし。

大まかに説明すると「言語XでDxと書くことでできる処理は言語Yではどう書くのだ?」という質問に答えを出せるようなサービスを作るためには、言語Xで書かれたDxというコード片と言語Yで書かれたDyというコード片の対応付けが必要です。この対応付けは自動的に行うことが困難だと思われるので、何らかの形で「人がそれを入力することのできるシステム」が必要です。

あと、おそらくコード片の規模は数文字という訳にはいかないと思います。異なる言語のコードはそう簡単に対応づけられません。たとえばオブジェクトを文字列化するPythonのコードはstr(o)ですが、これはオブジェクトoが持っているメソッド__str__の呼び出しと同じなのでo.__str__()と書くこともできます。またこれに「オブジェクトの文字列化」という意味で対応するJavaのコードはo.toString()ですけど、「整数を文字列化」という意味で対応するのはString.valueOf(o)ですよね。これはJavaがオブジェクトとオブジェクトでないものの両方を持っているからなのですが、こういう個々の言語の仕様は知らなくても目的の物にたどり着ける設計が好ましいです。 そう考えると「いくつかの短めのコード片+簡単な説明」くらいの規模を単位にするのがいいと思います。

Wikiでそういうコード片の対応付けを収集しておいて、たとえば「Pythonの無名関数lambdaみたいなのをRubyで書くにはどうするんだ?」と思ったら、Pythonに関する記述の中からlambdaを検索して、対応するRubyの項目を読む、と。Pythonコンテキストに限定して検索することさえできるようにすればこういうことができるはずですし、コンテキストの限定も簡単に考えれば単にその部分だけ切り出して置いてその中から検索すればいいだけなので難しくありません。


__ とりあえずPythonでフラクタル(ジュリア集合) @ NISHIO HIROKAZU # Archived COREBlogとかで画像がリンク切れになっていて台無しだったのをなおしました。古いサーバのcoreblog/imagesにあったファイルを全部新しいサーバにアップし直し。あと古い日記の中からピックアップをすると「できたできた」系の「中身を表現していないタイトル」に怒りすら感じます(ぇ)

古い記事はwgetして新しいサーバにアップするだけでも構わないけども、修正の楽さなどを考えるとピックアップした物だけこのBlogに貼るのがいいのかも知れない。Zopeからエスクポートしたzexpファイルと、この前後輩に送ってもらったExtentionの中身のzipファイルと、ついでにwgetでHTMLにした物を作ってどこかにきちんとバックアップしておけばいいはず。

いちおう、プログラミング言語シソーラスの為のWikiを作ったけど、すぐ公開するか、ある程度中身が溜まってから公開するか悩みどころ。中身が溜まってから公開することにしたんだけども、どれくらい溜まったら公開するかも悩みどころ。Rubycoの日記を全部読み終わったら公開するかな。


__ 帰りの電車で思いついて変な物を作ってしまいました。Just Another Python Hacker, その2


__ 豚皿の中くらいのを買って帰ったらご飯が一合食べられてしまった。今度から小さいのにしようっと。

トラックバック(Trackback)

Trackback URL: http://www.nishiohirokazu.org/mt/mt-tb.cgi/211

ご意見・ご感想をお送りください(フィードバック)

(フィードバックはメールで送信され、基本的に表示されませんが、内容によっては公開させていただくこともございます。ご了承ください。Your comment doesn't appear the page immediately. If the comment has value to other people, it will be put on the page or subsequent entries. Thank you.)

上の情報は、いずれも未記入でかまいません。 All of above questions are optional.