Re: Command Languages Versus Programming Languages

Liste des GroupesRevenir à cu shell 
Sujet : Re: Command Languages Versus Programming Languages
De : rweikusat (at) *nospam* talktalk.net (Rainer Weikusat)
Groupes : comp.unix.shell comp.unix.programmer comp.lang.misc
Date : 10. Oct 2024, 21:31:39
Autres entêtes
Message-ID : <87frp3itsk.fsf@doppelsaurus.mobileactivedefense.com>
References : 1 2 3 4 5 6 7 8 9 10 11
User-Agent : Gnus/5.13 (Gnus v5.13) Emacs/27.1 (gnu/linux)
Kaz Kylheku <643-408-1753@kylheku.com> writes:
On 2024-10-10, Rainer Weikusat <rweikusat@talktalk.net> wrote:
Muttley@DastartdlyHQ.org ignorantly rambled:
On Thu, 10 Oct 2024 16:09:49 +0100
Rainer Weikusat <rweikusat@talktalk.net> boring babbled:
Muttley@DastartdlyHQ.org writes:
Its syntax is also a horrific mess.
>
Which means precisely what?
>
Far too much pointless punctuation. An interpreter shouldn't need the vartype
signified by $ or @ once its defined, it should already know.
>
For the purpose of variable declaration, how's the interpeter going to
>
Interpreter? Perl has some kind of compiler in it, right?

The Perl compiler turns Perl source code into a set of (that's a
conjecture of mine) so-called "op trees" whose nodes contain pointers to
built-in functions and pointers to "op subtrees" supplying arguments for
these and the interpeter/ virtual machine then evaluates these op trees
to run the program.

[...]

know the type of a variable without being told about it? Obviously, not
at all.
>
But it's not exactly type, because $x means "scalar variable of any
type" whereas @x is an "array of any type".

$x means 'scalar variable'. There's no furher differentiation of that at
the language level despite there are two kinds of scalar variables at
the implentation level, scalars whose values are "values" of some sort
(ie, strings or numbers) and scalars whose values are references to
something.

@x is an 1-D array of scalars.

That's quite useless for proper type checking and only causes noise,
due to having to be repeated.
>
Actually typed languages don't use sigils. How is that?
>
The type of a name is declared (or else inferred); references to that
name don't need to repeat that info.

The Perl type system is based on using different namespaces for
different types which means the type of a variable is part of its
name. This has the advantages that declaration syntax is concise and
that it's possible to have different kinds of variables with the same
name. It's also not really specific to Perl as C uses a similar model
for structures declarations and definitions.

The obvious disadvantage is that every variable name in Perl and every
use of a variable in an expression has and additional meta-information
character associated with it. The actual rules outside of declarations
are also more complicated because of the underlying idea that $ would be
something like a singular article in a spoken language an @ a plural
article. This means that elements of arrays and hashed are referred to
using a $ prefix and not @ or %, eg,

my @a;
$a[0] = 1;

or

my %h;
$h{goatonion} = 'winged cauliflower';

I think that's rather a weird than a great idea but it's internally
consistent and as good (or bad) as any other language ideosyncrasy. It's
certainly less confusing than the : as expression separator in
supposedly punctuation-free Python which tripped me up numerous times
when initially starting to write (some) Python code.

Things only start to get slightly awful when references become
involved. In Perl 4 (reportedly, I've never used that) a reference was a
variable holding the name of another variable, eg

$b = 1;
$a = 'b';
print $$a; # prints 1

Perl 5 added references as typed pointers with reference counting but
retained the symbolic referenc syntax. For the example above, that would
be

$b = 1;
$a = \$b;
print $$a; # also prints 1

Thinks start to become complicated once references to complex objects
are involved. Eg,

@{$$a[0]}

is the array referred to by the first item of the array $a refers to and

${$$a[0]}[0]

which seriously starts to look like a trench fortification with
barbed-wire obstacles is a way to refer to the first element of this
array. The {$$a[0]} is a block returning a reference to an array which
the surrounding $ and [0] then dereference. The { } could contain
arbitrary code returning a reference. But for the simple case of
dereference-chaining, this is not needed as it's implied for adjacent
subscript (for both hashes and arrays) which means the simpler

$$a[0][0]

is equivalent to the other expression.

Date Sujet#  Auteur
30 Sep 24 * Re: Command Languages Versus Programming Languages146Bozo User
30 Sep 24 +* Re: Command Languages Versus Programming Languages5Lawrence D'Oliveiro
1 Oct 24 i`* Re: Command Languages Versus Programming Languages4usuario
2 Oct 24 i `* Re: Command Languages Versus Programming Languages3Muttley
2 Oct 24 i  `* Re: Command Languages Versus Programming Languages2usuario
2 Oct 24 i   `- Re: Command Languages Versus Programming Languages1Muttley
9 Oct 24 `* Re: Command Languages Versus Programming Languages140Rainer Weikusat
10 Oct 24  `* Re: Command Languages Versus Programming Languages139Muttley
10 Oct 24   +* Re: Command Languages Versus Programming Languages63Rainer Weikusat
10 Oct 24   i+* Re: Command Languages Versus Programming Languages52Muttley
10 Oct 24   ii+* Re: Command Languages Versus Programming Languages50Rainer Weikusat
10 Oct 24   iii+* Re: Command Languages Versus Programming Languages45Kaz Kylheku
10 Oct 24   iiii`* Re: Command Languages Versus Programming Languages44Rainer Weikusat
11 Oct 24   iiii `* Re: Command Languages Versus Programming Languages43Bart
11 Oct 24   iiii  `* Re: Command Languages Versus Programming Languages42Rainer Weikusat
11 Oct 24   iiii   `* Re: Command Languages Versus Programming Languages41Muttley
11 Oct 24   iiii    +* Re: Command Languages Versus Programming Languages28Dan Cross
11 Oct 24   iiii    i`* Re: Command Languages Versus Programming Languages27Muttley
11 Oct 24   iiii    i +* Re: Command Languages Versus Programming Languages23Dan Cross
12 Oct 24   iiii    i i`* Re: Command Languages Versus Programming Languages22Muttley
12 Oct 24   iiii    i i `* Re: Command Languages Versus Programming Languages21Dan Cross
12 Oct 24   iiii    i i  `* Re: Command Languages Versus Programming Languages20Muttley
12 Oct 24   iiii    i i   +- Re: Command Languages Versus Programming Languages1Muttley
12 Oct 24   iiii    i i   `* Re: Command Languages Versus Programming Languages18Dan Cross
13 Oct 24   iiii    i i    `* Re: Command Languages Versus Programming Languages17Muttley
13 Oct 24   iiii    i i     `* Re: Command Languages Versus Programming Languages16Dan Cross
13 Oct 24   iiii    i i      +* Re: Command Languages Versus Programming Languages10Muttley
13 Oct 24   iiii    i i      i+* Re: Command Languages Versus Programming Languages8Dan Cross
13 Oct 24   iiii    i i      ii`* Re: Command Languages Versus Programming Languages7Muttley
13 Oct 24   iiii    i i      ii +* Re: Command Languages Versus Programming Languages5Dan Cross
14 Oct 24   iiii    i i      ii i`* Re: Command Languages Versus Programming Languages4Muttley
14 Oct 24   iiii    i i      ii i `* Re: Command Languages Versus Programming Languages3Dan Cross
14 Oct 24   iiii    i i      ii i  `* Re: Command Languages Versus Programming Languages2Muttley
14 Oct 24   iiii    i i      ii i   `- Re: Command Languages Versus Programming Languages1David Brown
13 Oct 24   iiii    i i      ii `- Re: Command Languages Versus Programming Languages1Lawrence D'Oliveiro
13 Oct 24   iiii    i i      i`- Re: Command Languages Versus Programming Languages1Lawrence D'Oliveiro
13 Oct 24   iiii    i i      `* Re: Command Languages Versus Programming Languages5Dan Cross
13 Oct 24   iiii    i i       `* Re: Command Languages Versus Programming Languages4Bart
13 Oct 24   iiii    i i        `* Re: Command Languages Versus Programming Languages3Dan Cross
14 Oct 24   iiii    i i         `* Re: Command Languages Versus Programming Languages2Bart
14 Oct 24   iiii    i i          `- Re: On overly rigid definitions (was Re: Command Languages Versus Programming Languages)1Dan Cross
13 Oct 24   iiii    i `* Re: Command Languages Versus Programming Languages3Kaz Kylheku
13 Oct 24   iiii    i  +- Re: Command Languages Versus Programming Languages1Bart
13 Oct 24   iiii    i  `- Re: Command Languages Versus Programming Languages1Dan Cross
11 Oct 24   iiii    +* Re: Command Languages Versus Programming Languages2Rainer Weikusat
12 Oct 24   iiii    i`- Re: Command Languages Versus Programming Languages1Muttley
11 Oct 24   iiii    `* Re: Command Languages Versus Programming Languages10Lawrence D'Oliveiro
12 Oct 24   iiii     `* Re: Command Languages Versus Programming Languages9Muttley
12 Oct 24   iiii      +* Re: Command Languages Versus Programming Languages5Rainer Weikusat
12 Oct 24   iiii      i+* Re: Command Languages Versus Programming Languages3Christian Weisgerber
13 Oct 24   iiii      ii+- Re: Command Languages Versus Programming Languages1Muttley
13 Oct 24   iiii      ii`- Re: Command Languages Versus Programming Languages1Rainer Weikusat
12 Oct 24   iiii      i`- Re: Command Languages Versus Programming Languages1Bart
12 Oct 24   iiii      `* Re: Command Languages Versus Programming Languages3Lawrence D'Oliveiro
13 Oct 24   iiii       `* Re: Command Languages Versus Programming Languages2Muttley
13 Oct 24   iiii        `- Re: Command Languages Versus Programming Languages1Lawrence D'Oliveiro
11 Oct 24   iii+* Re: Command Languages Versus Programming Languages2Bart
11 Oct 24   iiii`- Re: Command Languages Versus Programming Languages1Rainer Weikusat
11 Oct 24   iii`* Re: Command Languages Versus Programming Languages2Muttley
11 Oct 24   iii `- Re: Command Languages Versus Programming Languages1Rainer Weikusat
11 Oct 24   ii`- Re: Command Languages Versus Programming Languages1Lawrence D'Oliveiro
12 Oct 24   i`* Re: Command Languages Versus Programming Languages10Eric Pozharski
13 Oct 24   i `* Re: Command Languages Versus Programming Languages9Muttley
13 Oct 24   i  +- Re: Command Languages Versus Programming Languages1Janis Papanagnou
13 Oct 24   i  +* Re: Command Languages Versus Programming Languages6Rainer Weikusat
14 Oct 24   i  i`* Re: Command Languages Versus Programming Languages5Muttley
14 Oct 24   i  i `* Re: Command Languages Versus Programming Languages4Rainer Weikusat
14 Oct 24   i  i  `* Re: Command Languages Versus Programming Languages3Muttley
14 Oct 24   i  i   `* Re: Command Languages Versus Programming Languages2Rainer Weikusat
14 Oct 24   i  i    `- Re: Command Languages Versus Programming Languages1Muttley
13 Oct 24   i  `- Re: Command Languages Versus Programming Languages1Lawrence D'Oliveiro
11 Nov 24   `* Re: Command Languages Versus Programming Languages75Sebastian
11 Nov 24    +* Re: Command Languages Versus Programming Languages11Muttley
11 Nov 24    i+* Re: Command Languages Versus Programming Languages2Wolfgang Agnes
11 Nov 24    ii`- Re: Command Languages Versus Programming Languages1Muttley
11 Nov 24    i+- Re: Command Languages Versus Programming Languages1Lawrence D'Oliveiro
12 Nov 24    i`* Re: Command Languages Versus Programming Languages7Janis Papanagnou
12 Nov 24    i `* Re: Command Languages Versus Programming Languages6Muttley
12 Nov 24    i  +* Re: Command Languages Versus Programming Languages4Janis Papanagnou
12 Nov 24    i  i`* Re: Command Languages Versus Programming Languages3Muttley
12 Nov 24    i  i `* Re: Command Languages Versus Programming Languages2Janis Papanagnou
12 Nov 24    i  i  `- Re: Command Languages Versus Programming Languages1Muttley
12 Nov 24    i  `- Re: Command Languages Versus Programming Languages1Wolfgang Agnes
11 Nov 24    `* Re: Command Languages Versus Programming Languages63Lawrence D'Oliveiro
12 Nov 24     +* Re: Command Languages Versus Programming Languages3Janis Papanagnou
12 Nov 24     i+- Re: Command Languages Versus Programming Languages1Wolfgang Agnes
12 Nov 24     i`- Re: Command Languages Versus Programming Languages1Lawrence D'Oliveiro
20 Nov 24     `* Re: Command Languages Versus Programming Languages59Randal L. Schwartz
20 Nov 24      +- Re: Command Languages Versus Programming Languages1Lawrence D'Oliveiro
20 Nov 24      `* Re: Command Languages Versus Programming Languages57Muttley
20 Nov 24       +* Re: Command Languages Versus Programming Languages44Janis Papanagnou
20 Nov 24       i+* Re: Command Languages Versus Programming Languages36Muttley
20 Nov 24       ii`* Re: Command Languages Versus Programming Languages35Janis Papanagnou
20 Nov 24       ii +* Re: Command Languages Versus Programming Languages9Muttley
20 Nov 24       ii i`* Re: Command Languages Versus Programming Languages8Rainer Weikusat
20 Nov 24       ii i +* Re: Command Languages Versus Programming Languages5John Ames
21 Nov 24       ii i i+* Re: Command Languages Versus Programming Languages2Muttley
21 Nov 24       ii i ii`- Re: Command Languages Versus Programming Languages1John Ames
21 Nov 24       ii i i`* Re: Command Languages Versus Programming Languages2Dan Cross
21 Nov 24       ii i i `- Re: Command Languages Versus Programming Languages1Muttley
21 Nov 24       ii i `* Re: Command Languages Versus Programming Languages2Muttley
20 Nov 24       ii `* Re: Command Languages Versus Programming Languages25Rainer Weikusat
21 Nov 24       i`* Re: Command Languages Versus Programming Languages7Kaz Kylheku
20 Nov 24       +* Re: Command Languages Versus Programming Languages9Ed Morton
20 Nov 24       `* Re: Command Languages Versus Programming Languages3Rainer Weikusat

Haut de la page

Les messages affichés proviennent d'usenet.

NewsPortal