RMS vs Doug McIlroy
Sep. 22nd, 2017 12:42Date: Thu, 21 Sep 2017 06:11:03 -0400
From: Doug McIlroy <doug-bJGkzYaaMJvEkZP4S/TgZg@public.gmane.org>
Newsgroups: gmane.org.unix-heritage.general
Subject: Re: Happy birthday, Dennis Ritchie!
User-Agent: Heirloom mailx 12.5 7/5/10
Message-ID: <201709211011.v8LAB39V022229@coolidge.cs.Dartmouth.EDU>
> When you say MIT you think about ITS and Lisp. That is why emacs IMHO
> was against UNIX ideals. RMS was thinking in different terms than Bell
> Labs hackers.
Very different. Once, when visiting the Lisp machine, I saw astonishingly
irrelevant things being done as first class emacs commands, and asked
how many commands there were. The instant answer was to have emacs
print the list. Nice, but it scrolled way beyond one screenful. I
persisted: could the machine count them? It took several minutes of
head-scratching and false starts to do a task that was second nature
to Unix hands.
With hindsight, I realize that the thousand emacs commands were but a
foretaste of open-source exuberance--witness this snippet from Linux:
ls /usr/share/man/man2|wc
468 468 6766
Even a "kernel" is as efflorescent as a tropical rainforest.
Так, порахувати інтерактивні команди в імаксі дійсно можна тільки
після head-scratching, тому що mapatoms повертає nil, замість того
щоб як mapcar вертати список результатів:
ELISP> (version)
"GNU Emacs 25.2.1 (x86_64-unknown-linux-gnu, GTK+ Version 2.24.31)\n of 2017-07-16"
ELISP> (let ((n 0)) (mapatoms (lambda(s) (if (commandp s) (setq n (1+ n))))) n)
5135 (#o12017, #x140f, ?ᐏ)
(mapatoms перебирає obarray, яврпщя.)
Але то є з різними завантаженими pkgs, голий імакс трохи худіший:
$ emacs -Q --batch --eval '(let ((n 0)) (mapatoms (lambda(s) (if (commandp s) (setq n (1+ n))))) (princ n))'
2562
Subscribe