Re: Command Languages Versus Programming Languages

Liste des GroupesRevenir à cl misc 
Sujet : Re: Command Languages Versus Programming Languages
De : anthk (at) *nospam* disroot.org (Bozo User)
Groupes : comp.unix.shell comp.unix.programmer comp.lang.misc
Date : 30. Sep 2024, 21:04:53
Autres entêtes
Organisation : A noiseless patient Spider
Message-ID : <vdf095$2c9hb$6@dont-email.me>
References : 1
User-Agent : slrn/1.0.3 (Linux)
On 2024-03-29, Lawrence D'Oliveiro <ldo@nz.invalid> wrote:
At one time, we distinguished between “scripting” languages and
“programming” languages. To begin with, the “scripting” languages were
somehow more limited in functionality than full-fledged “programming”
languages. Or they were slower, because they were interpreted.
>
Then languages like Perl and Java came along: both were compiled to a
bytecode, a sort of pseudo-machine-language, which was interpreted by
software, not CPU hardware. Were they “scripting” or “programming”
languages? Some might have classed Perl as a “scripting” language to
begin with, but given it is must as powerful as Java, then why
shouldn’t Java also be considered a “scripting” rather than
“programming” language? And before these two, there was UCSD Pascal,
which was probably the pioneer of this compile-to-bytecode idea.
>
So that terminology for distinguishing between classes of programming
languages became largely obsolete.
>
But there is one distinction that I think is still relevant, and that
is the one between shell/command languages and programming languages.
>
In a shell language, everything you type is assumed to be a literal
string, unless you use special substitution sequences. E.g. in a POSIX
shell:
>
    ls -l thingy
>
“give me information about the file/directory named ‘thingy’”, vs.
>
    ls -l $thingy
>
“give me information about the files/directories whose names are in
the value of the variable ‘thingy’”.
>
Whereas in a programming language, everything is assumed to be a
language construct, and every unadorned name is assumed to reference
some value/object, so you need quote marks to demarcate literal
strings, e.g. in Python:
>
    os.listdir(thingy)
>
“return a list of the contents of the directory whose name is in the
variable ‘thingy’”, vs.
>
    os.listdir("thingy")
>
“return a list of the contents of the directory named ‘thingy’”.
>
This difference in design has to do with their typical usage: most of
the use of a shell/command language is in typing a single command at a
time, for immediate execution. Whereas a programming language is
typically used to construct sequences consisting of multiple lines of
code before they are executed.
>
This difference is also why attempts to use programming languages as
though they were shell/command languages, entering and executing a
single line of code at a time, tend to end up being more trouble than
they are worth.
>
Conversely, using shell/command languages as programming languages, by
collecting multiple lines of code into shell scripts, does work, but
only up to a point. The concept of variable substitution via string
substitution tends to lead to trouble when trying to do more advanced
data manipulations.
>
So, in short, while there is some overlap in their applicable usage
areas, they are still very much oriented to different application
scenarios.

Check Emacs' eshell where you can mix pseudo-sh code with Elisp

Date Sujet#  Auteur
30 Sep 24 * Re: Command Languages Versus Programming Languages4Bozo User
30 Sep 24 `* Re: Command Languages Versus Programming Languages3Lawrence D'Oliveiro
1 Oct 24  `* Re: Command Languages Versus Programming Languages2usuario
1 Oct 24   `- Re: Command Languages Versus Programming Languages1Lawrence D'Oliveiro

Haut de la page

Les messages affichés proviennent d'usenet.

NewsPortal