Path: ...!news.mixmin.net!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 08:09:46 -0300 Organization: A noiseless patient Spider Lines: 25 Message-ID: <87edbtz43p.fsf@tudado.org> References: MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit Injection-Date: Fri, 29 Mar 2024 11:09:59 +0100 (CET) Injection-Info: dont-email.me; posting-host="f666225367230cb092212f4ff55a99ef"; logging-data="283827"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1/TdgDIGtkX2CWID0bp6kGDFOFA18pysQk=" Cancel-Lock: sha1:jbAVam99TnRjWlxiYd7DGa5WxGk= sha1:twoJ/+1/bmrAs5GmCvekGBtBDKs= Bytes: 2178 Lawrence D'Oliveiro writes: > At one time, we distinguished between “scripting” languages and > “programming” languages. [...] But there is one distinction that I > think is still relevant, and that is the one between shell/command > languages and programming languages. [...] Consider looking at a shell language like a domain-specific programming language. A shell is a programming language made specifically for running programs. When you write a shell line, you're specifying the arguments of execve(2). In other words, a shell is a programming language made to prepare the memory to be consumed by the system in a specific way---execve(2). (Of course, the idea evolves and you want to glue programs, do variable substitution et cetera.) A scripting language is a programming language made for a hypothetical machine, not too different from a programming language made for a real machine, one made of hardware. You seem to find trouble with using a programming language in a REPL. It seems to contradict be the overall feeling of so many people who understand a lot about programming---who made all of these things actually work (and fun).