[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: C++ preferences (was: RFC: lalr1.cc: support move semantics)
From: |
Frank Heckenbach |
Subject: |
Re: C++ preferences (was: RFC: lalr1.cc: support move semantics) |
Date: |
Thu, 13 Sep 2018 13:13:34 +0200 |
Akim Demaille wrote:
> > I do admit I usually don't declare my local variables const though
> > they often should be
>
> I recently had to work on some piece of software with coroutines,
> and known what variables are immutable was really reassuring.
I haven't done coroutines, but threads, and of course, everything
that's exposed there, I make as const as possible. But that doesn't
usually include local variables.
> In my code I usually try to having the smallest possible scopes
> for variables, more for readability than quick destruction, and
Me too.
> I now spread `const` for similar reason: help the reader.
I think it's double-edged. OT1H, when the reader is trying to
understand the code in detail, it certainly helps; OT2H on casual
quick reading, too much verbosity can distract, especially for code
that is not that complex. So as I said, with a more concise syntax,
it would be a no-brainer to me, but as things are, I often prefer
shorter code. (For a similar reason, I also prefer "i" to
"FoobarLoopCounter"; short names are quicker to parse mentally, and
with small scopes there's no big danger of forgetting what the
variables are, and of course, as a mathematician I'm used to short
index variable names anyway. :)
> > but
> > if "const" with implied "auto" can simply work, that would be great.
> > But we're not designing C++ here, I know ...
>
> I recently changed works, and have to deal with JavaScript.
> They have const! But they also have let, and it means something
> different...
>
> https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/const
But they don't have type declarations. ;) I'm not trying to argue
about names ("let", ":=", simple "const" or whatever), I'd just like
to have a single thing that declares constness and auto-type (which
really is the most common combination I need for local variables).
Hans Åberg wrote:
> There is Unicode U+2254 COLON EQUALS if one dares leaving the
> ASCII range, which in fact I am using in my own language, for
> definitions and Hoare logic code.
Whether C++ should go Unicode (apart from char/string literals) is
another can of worms. Anyway, the token ":=" is also unused in C++
so far (":" "=" doesn't occur in any valid syntax AFAIK).
Regards,
Frank
- Re: RFC: lalr1.cc: support move semantics, (continued)
- Re: C++ preferences (was: RFC: lalr1.cc: support move semantics), Frank Heckenbach, 2018/09/12
- Re: C++ preferences (was: RFC: lalr1.cc: support move semantics), Akim Demaille, 2018/09/13
- Re: C++ preferences, Hans Åberg, 2018/09/13
- Re: C++ preferences, Akim Demaille, 2018/09/13
- Re: C++ preferences, Hans Åberg, 2018/09/13
- Re: C++ preferences, Akim Demaille, 2018/09/13
- Re: C++ preferences, Hans Åberg, 2018/09/13
- Re: C++ preferences, Hans Åberg, 2018/09/13
- Re: C++ preferences (was: RFC: lalr1.cc: support move semantics),
Frank Heckenbach <=
- Re: C++ preferences (was: RFC: lalr1.cc: support move semantics), Akim Demaille, 2018/09/15
- Re: C++ preferences (was: RFC: lalr1.cc: support move semantics), Frank Heckenbach, 2018/09/15
- Re: C++ preferences (was: RFC: lalr1.cc: support move semantics), Akim Demaille, 2018/09/15
- Re: C++ preferences (was: RFC: lalr1.cc: support move semantics), Frank Heckenbach, 2018/09/15
- Re: C++ preferences (was: RFC: lalr1.cc: support move semantics), Akim Demaille, 2018/09/16
- Re: C++ preferences (was: RFC: lalr1.cc: support move semantics), Hans Åberg, 2018/09/13
- Re: C++ preferences (was: RFC: lalr1.cc: support move semantics), Akim Demaille, 2018/09/13
- Re: C++ preferences, Hans Åberg, 2018/09/13