Skip to content

Instantly share code, notes, and snippets.

@nfunato
Last active October 9, 2017 00:32
Show Gist options
  • Select an option

  • Save nfunato/19084f0fc952fc6653714c9fe0405a5d to your computer and use it in GitHub Desktop.

Select an option

Save nfunato/19084f0fc952fc6653714c9fe0405a5d to your computer and use it in GitHub Desktop.
Python for Lisp Programmers (http://www.norvig.com/python-lisp.html)
by Peter Norvig
邦訳: Lisp プログラマのための Python 入門 (http://www.unixuser.org/~euske/doc/python/python-lisp-j.html)
by Yusuke Shinyama
これはLisp(とPython)の特徴をえぐり出す名文と思っている。翻訳も素晴らしい。
個人的には、以下の段落がとても気に入っている:
Python has the philosophy of making sensible compromises that make
the easy things very easy, and don't preclude too many hard things.
In my opinion it does a very good job. The easy things are easy,
the harder things are progressively harder, and you tend not to
notice the inconsistencies. Lisp has the philosophy of making fewer
compromises: of providing a very powerful and totally consistent
core. This can make Lisp harder to learn because you operate at a
higher level of abstraction right from the start and because you
need to understand what you're doing, rather than just relying on
what feels or looks nice. But it also means that in Lisp it is
easier to add levels of abstraction and complexity;
Lisp is optimized to make the very hard things not too hard,
while Python is optimized to make medium hard things easier.
Python は簡単なことをとても簡単にし、むずかしいことが 多すぎることのな
いようにするという、賢明な妥協の哲学をもっている。 わたしの意見では、
これは非常にうまくいっている。簡単なことは簡単にでき、 むずかしいこと
は段階的にむずかしくなっている。その非一貫性は気にならないことが多い。
Lisp はより妥協の少ない哲学をもっていて、非常に強力でよく統制のとれた
言語の核を提供している。このことは Lisp を学ぶのをむずかしくしている。
なぜなら最初から高水準の抽象化を扱わければならず、見た目や感覚に 頼ら
ずに自分がいま何をしているかを理解しなければならないからだ。
しかし このことは Lisp で抽象化や複雑さの階層をふやすのを簡単している。
Lisp では非常にむずかしいことを、そんなにむずかしくないレベルにまで
落とすことができる。
翻訳があまりにこなれているので、大概そちらしか読んでこなかった日本人が
多いのではないだろうか? 私もその一人だった。
ところがある日(2015-12-16)、最後の文の冒頭に
「Pythonでは少しむずかしいことを、より簡単にできるのに対して」
が抜けていることを発見してしまった。訳者の方の実力からして、読者が試されている
ような気がしてならない。それで、ここにこっそりとメモしておく次第です。
(2017-09-30: https://twitter.com/nfunato/status/676881186170376192 を再編)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment