Date: Mon, 29 Jul 2019 22:33:43 -0400
On Mon, Jul 29, 2019 at 8:13 PM Lev Minkovsky <lminkovsky_at_[hidden]>
wrote:
> All,
>
>
>
> Tom Honermann encouraged me to share with you several ideas
> that at some point in the future may become proposable.
>
>
>
> First is the ↑ character (Alt-24 with NumLock on). We had a discussion a
> while back with Bjarne and a few other C++ luminaries in regards to a
> possible exponentiation operator. None of the more conventional
> alternatives appeared to be a good candidate, while ↑ is a symbol used for
> that purpose by Donald Knuth, see
> https://en.wikipedia.org/wiki/Knuth%27s_up-arrow_notation, and would be
> excellent for readability. Perhaps we can add it at some point to the basic
> character set. I am not at all worried about its absence on the keyboard,
> math folks will quickly get used to Alt-24.
>
>
>
> I would imagine the right approach for this to happen is to ask ourselves:
> what is are the specific characters that we wish were in the basic
> character set? My initial list would be: $,@,↑,• or ·,÷ . $ is already in
> Microsoft basic character set, see
> https://docs.microsoft.com/en-us/cpp/cpp/character-sets?view=vs-2019, so
> perhaps this would be a low-hanging fruit. The middle dot symbol and the
> obelus could be used as an alternative multiplication and division
> operators. Swift already has user-defined operators; if we ever get them,
> it would be awesome to have something like
>
>
>
> long long operator ·(long m, long n) { return (long long)m * (long long)n;
> }
>
>
>
> The second, far more impactful idea would be to unicodize the entire
> language and let the users use keywords in their national languages.
> Programmers outside USA (surprise, surprise) often think in their native
> languages and often prefer to write comments in them. For example, I know
> that the SAP codebase is full of comments in German. A source file is a
> specialized text, and every language switch is a disorienting experience,
> especially if these languages are not related. Algol 68 designers already
> understood this and translated the language into Russian, German, French,
> Bulgarian, Chinese and Japanese, including of course the keywords. This
> could facilitate teaching/studying the language as well.
>
> As an illustration, let us consider 3 variants of Hello-World, first the
> canonic version with comments, second with the same comments in Russian and
> third a hypothetical Hello world/Привет мир in C++ with Russian keywords:
>
>
>
>
>
> //This is needed for printf
>
> #include <stdio.h>
>
>
>
> //Program entry
>
> int main()
>
> {
>
> //Let's greet the world
>
> printf("Hello world!\n");
>
> }
>
>
>
>
>
> //Это требуется для printf
>
> #include <stdio.h>
>
>
>
> //Вход в программу
>
> int main()
>
> {
>
> //Приветствуем мир
>
> printf("Привет мир!\n");
>
printf("Привет мир!\н");
?
wrote:
> All,
>
>
>
> Tom Honermann encouraged me to share with you several ideas
> that at some point in the future may become proposable.
>
>
>
> First is the ↑ character (Alt-24 with NumLock on). We had a discussion a
> while back with Bjarne and a few other C++ luminaries in regards to a
> possible exponentiation operator. None of the more conventional
> alternatives appeared to be a good candidate, while ↑ is a symbol used for
> that purpose by Donald Knuth, see
> https://en.wikipedia.org/wiki/Knuth%27s_up-arrow_notation, and would be
> excellent for readability. Perhaps we can add it at some point to the basic
> character set. I am not at all worried about its absence on the keyboard,
> math folks will quickly get used to Alt-24.
>
>
>
> I would imagine the right approach for this to happen is to ask ourselves:
> what is are the specific characters that we wish were in the basic
> character set? My initial list would be: $,@,↑,• or ·,÷ . $ is already in
> Microsoft basic character set, see
> https://docs.microsoft.com/en-us/cpp/cpp/character-sets?view=vs-2019, so
> perhaps this would be a low-hanging fruit. The middle dot symbol and the
> obelus could be used as an alternative multiplication and division
> operators. Swift already has user-defined operators; if we ever get them,
> it would be awesome to have something like
>
>
>
> long long operator ·(long m, long n) { return (long long)m * (long long)n;
> }
>
>
>
> The second, far more impactful idea would be to unicodize the entire
> language and let the users use keywords in their national languages.
> Programmers outside USA (surprise, surprise) often think in their native
> languages and often prefer to write comments in them. For example, I know
> that the SAP codebase is full of comments in German. A source file is a
> specialized text, and every language switch is a disorienting experience,
> especially if these languages are not related. Algol 68 designers already
> understood this and translated the language into Russian, German, French,
> Bulgarian, Chinese and Japanese, including of course the keywords. This
> could facilitate teaching/studying the language as well.
>
> As an illustration, let us consider 3 variants of Hello-World, first the
> canonic version with comments, second with the same comments in Russian and
> third a hypothetical Hello world/Привет мир in C++ with Russian keywords:
>
>
>
>
>
> //This is needed for printf
>
> #include <stdio.h>
>
>
>
> //Program entry
>
> int main()
>
> {
>
> //Let's greet the world
>
> printf("Hello world!\n");
>
> }
>
>
>
>
>
> //Это требуется для printf
>
> #include <stdio.h>
>
>
>
> //Вход в программу
>
> int main()
>
> {
>
> //Приветствуем мир
>
> printf("Привет мир!\n");
>
printf("Привет мир!\н");
?
-- Be seeing you, Tony
Received on 2019-07-30 04:34:01