Path: csiph.com!news.swapon.de!eternal-september.org!feeder3.eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail From: Johanne Fairchild Newsgroups: comp.unix.shell,comp.unix.programmer,comp.lang.misc Subject: Re: Command Languages Versus Programming Languages Date: Fri, 29 Mar 2024 21:24:01 -0300 Organization: A noiseless patient Spider Lines: 31 Message-ID: <87wmpkh8im.fsf@tudado.org> References: <87edbtz43p.fsf@tudado.org> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit Injection-Date: Sat, 30 Mar 2024 00:24:05 +0100 (CET) Injection-Info: dont-email.me; posting-host="56ed8621e771f517f00aea024ac10a4f"; logging-data="637250"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX18N5sTa4EyCK6Q6G6kK2wwIQ8GdO+V31wA=" Cancel-Lock: sha1:h3AYmmOiiPfYNlA7jLhwoyjuR/g= sha1:VegSXN99GuRn2LN/PzWh9Np/sEE= Xref: csiph.com comp.unix.shell:24847 comp.unix.programmer:15595 comp.lang.misc:10268 Lawrence D'Oliveiro writes: > On Fri, 29 Mar 2024 08:09:46 -0300, Johanne Fairchild wrote: > >> Consider looking at a shell language like a domain-specific programming >> language. A shell is a programming language made specifically for >> running programs. ... (Of course, the idea evolves and you want to >> glue programs, do variable substitution et cetera.) > > That’s the thing. The design for a “language made specifically for running > programs” always seems to start with the assumption that what the user > types is to be passed as literal text, unless special markers are present > to indicate that they want to “glue programs, do variable substitution et > cetera”. Notice your use of the term “variable substitution”, which is > characteristic of a shell language: in a programming language, you don’t > call it “substitution”, you call it “evaluation”. That's right. Substitution is evaluation; a specific form of. >> You seem to find trouble with using a programming language in a REPL. > > I find REPLs annoying and inconvenient. If I want to do “scratchpad” > programming, I do it in a Jupyter notebook. That's something to think about. Your perception is wildly different from a lot of people who have thought and think very deeply about the whole craft. Consider your Lisp writing, which violates the culture of Lisp writing. Of course you should keep your independence, but maybe there are good reasons why the culture is as it is---not all culture is fashion.