http://d.hatena.ne.jp/lionfan/20070206
原題は「What Languages Fix」で、原文は以下です。
http://www.paulgraham.com/fix.html
英語に強い方、ぜひアドバイスいただければと思います。
よろしくお願いします。これは超短い文章です。
最初の文章を読むと"in terms of the problem it fixes."と書いてあるので、タイトルは「各言語が修正するもの」というより「(プログラミング)言語が解決するもの」じゃないですかね?lionfanさんも本分ではそう書いているし。
Cobolが解決: Fortranはイケてない。
Cobol: Fortran is scary.
scaryは「怖い」なんで、COBOLは英文に近い書き方ができる(ほんまかー?!とは思いますが(笑))ということから「Fortranはおっかない」ぐらいでは?
FORTRANはプログラムを効率よく?詰め込むためにかなり読みにくいし書きにくいのです。特に最初のものはパンチカードを使うことを前提にしていたので何桁目から初めてパンチするというような仕様もありましたからね。
BASICなどのところも同様です。
Javaが解決: C++は間抜けだ。それにマイクロソフトは私たちを潰すつもりだ。
Java: C++ is a kludge. And Microsoft is going to crush us.
kludgeは「その場しのぎ」。
http://www2.alc.co.jp/ejr/index.php?word_in=kludge&word_in2=...
たまたまかもしれませんがkludgeとcrushで韻を踏んでいるような。
Lispが解決: チューリングマシンで計算するのは面倒だ。
Lisp: Turing Machines are an awkward way to describe computation.
チューリングマシンで実際に使えるようなプログラムを書くのは無理ですからね。つまりプログラムがまともに書けないよという意味でしょう。
Prologが解決: プログラミングは論理学と比べると不十分だ。
Prolog: Programming is not enough like logic.
これはオチの部分なんで、
(そもそも)プログラミングなんて論理みたいなものと言えるほど十分じゃない。
ぐらいかなあ?A is like B.でAはBみたいなもの。だから…。
しかしこうやって読んでみると何か解決したからといって普及するわけでは全然ないんですよね。
どの文もなんで、最初の文で:
Algol: アセンブリ言語は低レベルすぎる。
Algol: Assembly language is too low-level.
これ、Algolは「アセンブリ言語は低レベルすぎる」という
問題点を解決した」「Algol自体は高レベルである」という
ことですね。訳はあっているけれど、プレゼンとしては、
Algolが解決: アセンブリ言語は低レベルすぎる。
のようにした方が分かりやすいですね。
このくらいの意訳はゆるしてくれると思いますが。
sibazyun様、ありがとうございます。そのように修正いたします。
lionfanさん、こんにちは。
>英語に強い方
英語にはむちゃくちゃ弱いのですが、本職のプログラマなので
ケヴィン・ケレハーは、プログラミング言語を比較する面白い方法を提案した。それぞれの言語が問題点をどう解決するかを書く、というものである。驚くことに、この方法によって言語について多くのことを十分に記述できる。
最初に上記の文章を読んで、続きを読みましたが、意味が分かりませんでした。
続きの文章の意味はそれぞれ、その言語が、それ以前の言語の何を改善したかが書いてあるわけですよね。
だから、こう書いたほうが分かりやすいのではないかと思います。
それぞれの言語が(それ以前の言語の)問題点をどう解決
するかしたかを書く
garyo様、ありがとうございます。
いま修正を済ませました。
最初の文章を読むと"in terms of the problem it fixes."と書いてあるので、タイトルは「各言語が修正するもの」というより「(プログラミング)言語が解決するもの」じゃないですかね?lionfanさんも本分ではそう書いているし。
Cobolが解決: Fortranはイケてない。
Cobol: Fortran is scary.
scaryは「怖い」なんで、COBOLは英文に近い書き方ができる(ほんまかー?!とは思いますが(笑))ということから「Fortranはおっかない」ぐらいでは?
FORTRANはプログラムを効率よく?詰め込むためにかなり読みにくいし書きにくいのです。特に最初のものはパンチカードを使うことを前提にしていたので何桁目から初めてパンチするというような仕様もありましたからね。
BASICなどのところも同様です。
Javaが解決: C++は間抜けだ。それにマイクロソフトは私たちを潰すつもりだ。
Java: C++ is a kludge. And Microsoft is going to crush us.
kludgeは「その場しのぎ」。
http://www2.alc.co.jp/ejr/index.php?word_in=kludge&word_in2=...
たまたまかもしれませんがkludgeとcrushで韻を踏んでいるような。
Lispが解決: チューリングマシンで計算するのは面倒だ。
Lisp: Turing Machines are an awkward way to describe computation.
チューリングマシンで実際に使えるようなプログラムを書くのは無理ですからね。つまりプログラムがまともに書けないよという意味でしょう。
Prologが解決: プログラミングは論理学と比べると不十分だ。
Prolog: Programming is not enough like logic.
これはオチの部分なんで、
(そもそも)プログラミングなんて論理みたいなものと言えるほど十分じゃない。
ぐらいかなあ?A is like B.でAはBみたいなもの。だから…。
しかしこうやって読んでみると何か解決したからといって普及するわけでは全然ないんですよね。
Kumappus様、いつもいつもありがとうございます!!
さて、修正いたしました。現在、書き込み中です。
◇それぞれの言語がそれ以前の言語の問題点をどう解決したかを書く、というものである。→それぞれの言語の視点から、その言語が解決できた、他の言語の問題点を挙げる、というものである。<こう訳すると後の「~が解決」の部分を削除できます
◇驚くことに、この方法によって言語について多くのことを十分に記述できる。→この方法で、言語に付いて多くのことをうまく記述できるので驚くだろう。<なんとなく手直し。
◇ Algolには十分なデータ型がない。→Algolにはデータ型の種類が足りない。
◇Fortranのデータ型は十分ではない。→Fortranにはデータ型の種類が足りない。
<data typeは「データ型」でいいのでしょうが、種類か数か量かちょっと分かりにくい(そもそもこれを読む人はプログラミング知ってるのでそんなことないかな?)ような気がしたので。データ型の種類ってのもtypeを二度訳出してる訳でなんか珍妙な気もしますが。
◇Simulaではすべてがオブジェクトとは限らない。→実はオブジェクトでないものもある<専門ではないですが、Simulaは一応オブジェクト指向扱いされてる言語、という前提があるんですよね?その前提が分かりやすいように訳してみましたが、どうでしょう。
◇アセンブリ言語は低レベルすぎる。→アセンブリ言語はレベルが低すぎる<細かいことですね
どんどん新しいのが出て。追いつかないので短いのやって気晴らしです。
moonan様、ありがとうございます!! 修正いたしました。
で、今度こそ本当に、もう翻訳は、少なくとも一ヶ月はしません。ご安心を。
Algol: アセンブリ言語は低レベルすぎる。
Algol: Assembly language is too low-level.
などにある、「low-level」ですが、低級言語、高級言語の「低級」であるとするなら、分かる人には言うまでもないことなのかも知れませんが、「低レベルすぎる」→「機械に近すぎる」とかにしたいなあ、などと思ったりします。
レベルが低い、だめな言語というニュアンスが日本語だとどうしてもつきまといますので。
weblogconcent様、ありがとうございます。
修正いたします。
Kumappus様、いつもいつもありがとうございます!!
さて、修正いたしました。現在、書き込み中です。