Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.javascript > #39718

Re: input/output parameters

Path csiph.com!eternal-september.org!reader02.eternal-september.org!.POSTED!not-for-mail
From Anton Shepelev <anton.txt@gmail.com>
Newsgroups comp.lang.javascript
Subject Re: input/output parameters
Date Sat, 20 Mar 2021 15:50:06 +0300
Organization A noiseless patient Spider
Lines 52
Message-ID <20210320155006.f1909610fd93de6c3afec7cb@gmail.com> (permalink)
References <20210313153232.40fa0c8b0adf07d7e807084d@gmail.com> <20210315002732.dbb3221feb6d3a0c065292cf@gmail.com> <604f92ed$0$13963$e4fe514c@newszilla.xs4all.nl>
Mime-Version 1.0
Content-Type text/plain; charset=US-ASCII
Content-Transfer-Encoding 7bit
Injection-Info reader02.eternal-september.org; posting-host="0b6de666454792515201e0a3034742c6"; logging-data="7403"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX188k4PswbXu/lSXC+ls+FF3Zt2b+Fq8H8g="
Cancel-Lock sha1:O/HZCv04HHhA65Mjw+AI6JfiYhY=
X-Newsreader Sylpheed 3.7.0 (GTK+ 2.24.30; i686-pc-mingw32)
Xref csiph.com comp.lang.javascript:39718

Show key headers only | View raw


Silvio:

> Give it up. The first mistakes beginners make when
> learning a new language is trying to coerce them into the
> programming style they used in their previous language.

It is not about style but about the whole paradigm, the way
one thinks about problems. Consider the programming
languages designed by Niklaus Wirth. They are all different,
with their own idioms and keywords and statements, yet they
all encourage the same disciplied, academic approach and
clean programming style. I am thankful to languages that do
not force the user to resort to their complicated object-
oriented or functional infractructures, letting him express
himself in the basic terms of procedural programming. In C#,
for example, one can use static classes and methods for
modules.

That said, I have no trouble switching between C, C#,
Pascal, or GNU Troff, or Bash. Naturally, I do not redefine
curly braces as `begin' and `end', but use whatever
facilities the language provides for procedural programming
with more or less success.

> Out parameters where a bad idea from the get go in any
> language that contained them dating back at least as far
> as Algol 60 and dozens of subsequent languages.

Why are they a bad idea? I do not remember that such
promiment computer scientists as Nickaus Wirth, Donald
Knuth, or Edjger Dijkstra criticised them.  Nor such
promiment programmers as Brian Kernighan or Linus Torvalds.

> Obviously they had to be added to the be-all-and-end-all
> that has become C++ with the introduction of references
> and from there they made their way into C#. Forget about
> them and you will not bother looking back.

I still fail to see elegant alternatives. Multiple
assignments (destructuring) do not entirely replace them.
Futhermore, output parameters are logical from the viewpoint
of symmetry: if a procedure or function may accept a several
input parameters, there no reason it should not several
several output parameters too.

I see that JavaScript tries to replace them with its various
exotic facilities, each of which is more comlicated than
than the thing it replaces.

-- 
()  ascii ribbon campaign -- against html e-mail
/\  http://preview.tinyurl.com/qcy6mjc [archived]

Back to comp.lang.javascript | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread


Thread

input/output parameters Anton Shepelev <anton.txt@gmail.com> - 2021-03-13 15:32 +0300
  Re: input/output parameters Jon Ribbens <jon+usenet@unequivocal.eu> - 2021-03-13 15:16 +0000
    Re: input/output parameters Anton Shepelev <anton.txt@gmail.com> - 2021-03-14 18:51 +0300
      Re: input/output parameters Jon Ribbens <jon+usenet@unequivocal.eu> - 2021-03-14 16:15 +0000
        Re: input/output parameters John G Harris <niam@jghnorth.org.uk.invalid> - 2021-03-14 18:31 +0000
          Re: input/output parameters Anton Shepelev <anton.txt@gmail.com> - 2021-03-14 22:27 +0300
            Re: input/output parameters Jon Ribbens <jon+usenet@unequivocal.eu> - 2021-03-14 23:44 +0000
            Re: input/output parameters "Michael Haufe (TNO)" <tno@thenewobjective.com> - 2021-03-15 06:41 -0700
        Re: input/output parameters Anton Shepelev <anton.txt@gmail.com> - 2021-03-14 22:17 +0300
          Re: input/output parameters Jon Ribbens <jon+usenet@unequivocal.eu> - 2021-03-14 23:28 +0000
          Re: input/output parameters "Michael Haufe (TNO)" <tno@thenewobjective.com> - 2021-03-15 06:39 -0700
      Re: input/output parameters Ben Bacarisse <ben.usenet@bsb.me.uk> - 2021-03-14 22:32 +0000
      Re: input/output parameters "Michael Haufe (TNO)" <tno@thenewobjective.com> - 2021-03-15 06:36 -0700
        Re: input/output parameters Anton Shepelev <anton.txt@gmail.com> - 2021-03-20 14:49 +0300
          Re: input/output parameters "Michael Haufe (TNO)" <tno@thenewobjective.com> - 2021-03-20 11:59 -0700
            Re: input/output parameters "Michael Haufe (TNO)" <tno@thenewobjective.com> - 2021-03-20 13:07 -0700
          Re: input/output parameters John G Harris <niam@jghnorth.org.uk.invalid> - 2021-03-20 19:29 +0000
            Re: input/output parameters Jon Ribbens <jon+usenet@unequivocal.eu> - 2021-03-20 20:35 +0000
  Re: input/output parameters Anton Shepelev <anton.txt@gmail.com> - 2021-03-15 00:27 +0300
    Re: input/output parameters Jon Ribbens <jon+usenet@unequivocal.eu> - 2021-03-14 23:51 +0000
      Re: input/output parameters Anton Shepelev <anton.txt@gmail.com> - 2021-03-20 14:56 +0300
        Re: input/output parameters Jon Ribbens <jon+usenet@unequivocal.eu> - 2021-03-20 15:08 +0000
          Re: input/output parameters Anton Shepelev <anton.txt@gmail.com> - 2021-03-21 15:16 +0300
            Re: input/output parameters "Michael Haufe (TNO)" <tno@thenewobjective.com> - 2021-03-21 08:46 -0700
              Re: input/output parameters Anton Shepelev <anton.txt@gmail.com> - 2021-04-10 14:54 +0300
        Re: input/output parameters "Michael Haufe (TNO)" <tno@thenewobjective.com> - 2021-03-20 12:05 -0700
          Re: input/output parameters Anton Shepelev <anton.txt@gmail.com> - 2021-03-21 15:58 +0300
    Re: input/output parameters "Michael Haufe (TNO)" <tno@thenewobjective.com> - 2021-03-15 06:43 -0700
    Re: input/output parameters Silvio <silvio@internet.com> - 2021-03-15 18:01 +0100
      Re: input/output parameters John G Harris <niam@jghnorth.org.uk.invalid> - 2021-03-16 18:06 +0000
        Re: input/output parameters Silvio <silvio@internet.com> - 2021-03-16 23:58 +0100
          Re: input/output parameters John G Harris <niam@jghnorth.org.uk.invalid> - 2021-03-17 19:14 +0000
            Re: input/output parameters Silvio <silvio@internet.com> - 2021-03-17 23:46 +0100
              Re: input/output parameters John G Harris <niam@jghnorth.org.uk.invalid> - 2021-03-18 18:04 +0000
                Re: input/output parameters Silvio <silvio@internet.com> - 2021-03-22 00:39 +0100
                Re: input/output parameters John G Harris <niam@jghnorth.org.uk.invalid> - 2021-03-23 10:44 +0000
                Re: input/output parameters Silvio <silvio@internet.com> - 2021-03-30 00:33 +0200
                Re: input/output parameters John G Harris <niam@jghnorth.org.uk.invalid> - 2021-03-31 19:53 +0100
                Re: input/output parameters Silvio <silvio@internet.com> - 2021-04-01 01:17 +0200
                Re: input/output parameters John G Harris <niam@jghnorth.org.uk.invalid> - 2021-04-01 18:02 +0100
      Re: input/output parameters Anton Shepelev <anton.txt@gmail.com> - 2021-03-20 15:50 +0300
        Re: input/output parameters John G Harris <niam@jghnorth.org.uk.invalid> - 2021-03-20 18:52 +0000
          Re: input/output parameters Anton Shepelev <anton.txt@gmail.com> - 2021-03-21 17:35 +0300
            Re: input/output parameters "Michael Haufe (TNO)" <tno@thenewobjective.com> - 2021-03-21 08:50 -0700
              Re: input/output parameters Anton Shepelev <anton.txt@gmail.com> - 2021-03-21 19:31 +0300
            Re: input/output parameters John G Harris <niam@jghnorth.org.uk.invalid> - 2021-03-21 19:27 +0000
        Re: input/output parameters "Michael Haufe (TNO)" <tno@thenewobjective.com> - 2021-03-20 13:02 -0700
  Re: input/output parameters Postiljon Petskin <yyyyyyyyyyyywwwww@zohomail.eu> - 2023-04-22 08:47 -0700

csiph-web