Re: LISP を使うとき([Q] ロ グインシェルとそうでないシェ ル)
kono@ie.u-ryukyu.ac.jp (Shinji KONO) writes:
> > LispがS式に拘る理由は、くろださんのおっしゃる通りマクロだと思いますよ。
>
> そう言えば、S式で書くCってのをどこかで作っていたなぁ。#define とか
> inline よりいいかも。
「S式ベースC言語SC」ですか。
S式を変換するマクロがCで書けるわけじゃないですけどね。
> 構文 => 実行
>
> ってのが、もう少し見直されても良いと思うんだけど。インタプリタだから
> コンパイルできなくて遅いっていう時代じゃぁないと思う。
うーん。でも遅いし。
(逆に、レジスタを活用できるネイティブコードと、活用しづらいインタプ
リタの差は開きつつあるかも。)
> > そういう「ニッチ」に自らを封じ込めた特殊用途の言語としてでなく、汎用の
> > 言語であり続けるためには、インタプリタじゃダメだと。(耳が痛い。)
>
> 当時の要求が(Common Lisp も C++ も)そうだったんでしょうね。
> Java はちょっと時代がずれて、差別化の意味でもByte code + JIT
> になったんでしょう。
bytecodeと動的ロードは差別化のために必要だった。で、その言語仕様を守っ
たままネイティブコードにするには、JITしかなかったということでは。
つまり、「ネイティブコードが必須」という要求はJavaでも同じ。
前田敦司
Fnews-brouse 1.9(20180406) -- by Mizuno, MWE <mwe@ccsf.jp>
GnuPG Key ID = ECC8A735
GnuPG Key fingerprint = 9BE6 B9E9 55A5 A499 CD51 946E 9BDC 7870 ECC8 A735