人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

ポール・グレアム「言語の設計に関する5つの問題」を翻訳しました。
http://d.hatena.ne.jp/lionfan/20070215

原題は「Five Questions about Language Design」で、原文は以下です。
http://www.paulgraham.com/langdes.html

英語に強い方、ぜひアドバイスいただければと思います。
よろしくお願いします。

●質問者: lionfan
●カテゴリ:コンピュータ 学習・教育
✍キーワード:FIVE アドバイス ポール・グレアム 翻訳 英語
○ 状態 :終了
└ 回答数 : 5/5件

▽最新の回答へ

1 ● matsOS
●100ポイント ベストアンサー

色つきの部分の周辺だけ解答いたします。すみません。長文なので全部読んでないです。


  1. [パネル・ディスカッション中に、ガイ・スティール「自分の言語がたまたまコンパイラを書くための言語でもない限り、アプリケーションにはその言語自身のコンパイラを記述するもの(アプリ)を含んではいけない。」と補足し、この点を主張した](日本語ぽくしただけ)
  2. すべての人が自分のクライアントソフトを導入すると仮定してソフトウェアを設計するのは、すべての人が正直だと想定した社会を設計するようなものだ。(サーバ側だけにアプリを持たせるという話なので、多分クラ・サバモデルのクライアントを指している。)
  3. ウェブにアクセス可能なデバイスが急増するだろう。そして仮定していいのは簡単なhtmlとフォームのサポートだけだ。あなたの言語で携帯にブラウザが実装されるだろうか?パーム・パイロットに電話が装備されるだろうか? ブラックベリーは大画面になるのか? ゲームボーイでウェブをブラウズできるか? 時計では? どうだろうか。全てがサーバ上に作られることに私は賭けるのか、それは知る必要がない。サーバ上にすべての頭脳を集めることには、もっと健全な意味がある。(携帯やGB、腕時計にブラウザを載せるような意味あるか分からんようなものよりも、という意味。ただし2001年現在の話)
  4. たとえば整数のリストといった、自然に表現すればいいものが、オブジェクト指向プログラミングでは、下準備とぎゅう詰め(←うまいニホンゴが出てこない…)のクラスによって今日では表現することが可能だ。(皮肉っぽく)
  5. オブジェクト指向プログラミングの別の魅力は、メソッドによってfirst class function の力の一部を与えられるということだ。だがこれはLispのプログラマにとって、新しくもなんともない。実際にfirst class function があるのなら、何でもかんでもクラスとメソッドの型につっこむ代わりに、その作業に向いているならどんな方法であれ、そいつ(first class function)が使えるはずじゃないか。(皮肉っぽく。実際にはクラスに色々つっこんでるだろ?と)

first class function は訳さない方がわかるのでは。


これ以上は根気の問題であきらめます。。

◎質問者からの返答

matsOS様、ありがとうございます!!

ただいま修正いたしました。


2 ● hujikojp
●100ポイント

いつもご苦労様です。逐一、気になったところを書かせていただきます。

プログラミング言語の設計はイスのデザインと似ており

訳語は統一したほうがいいと思います。

プログラミング言語の設計はイスの設計と似ており

Aim for Brevity.

簡潔さを目指せ

"Brevity"は「短く書ける」という意味が強そうです。「簡潔」というと「言語仕様自体が簡潔」というかと勘違いしました (Lispなんか、仕様は簡潔だけどコードは長くなる)。

「短く書けるようにしろ」ぐらいですか。でもこの段落全体、書き直さないといけないかもしれません。なんかうまいいいかえで置換できないもんですかね。

the syntax should be terse to a fault;

ミスに対して文法は簡潔であるべきで

"to a fault" = 「極端に」です。

∴「文法は極端に簡潔であるべきで」

OPEN PROBREMS

公開問題

「未解決問題」のほうがいいでしょう。ほかの "open problem"の出現も同様。

[During the panel, Guy Steele also made this point, with the additional suggestion that the application should not consist of writing the compiler for your language, unless your language happens to be intended for writing compilers.]

これは MFTLへの揶揄でしょう。Jargon Fileにあるとおり、彼らの目標は自分自身のコンパイラを書くことなので。いまの訳でもいいですが、さらに砕くと「「自分の言語がたまたまコンパイラを書くための言語でもない限り、自分自身のコンパイラを目標にしてはいけない」」

◎質問者からの返答

hujikojp様、ありがとうございます!!

ただいま修正いたしました。


3 ● matsOS
●50ポイント

2度目です。今度は日本語だけ読んでギモンなところを考えてみました。意訳しかできないので、お好みの部分だけとって下さい。


1.設計者は、ある種の設計は他よりも個々の人間に近い問題だと知っている。(この段落では建築家だけでなく設計者全般について話している)


2.自分自身と仲間のために設計せよ(友達ではなく、ハッキング仲間をさしている)


3.私は、プログラムを短くすることに限ってはほとんど全てが、良いことだと思う。(日本語ぽくしただけ)


4.あなたの考え出した新しい数のために、何かの追加を定義したければ、新しい関数を定義して付け加えるだけでよい。(プログラム中で使うために自分で作った数列とかの新しい概念の数を表すために、何か追加定義したい時ということ)


5.したがって、少なくとも計算力のボトルネックを考える上で、効率が問題となるだろう。(日本語ぽくしただけ)


6.この戦場自体が無意味かもしれない。笑い話だね。(日本語ぽくしただけ)

◎質問者からの返答

matsOS様、ありがとうございます。

日本語としてもぎこちない部分が多数ありますので、すごくうれしいです。

ただいま修正いたしました。


4 ● korompa
●100ポイント

もう少し後で付け加えると思うのですが、

言語の設計に関する5つの問題とは、

GUIDING PHILOSOPHY ←ぬけてます

OPEN PROBREMS←スペルミス

LITTLE-KNOWN SECRETS

IDEAS WHOSE TIME HAS RETURNED

PITFALLS AND GOTCHAS

なので、それぞれに「その1:」などとつけるとサブ項目と区別できていいのではないでしょうか。(H2タグつけるとかでもいいかも)


で、その1、の4.から。

マニュアルの重要な部分は、説明、制約、警告、例外に専念している。

A good part of manuals is taken up with clarifications and reservations and warnings and special cases.

マニュアルの大部分は…で占められている。


多くの説明を必要とするような言語

the things in the language that required so much explanation.

多くの説明を必要とするような部分

その言語におけるthingsが説明を必要とします。


5.

知的な面では、プログラマが好む言語を設計することは、論文として公表できるようなアイデアを具体化してひどいプログラム言語を設計するのと同じくらい有益だ。

論文として公表できるアイデアを具体化するひどい言語の設計に知的価値があるなら、プログラマが好む言語を設計することにも価値があるはずだ。

(これはただの言い換えです)


その2の4

first class function

ファーストクラスの関数、でいいのでは。

◎質問者からの返答

korompa様、ありがとうございます。

ただいま修正いたしました。


5 ● korompa
●50ポイント

追加は一つだけでした。

Pitfall and gotchasの1

どうだろうか。全てがサーバ上に作られることに私は賭けるのか、それは知る必要がない。

I don't know. And I don't have to know if I bet on everything just being on the server.

わからないけれど、全てがサーバ上に作られると考えればわからなくてもいい。

(「もし賭ければ、知る必要はない」ということですね)


サーバ上にすべての頭脳を集めることには、もっと頑健な意味がある。

It's just so much more robust to have all the brains on the server.

サーバ上で全てが運用できれば、もっとずっと頑健なものになるのだ。

(と続けるとわかりやすいかな、と思います)

要するにAJAXとかは邪道だということですかね。時代的になかった?というのもあるんでしょうけど。

◎質問者からの返答

korompa様、ありがとうございました。修正いたしました。

前回の修正でお名前が抜けておりました。謹んでお詫びいたします。

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ