4 ms·
I think composition turns into extensibility when you start working on larger programs. For example, you cannot pipe the output of Vim or Emacs into another pro
by oconnore 16y ago
I think composition turns into extensibility when you start working on larger programs. For example, you cannot pipe the output of Vim or Emacs into another program, but you can write 100 lines of Python/Lisp/Lua/Perl/etc. that will let one application talk to the other.
Other applications see themselves as a walled garden, and may allow extension within the program, but make it difficult for communication to occur between programs, often by not exposing enough state, not documenting the interface, or not providing any scripting at all.
- lurker14 16y agoWhile not a literal "pipe", the $EDITOR and $VISUAL shell conventions are pretty much the same concept applied to larger programs. And of course, which I think you were saying with your comment on extensibility, vim and emacs are well-designed for sending content out to a shell for processing (spell-check is a common example) and retrieving the results. ("!!" in vim)