<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="Generator" content="Microsoft Word 15 (filtered medium)">
<style><!--
/* Font Definitions */
@font-face
        {font-family:"MS Gothic";
        panose-1:2 11 6 9 7 2 5 8 2 4;}
@font-face
        {font-family:Sylfaen;
        panose-1:1 10 5 2 5 3 6 3 3 3;}
@font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
        {font-family:Consolas;
        panose-1:2 11 6 9 2 2 4 3 2 4;}
@font-face
        {font-family:"\@MS Gothic";
        panose-1:2 11 6 9 7 2 5 8 2 4;}
@font-face
        {font-family:"Nirmala UI";
        panose-1:2 11 5 2 4 2 4 2 2 3;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0in;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:#0563C1;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:#954F72;
        text-decoration:underline;}
span.EmailStyle17
        {mso-style-type:personal-compose;
        font-family:"Calibri",sans-serif;
        color:windowtext;}
span.pl-k
        {mso-style-name:pl-k;}
span.pl-s
        {mso-style-name:pl-s;}
span.pl-pds
        {mso-style-name:pl-pds;}
span.pl-en
        {mso-style-name:pl-en;}
span.pl-c1
        {mso-style-name:pl-c1;}
span.pl-cce
        {mso-style-name:pl-cce;}
.MsoChpDefault
        {mso-style-type:export-only;
        font-family:"Calibri",sans-serif;}
@page WordSection1
        {size:8.5in 11.0in;
        margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
        {page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]-->
</head>
<body lang="EN-US" link="#0563C1" vlink="#954F72">
<div class="WordSection1">
<p class="MsoNormal">All,<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal"> Tom Honermann encouraged me to share with you several ideas that at some point in the future may become proposable.<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal" style="text-indent:.5in">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
<a href="https://en.wikipedia.org/wiki/Knuth%27s_up-arrow_notation">https://en.wikipedia.org/wiki/Knuth%27s_up-arrow_notation</a>, 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. <o:p>
</o:p></p>
<p class="MsoNormal" style="text-indent:.5in"><o:p> </o:p></p>
<p class="MsoNormal" style="text-indent:.5in">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
<span style="font-size:12.0pt;font-family:"Arial",sans-serif;color:#222222;background:white">
·,÷ </span>. $ is already in Microsoft basic character set, see <a href="https://docs.microsoft.com/en-us/cpp/cpp/character-sets?view=vs-2019">
https://docs.microsoft.com/en-us/cpp/cpp/character-sets?view=vs-2019</a>, 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<o:p></o:p></p>
<p class="MsoNormal" style="text-indent:.5in"><o:p> </o:p></p>
<p class="MsoNormal"><span style="font-size:9.5pt;font-family:Consolas;color:blue">long</span><span style="font-size:9.5pt;font-family:Consolas;color:black">
</span><span style="font-size:9.5pt;font-family:Consolas;color:blue">long</span><span style="font-size:9.5pt;font-family:Consolas;color:black"> operator ·(</span><span style="font-size:9.5pt;font-family:Consolas;color:blue">long</span><span style="font-size:9.5pt;font-family:Consolas;color:black">
m, </span><span style="font-size:9.5pt;font-family:Consolas;color:blue">long</span><span style="font-size:9.5pt;font-family:Consolas;color:black"> n) {
</span><span style="font-size:9.5pt;font-family:Consolas;color:blue">return</span><span style="font-size:9.5pt;font-family:Consolas;color:black"> (</span><span style="font-size:9.5pt;font-family:Consolas;color:blue">long</span><span style="font-size:9.5pt;font-family:Consolas;color:black">
</span><span style="font-size:9.5pt;font-family:Consolas;color:blue">long</span><span style="font-size:9.5pt;font-family:Consolas;color:black">)m * (</span><span style="font-size:9.5pt;font-family:Consolas;color:blue">long</span><span style="font-size:9.5pt;font-family:Consolas;color:black">
</span><span style="font-size:9.5pt;font-family:Consolas;color:blue">long</span><span style="font-size:9.5pt;font-family:Consolas;color:black">)n; }</span><o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal" style="text-indent:.5in">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.<o:p></o:p></p>
<div style="mso-element:para-border-div;border:none;border-bottom:solid windowtext 1.0pt;padding:0in 0in 1.0pt 0in">
<p class="MsoNormal" style="text-indent:.5in;border:none;padding:0in">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/<span lang="RU">Привет</span><span lang="RU">
</span><span lang="RU">мир</span> in C++ with Russian keywords:<o:p></o:p></p>
<p class="MsoNormal" style="text-indent:.5in;border:none;padding:0in"><o:p> </o:p></p>
</div>
<p class="MsoNormal" style="text-indent:.5in"><o:p></o:p></p>
<p class="MsoNormal" style="text-autospace:none"><span style="font-size:9.5pt;font-family:Consolas;color:green">//This is needed for printf</span><span style="font-size:9.5pt;font-family:Consolas;color:black"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-autospace:none"><span style="font-size:9.5pt;font-family:Consolas;color:gray">#include</span><span style="font-size:9.5pt;font-family:Consolas;color:black">
</span><span style="font-size:9.5pt;font-family:Consolas;color:#A31515"><stdio.h></span><span style="font-size:9.5pt;font-family:Consolas;color:black"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-autospace:none"><span style="font-size:9.5pt;font-family:Consolas;color:black"><o:p> </o:p></span></p>
<p class="MsoNormal" style="text-autospace:none"><span style="font-size:9.5pt;font-family:Consolas;color:green">//Program entry</span><span style="font-size:9.5pt;font-family:Consolas;color:black"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-autospace:none"><span style="font-size:9.5pt;font-family:Consolas;color:blue">int</span><span style="font-size:9.5pt;font-family:Consolas;color:black"> main()<o:p></o:p></span></p>
<p class="MsoNormal" style="text-autospace:none"><span style="font-size:9.5pt;font-family:Consolas;color:black">{<o:p></o:p></span></p>
<p class="MsoNormal" style="text-autospace:none"><span style="font-size:9.5pt;font-family:Consolas;color:black">
</span><span style="font-size:9.5pt;font-family:Consolas;color:green">//Let's greet the world</span><span style="font-size:9.5pt;font-family:Consolas;color:black"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-autospace:none"><span style="font-size:9.5pt;font-family:Consolas;color:black"> printf(</span><span style="font-size:9.5pt;font-family:Consolas;color:#A31515">"Hello world!\n"</span><span style="font-size:9.5pt;font-family:Consolas;color:black">);<o:p></o:p></span></p>
<div style="mso-element:para-border-div;border:none;border-bottom:solid windowtext 1.0pt;padding:0in 0in 1.0pt 0in">
<p class="MsoNormal" style="text-autospace:none;border:none;padding:0in"><span style="font-size:9.5pt;font-family:Consolas;color:black">}<o:p></o:p></span></p>
<p class="MsoNormal" style="text-autospace:none;border:none;padding:0in"><span style="font-size:9.5pt;font-family:Consolas;color:black"><o:p> </o:p></span></p>
</div>
<p class="MsoNormal" style="text-autospace:none"><span style="font-size:9.5pt;font-family:Consolas;color:black"><o:p> </o:p></span></p>
<p class="MsoNormal" style="text-autospace:none"><span style="font-size:9.5pt;font-family:Consolas;color:green">//Это требуется для printf</span><span style="font-size:9.5pt;font-family:Consolas;color:black"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-autospace:none"><span style="font-size:9.5pt;font-family:Consolas;color:gray">#include</span><span style="font-size:9.5pt;font-family:Consolas;color:black">
</span><span style="font-size:9.5pt;font-family:Consolas;color:#A31515"><stdio.h></span><span style="font-size:9.5pt;font-family:Consolas;color:black"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-autospace:none"><span style="font-size:9.5pt;font-family:Consolas;color:black"><o:p> </o:p></span></p>
<p class="MsoNormal" style="text-autospace:none"><span lang="RU" style="font-size:9.5pt;font-family:Consolas;color:green">//Вход в программу
</span><span lang="RU" style="font-size:9.5pt;font-family:Consolas;color:black"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-autospace:none"><span style="font-size:9.5pt;font-family:Consolas;color:blue">int</span><span style="font-size:9.5pt;font-family:Consolas;color:black">
</span><span style="font-size:9.5pt;font-family:Consolas;color:black">main</span><span lang="RU" style="font-size:9.5pt;font-family:Consolas;color:black">()<o:p></o:p></span></p>
<p class="MsoNormal" style="text-autospace:none"><span lang="RU" style="font-size:9.5pt;font-family:Consolas;color:black">{<o:p></o:p></span></p>
<p class="MsoNormal" style="text-autospace:none"><span lang="RU" style="font-size:9.5pt;font-family:Consolas;color:black">
</span><span lang="RU" style="font-size:9.5pt;font-family:Consolas;color:green">//Приветствуем мир</span><span lang="RU" style="font-size:9.5pt;font-family:Consolas;color:black"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-autospace:none"><span lang="RU" style="font-size:9.5pt;font-family:Consolas;color:black">
</span><span style="font-size:9.5pt;font-family:Consolas;color:black">printf</span><span lang="RU" style="font-size:9.5pt;font-family:Consolas;color:black">(</span><span lang="RU" style="font-size:9.5pt;font-family:Consolas;color:#A31515">"Привет мир!\</span><span style="font-size:9.5pt;font-family:Consolas;color:#A31515">n</span><span lang="RU" style="font-size:9.5pt;font-family:Consolas;color:#A31515">"</span><span lang="RU" style="font-size:9.5pt;font-family:Consolas;color:black">);<o:p></o:p></span></p>
<div style="mso-element:para-border-div;border:none;border-bottom:solid windowtext 1.0pt;padding:0in 0in 1.0pt 0in">
<p class="MsoNormal" style="text-autospace:none;border:none;padding:0in"><span lang="RU" style="font-size:9.5pt;font-family:Consolas;color:black">}<o:p></o:p></span></p>
<p class="MsoNormal" style="text-autospace:none;border:none;padding:0in"><span lang="RU" style="font-size:9.5pt;font-family:Consolas;color:black"><o:p> </o:p></span></p>
</div>
<p class="MsoNormal" style="text-autospace:none"><span lang="RU" style="font-size:9.5pt;font-family:Consolas;color:black"><o:p> </o:p></span></p>
<p class="MsoNormal" style="text-autospace:none"><span lang="RU" style="font-size:9.5pt;font-family:Consolas;color:green">//Это требуется для печати</span><span lang="RU" style="font-size:9.5pt;font-family:Consolas;color:black"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-autospace:none"><span lang="RU" style="font-size:9.5pt;font-family:Consolas;color:black">#включить <стдвв.г><o:p></o:p></span></p>
<p class="MsoNormal" style="text-autospace:none"><span lang="RU" style="font-size:9.5pt;font-family:Consolas;color:black"><o:p> </o:p></span></p>
<p class="MsoNormal" style="text-autospace:none"><span lang="RU" style="font-size:9.5pt;font-family:Consolas;color:green">//Вход в программу
</span><span lang="RU" style="font-size:9.5pt;font-family:Consolas;color:black"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-autospace:none"><span lang="RU" style="font-size:9.5pt;font-family:Consolas;color:black">цел главная()<o:p></o:p></span></p>
<p class="MsoNormal" style="text-autospace:none"><span lang="RU" style="font-size:9.5pt;font-family:Consolas;color:black">{<o:p></o:p></span></p>
<p class="MsoNormal" style="text-autospace:none"><span lang="RU" style="font-size:9.5pt;font-family:Consolas;color:black">
</span><span lang="RU" style="font-size:9.5pt;font-family:Consolas;color:green">//Приветствуем мир</span><span lang="RU" style="font-size:9.5pt;font-family:Consolas;color:black"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-autospace:none"><span lang="RU" style="font-size:9.5pt;font-family:Consolas;color:black"> печать(</span><span lang="RU" style="font-size:9.5pt;font-family:Consolas;color:#A31515">"Привет мир!\</span><span style="font-size:9.5pt;font-family:Consolas;color:#A31515">n</span><span lang="RU" style="font-size:9.5pt;font-family:Consolas;color:#A31515">"</span><span lang="RU" style="font-size:9.5pt;font-family:Consolas;color:black">);<o:p></o:p></span></p>
<div style="mso-element:para-border-div;border:none;border-bottom:solid windowtext 1.0pt;padding:0in 0in 1.0pt 0in">
<p class="MsoNormal" style="border:none;padding:0in"><span style="font-size:9.5pt;font-family:Consolas;color:black">}<o:p></o:p></span></p>
<p class="MsoNormal" style="border:none;padding:0in"><span style="font-size:9.5pt;font-family:Consolas;color:black"><o:p> </o:p></span></p>
</div>
<p class="MsoNormal"><span lang="RU" style="font-size:9.5pt;font-family:Consolas;color:black"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="color:black">I would imagine that for most if not all of you, the third example looks like gibberish. I can assure you that, for young future programmers from the countries where English isn’t widely spoken, the first Hello
World looks just as gibberishly. Some of them may even be reluctant to enter a career where they would have to deal with pages and pages of such stuff on a daily basis.
</span><o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<div style="mso-element:para-border-div;border:none;border-bottom:solid windowtext 1.0pt;padding:0in 0in 1.0pt 0in">
<p class="MsoNormal" style="border:none;padding:0in"> Finally, I wanted to show you a couple of additional “hello-world”s. The first is valid C++ that stress-tests the system it runs on by using English, Russian, Georgian and Chinese words in
the same sentence:<o:p></o:p></p>
<p class="MsoNormal" style="border:none;padding:0in"><o:p> </o:p></p>
</div>
<p class="MsoNormal" style="text-autospace:none"><span style="font-size:9.5pt;font-family:Consolas;color:gray"><o:p> </o:p></span></p>
<p class="MsoNormal" style="text-autospace:none"><span style="font-size:9.5pt;font-family:Consolas;color:gray">#include</span><span style="font-size:9.5pt;font-family:Consolas;color:black">
</span><span style="font-size:9.5pt;font-family:Consolas;color:#A31515"><stdio.h></span><span style="font-size:9.5pt;font-family:Consolas;color:black"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-autospace:none"><span style="font-size:9.5pt;font-family:Consolas;color:black"><o:p> </o:p></span></p>
<p class="MsoNormal" style="text-autospace:none"><span style="font-size:9.5pt;font-family:Consolas;color:black">main()<o:p></o:p></span></p>
<p class="MsoNormal" style="text-autospace:none"><span style="font-size:9.5pt;font-family:Consolas;color:black">{<o:p></o:p></span></p>
<p class="MsoNormal" style="text-autospace:none"><span style="font-size:9.5pt;font-family:Consolas;color:black"> printf(</span><span style="font-size:9.5pt;font-family:Consolas;color:#A31515">u8"Hello-привет-</span><span style="font-size:9.5pt;font-family:"Sylfaen",serif;color:#A31515">გამარჯობა</span><span style="font-size:9.5pt;font-family:Consolas;color:#A31515">-</span><span style="font-size:9.5pt;font-family:"MS Gothic";color:#A31515">你好</span><span style="font-size:9.5pt;font-family:Consolas;color:#A31515">,
world!\n"</span><span style="font-size:9.5pt;font-family:Consolas;color:black">);<o:p></o:p></span></p>
<div style="mso-element:para-border-div;border:none;border-bottom:solid windowtext 1.0pt;padding:0in 0in 1.0pt 0in">
<p class="MsoNormal" style="text-autospace:none;border:none;padding:0in"><span style="font-size:9.5pt;font-family:Consolas;color:black">}<o:p></o:p></span></p>
</div>
<p class="MsoNormal" style="text-autospace:none"><span style="font-size:9.5pt;font-family:Consolas;color:black"><o:p> </o:p></span></p>
<div style="mso-element:para-border-div;border:none;border-bottom:solid windowtext 1.0pt;padding:0in 0in 1.0pt 0in">
<p class="MsoNormal" style="text-autospace:none;border:none;padding:0in"><span style="color:black">The second is something I put together as a 21 century version of Hello world. Alas, only a very small fraction of it is now well-formed.<o:p></o:p></span></p>
<p class="MsoNormal" style="text-autospace:none;border:none;padding:0in"><span style="font-size:9.5pt;font-family:Consolas;color:black"><o:p> </o:p></span></p>
</div>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal" style="text-autospace:none"><span style="font-size:9.5pt;font-family:Consolas;color:green">/*</span><span style="font-size:9.5pt;font-family:Consolas;color:black"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-autospace:none"><span style="font-size:9.5pt;font-family:Consolas;color:black"><o:p> </o:p></span></p>
<p class="MsoNormal" style="text-autospace:none"><span style="font-size:9.5pt;font-family:Consolas;color:green">The first program to write is the same for all languages:</span><span style="font-size:9.5pt;font-family:Consolas;color:black"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-autospace:none"><span style="font-size:9.5pt;font-family:Consolas;color:black"><o:p> </o:p></span></p>
<p class="MsoNormal" style="text-autospace:none"><span style="font-size:9.5pt;font-family:Consolas;color:green">Print the words</span><span style="font-size:9.5pt;font-family:Consolas;color:black"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-autospace:none"><span style="font-size:9.5pt;font-family:Consolas;color:black"><o:p> </o:p></span></p>
<p class="MsoNormal" style="text-autospace:none"><span style="font-size:9.5pt;font-family:Consolas;color:green">hello, world</span><span style="font-size:9.5pt;font-family:Consolas;color:black"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-autospace:none"><span style="font-size:9.5pt;font-family:Consolas;color:black"><o:p> </o:p></span></p>
<p class="MsoNormal" style="text-autospace:none"><span style="font-size:9.5pt;font-family:Consolas;color:green">#include <stdio.h></span><span style="font-size:9.5pt;font-family:Consolas;color:black"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-autospace:none"><span style="font-size:9.5pt;font-family:Consolas;color:black"><o:p> </o:p></span></p>
<p class="MsoNormal" style="text-autospace:none"><span style="font-size:9.5pt;font-family:Consolas;color:green">int main()</span><span style="font-size:9.5pt;font-family:Consolas;color:black"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-autospace:none"><span style="font-size:9.5pt;font-family:Consolas;color:green">{</span><span style="font-size:9.5pt;font-family:Consolas;color:black"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-autospace:none"><span style="font-size:9.5pt;font-family:Consolas;color:green">printf("hello, world\n");</span><span style="font-size:9.5pt;font-family:Consolas;color:black"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-autospace:none"><span style="font-size:9.5pt;font-family:Consolas;color:green">}</span><span style="font-size:9.5pt;font-family:Consolas;color:black"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-autospace:none"><span style="font-size:9.5pt;font-family:Consolas;color:black"><o:p> </o:p></span></p>
<p class="MsoNormal" style="text-autospace:none"><span style="font-size:9.5pt;font-family:Consolas;color:green">*/</span><span style="font-size:9.5pt;font-family:Consolas;color:black"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-autospace:none"><span style="font-size:9.5pt;font-family:Consolas;color:black"><o:p> </o:p></span></p>
<p class="MsoNormal" style="text-autospace:none"><span style="font-size:9.5pt;font-family:Consolas;color:blue">import</span><span style="font-size:9.5pt;font-family:Consolas;color:black"> std.ui;
</span><span style="font-size:9.5pt;font-family:Consolas;color:green">//future UI module</span><span style="font-size:9.5pt;font-family:Consolas;color:black"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-autospace:none"><span style="font-size:9.5pt;font-family:Consolas;color:blue">import</span><span style="font-size:9.5pt;font-family:Consolas;color:black"> std.core;<o:p></o:p></span></p>
<p class="MsoNormal" style="text-autospace:none"><span style="font-size:9.5pt;font-family:Consolas;color:black"><o:p> </o:p></span></p>
<p class="MsoNormal" style="text-autospace:none"><span style="font-size:9.5pt;font-family:Consolas;color:blue">int</span><span style="font-size:9.5pt;font-family:Consolas;color:black"> main()<o:p></o:p></span></p>
<p class="MsoNormal" style="text-autospace:none"><span style="font-size:9.5pt;font-family:Consolas;color:black">{<o:p></o:p></span></p>
<p class="MsoNormal" style="text-autospace:none"><span style="font-size:9.5pt;font-family:Consolas;color:black">
</span><span style="font-size:9.5pt;font-family:Consolas;color:blue">static</span><span style="font-size:9.5pt;font-family:Consolas;color:black"> std::map<std::language_id_t, std::u8string> hellos{
</span><span style="font-size:9.5pt;font-family:Consolas;color:green">//language_id_t comes from std.ui</span><span style="font-size:9.5pt;font-family:Consolas;color:black"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-autospace:none"><span style="font-size:9.5pt;font-family:Consolas;color:black"> {
</span><span style="font-size:9.5pt;font-family:Consolas;color:#A31515">"English"</span><span style="font-size:9.5pt;font-family:Consolas;color:black">lid,
</span><span style="font-size:9.5pt;font-family:Consolas;color:#A31515">"Hello, world"</span><span style="font-size:9.5pt;font-family:Consolas;color:black"> },
</span><span style="font-size:9.5pt;font-family:Consolas;color:green">//a literal produces the right language type</span><span style="font-size:9.5pt;font-family:Consolas;color:black"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-autospace:none"><span style="font-size:9.5pt;font-family:Consolas;color:black"> {
</span><span style="font-size:9.5pt;font-family:Consolas;color:#A31515">"Chinese"</span><span style="font-size:9.5pt;font-family:Consolas;color:black">lid,
</span><span style="font-size:9.5pt;font-family:Consolas;color:#A31515">"</span><span style="font-size:9.5pt;font-family:"MS Gothic";color:#A31515">你好,世界</span><span style="font-size:9.5pt;font-family:Consolas;color:#A31515">"</span><span style="font-size:9.5pt;font-family:Consolas;color:black">
},<o:p></o:p></span></p>
<p class="MsoNormal" style="text-autospace:none"><span style="font-size:9.5pt;font-family:Consolas;color:black"> {
</span><span style="font-size:9.5pt;font-family:Consolas;color:#A31515">"Hindi"</span><span style="font-size:9.5pt;font-family:Consolas;color:black">lid,
</span><span style="font-size:9.5pt;font-family:Consolas;color:#A31515">"</span><span style="font-size:9.5pt;font-family:"Nirmala UI",sans-serif;color:#A31515">नमस्ते</span><span style="font-size:9.5pt;font-family:Consolas;color:#A31515">
</span><span style="font-size:9.5pt;font-family:"Nirmala UI",sans-serif;color:#A31515">दुनिया</span><span style="font-size:9.5pt;font-family:Consolas;color:#A31515">"</span><span style="font-size:9.5pt;font-family:Consolas;color:black"> },<o:p></o:p></span></p>
<p class="MsoNormal" style="text-autospace:none"><span style="font-size:9.5pt;font-family:Consolas;color:black"> {
</span><span style="font-size:9.5pt;font-family:Consolas;color:#A31515">"Spanish"</span><span style="font-size:9.5pt;font-family:Consolas;color:black">lid,
</span><span style="font-size:9.5pt;font-family:Consolas;color:#A31515">"Hola Mundo"</span><span style="font-size:9.5pt;font-family:Consolas;color:black"> },<o:p></o:p></span></p>
<p class="MsoNormal" style="text-autospace:none"><span style="font-size:9.5pt;font-family:Consolas;color:black"> {
</span><span style="font-size:9.5pt;font-family:Consolas;color:#A31515">"French"</span><span style="font-size:9.5pt;font-family:Consolas;color:black">lid,
</span><span style="font-size:9.5pt;font-family:Consolas;color:#A31515">"Bonjour le monde"</span><span style="font-size:9.5pt;font-family:Consolas;color:black"> },<o:p></o:p></span></p>
<p class="MsoNormal" style="text-autospace:none"><span style="font-size:9.5pt;font-family:Consolas;color:black"> {
</span><span style="font-size:9.5pt;font-family:Consolas;color:#A31515">"Arabic"</span><span style="font-size:9.5pt;font-family:Consolas;color:black">lid,
</span><span style="font-size:9.5pt;font-family:Consolas;color:#A31515">"</span><span style="font-size:9.5pt;font-family:"Courier New";color:#A31515">مرحبا</span><span style="font-size:9.5pt;font-family:Consolas;color:#A31515">
</span><span style="font-size:9.5pt;font-family:"Courier New";color:#A31515">بالعالم</span><span style="font-size:9.5pt;font-family:Consolas;color:#A31515">"</span><span style="font-size:9.5pt;font-family:Consolas;color:black"> },<o:p></o:p></span></p>
<p class="MsoNormal" style="text-autospace:none"><span style="font-size:9.5pt;font-family:Consolas;color:black"> {
</span><span style="font-size:9.5pt;font-family:Consolas;color:#A31515">"Bengali"</span><span style="font-size:9.5pt;font-family:Consolas;color:black">lid,
</span><span style="font-size:9.5pt;font-family:Consolas;color:#A31515">"</span><span style="font-size:9.5pt;font-family:"Nirmala UI",sans-serif;color:#A31515">ওহে</span><span style="font-size:9.5pt;font-family:Consolas;color:#A31515">
</span><span style="font-size:9.5pt;font-family:"Nirmala UI",sans-serif;color:#A31515">বিশ্ব</span><span style="font-size:9.5pt;font-family:Consolas;color:#A31515">"</span><span style="font-size:9.5pt;font-family:Consolas;color:black"> },<o:p></o:p></span></p>
<p class="MsoNormal" style="text-autospace:none"><span style="font-size:9.5pt;font-family:Consolas;color:black"> {
</span><span style="font-size:9.5pt;font-family:Consolas;color:#A31515">"Russian"</span><span style="font-size:9.5pt;font-family:Consolas;color:black">lid,
</span><span style="font-size:9.5pt;font-family:Consolas;color:#A31515">"Привет, мир"</span><span style="font-size:9.5pt;font-family:Consolas;color:black"> },<o:p></o:p></span></p>
<p class="MsoNormal" style="text-autospace:none"><span style="font-size:9.5pt;font-family:Consolas;color:black"> {
</span><span style="font-size:9.5pt;font-family:Consolas;color:#A31515">"Portuguese"</span><span style="font-size:9.5pt;font-family:Consolas;color:black">lid,
</span><span style="font-size:9.5pt;font-family:Consolas;color:#A31515">"Olá Mundo"</span><span style="font-size:9.5pt;font-family:Consolas;color:black"> },<o:p></o:p></span></p>
<p class="MsoNormal" style="text-autospace:none"><span style="font-size:9.5pt;font-family:Consolas;color:black"> {
</span><span style="font-size:9.5pt;font-family:Consolas;color:#A31515">"Indonesian"</span><span style="font-size:9.5pt;font-family:Consolas;color:black">lid,
</span><span style="font-size:9.5pt;font-family:Consolas;color:#A31515">"Halo Dunia"</span><span style="font-size:9.5pt;font-family:Consolas;color:black"> },<o:p></o:p></span></p>
<p class="MsoNormal" style="text-autospace:none"><span style="font-size:9.5pt;font-family:Consolas;color:black"> {
</span><span style="font-size:9.5pt;font-family:Consolas;color:#A31515">"Urdu"</span><span style="font-size:9.5pt;font-family:Consolas;color:black">lid,
</span><span style="font-size:9.5pt;font-family:Consolas;color:#A31515">"</span><span style="font-size:9.5pt;font-family:"Courier New";color:#A31515">ہیلو،</span><span style="font-size:9.5pt;font-family:Consolas;color:#A31515">
</span><span style="font-size:9.5pt;font-family:"Courier New";color:#A31515">دنیا</span><span style="font-size:9.5pt;font-family:Consolas;color:#A31515">"</span><span style="font-size:9.5pt;font-family:Consolas;color:black"> },<o:p></o:p></span></p>
<p class="MsoNormal" style="text-autospace:none"><span style="font-size:9.5pt;font-family:Consolas;color:black"> {
</span><span style="font-size:9.5pt;font-family:Consolas;color:#A31515">"German"</span><span style="font-size:9.5pt;font-family:Consolas;color:black">lid,
</span><span style="font-size:9.5pt;font-family:Consolas;color:#A31515">"Hallo Welt"</span><span style="font-size:9.5pt;font-family:Consolas;color:black"> },<o:p></o:p></span></p>
<p class="MsoNormal" style="text-autospace:none"><span style="font-size:9.5pt;font-family:Consolas;color:black"> {
</span><span style="font-size:9.5pt;font-family:Consolas;color:#A31515">"Japanese"</span><span style="font-size:9.5pt;font-family:Consolas;color:black">lid,
</span><span style="font-size:9.5pt;font-family:Consolas;color:#A31515">"</span><span style="font-size:9.5pt;font-family:"MS Gothic";color:#A31515">こんにちは世界</span><span style="font-size:9.5pt;font-family:Consolas;color:#A31515">"</span><span style="font-size:9.5pt;font-family:Consolas;color:black">
},<o:p></o:p></span></p>
<p class="MsoNormal" style="text-autospace:none"><span style="font-size:9.5pt;font-family:Consolas;color:black"> {
</span><span style="font-size:9.5pt;font-family:Consolas;color:#A31515">"Swahili"</span><span style="font-size:9.5pt;font-family:Consolas;color:black">lid,
</span><span style="font-size:9.5pt;font-family:Consolas;color:#A31515">"Salamu, Dunia"</span><span style="font-size:9.5pt;font-family:Consolas;color:black"> },<o:p></o:p></span></p>
<p class="MsoNormal" style="text-autospace:none"><span style="font-size:9.5pt;font-family:Consolas;color:black"> {
</span><span style="font-size:9.5pt;font-family:Consolas;color:#A31515">"Punjabi"</span><span style="font-size:9.5pt;font-family:Consolas;color:black">lid,
</span><span style="font-size:9.5pt;font-family:Consolas;color:#A31515">"</span><span style="font-size:9.5pt;font-family:"Nirmala UI",sans-serif;color:#A31515">ਸਤਿ</span><span style="font-size:9.5pt;font-family:Consolas;color:#A31515">
</span><span style="font-size:9.5pt;font-family:"Nirmala UI",sans-serif;color:#A31515">ਸ੍ਰੀ</span><span style="font-size:9.5pt;font-family:Consolas;color:#A31515">
</span><span style="font-size:9.5pt;font-family:"Nirmala UI",sans-serif;color:#A31515">ਅਕਾਲ</span><span style="font-size:9.5pt;font-family:Consolas;color:#A31515">
</span><span style="font-size:9.5pt;font-family:"Nirmala UI",sans-serif;color:#A31515">ਦੁਨਿਆ</span><span style="font-size:9.5pt;font-family:Consolas;color:#A31515">"</span><span style="font-size:9.5pt;font-family:Consolas;color:black"> },<o:p></o:p></span></p>
<p class="MsoNormal" style="text-autospace:none"><span style="font-size:9.5pt;font-family:Consolas;color:black"> {
</span><span style="font-size:9.5pt;font-family:Consolas;color:#A31515">"Telugu"</span><span style="font-size:9.5pt;font-family:Consolas;color:black">lid,
</span><span style="font-size:9.5pt;font-family:Consolas;color:#A31515">"</span><span style="font-size:9.5pt;font-family:"Nirmala UI",sans-serif;color:#A31515">హలో</span><span style="font-size:9.5pt;font-family:Consolas;color:#A31515">,
</span><span style="font-size:9.5pt;font-family:"Nirmala UI",sans-serif;color:#A31515">ప్రపంచం</span><span style="font-size:9.5pt;font-family:Consolas;color:#A31515">"</span><span style="font-size:9.5pt;font-family:Consolas;color:black"> },<o:p></o:p></span></p>
<p class="MsoNormal" style="text-autospace:none"><span style="font-size:9.5pt;font-family:Consolas;color:black"> {
</span><span style="font-size:9.5pt;font-family:Consolas;color:#A31515">"Javanese"</span><span style="font-size:9.5pt;font-family:Consolas;color:black">lid,
</span><span style="font-size:9.5pt;font-family:Consolas;color:#A31515">"Hello, donya"</span><span style="font-size:9.5pt;font-family:Consolas;color:black"> },<o:p></o:p></span></p>
<p class="MsoNormal" style="text-autospace:none"><span style="font-size:9.5pt;font-family:Consolas;color:black"> {
</span><span style="font-size:9.5pt;font-family:Consolas;color:#A31515">"Marathi"</span><span style="font-size:9.5pt;font-family:Consolas;color:black">lid,
</span><span style="font-size:9.5pt;font-family:Consolas;color:#A31515">"</span><span style="font-size:9.5pt;font-family:"Nirmala UI",sans-serif;color:#A31515">हॅलो</span><span style="font-size:9.5pt;font-family:Consolas;color:#A31515">,
</span><span style="font-size:9.5pt;font-family:"Nirmala UI",sans-serif;color:#A31515">जग</span><span style="font-size:9.5pt;font-family:Consolas;color:#A31515">"</span><span style="font-size:9.5pt;font-family:Consolas;color:black"> },<o:p></o:p></span></p>
<p class="MsoNormal" style="text-autospace:none"><span style="font-size:9.5pt;font-family:Consolas;color:black"> {
</span><span style="font-size:9.5pt;font-family:Consolas;color:#A31515">"Turkish"</span><span style="font-size:9.5pt;font-family:Consolas;color:black">lid,
</span><span style="font-size:9.5pt;font-family:Consolas;color:#A31515">"Selam Dünya"</span><span style="font-size:9.5pt;font-family:Consolas;color:black"> },<o:p></o:p></span></p>
<p class="MsoNormal" style="text-autospace:none"><span style="font-size:9.5pt;font-family:Consolas;color:black"> };<o:p></o:p></span></p>
<p class="MsoNormal" style="text-autospace:none"><span style="font-size:9.5pt;font-family:Consolas;color:black"><o:p> </o:p></span></p>
<p class="MsoNormal" style="text-autospace:none"><span style="font-size:9.5pt;font-family:Consolas;color:black">
</span><span style="font-size:9.5pt;font-family:Consolas;color:green">//More than 75 % of the world population would be able to read and understand its greeting.</span><span style="font-size:9.5pt;font-family:Consolas;color:black"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-autospace:none"><span style="font-size:9.5pt;font-family:Consolas;color:black"><o:p> </o:p></span></p>
<p class="MsoNormal" style="text-autospace:none"><span style="font-size:9.5pt;font-family:Consolas;color:black"> std::post_notification (
</span><span style="font-size:9.5pt;font-family:Consolas;color:green">//this also comes from std.ui</span><span style="font-size:9.5pt;font-family:Consolas;color:black"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-autospace:none"><span style="font-size:9.5pt;font-family:Consolas;color:black">
</span><span style="font-size:9.5pt;font-family:Consolas;color:green">// if we can define variables in an if statement, why can't we in a tertiary operator?</span><span style="font-size:9.5pt;font-family:Consolas;color:black"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-autospace:none"><span style="font-size:9.5pt;font-family:Consolas;color:black"> (std::optional<std::u8string> hello = hellos[std::get_language_id()])
</span><span style="font-size:9.5pt;font-family:Consolas;color:green">//get the default system language</span><span style="font-size:9.5pt;font-family:Consolas;color:black"><o:p></o:p></span></p>
<p class="MsoNormal" style="text-autospace:none"><span style="font-size:9.5pt;font-family:Consolas;color:black"> ? *hello<o:p></o:p></span></p>
<p class="MsoNormal" style="text-autospace:none"><span style="font-size:9.5pt;font-family:Consolas;color:black"> : *hellos[</span><span style="font-size:9.5pt;font-family:Consolas;color:#A31515">"English"</span><span style="font-size:9.5pt;font-family:Consolas;color:black">lid];<o:p></o:p></span></p>
<p class="MsoNormal" style="text-autospace:none"><span style="font-size:9.5pt;font-family:Consolas;color:black"> );<o:p></o:p></span></p>
<div style="mso-element:para-border-div;border:none;border-bottom:solid windowtext 1.0pt;padding:0in 0in 1.0pt 0in">
<p class="MsoNormal" style="text-autospace:none;border:none;padding:0in"><span style="font-size:9.5pt;font-family:Consolas;color:black">}<o:p></o:p></span></p>
<p class="MsoNormal" style="text-autospace:none;border:none;padding:0in"><span style="font-size:9.5pt;font-family:Consolas;color:black"><o:p> </o:p></span></p>
</div>
<p class="MsoNormal" style="text-autospace:none"><span style="font-size:9.5pt;font-family:Consolas;color:black"><o:p> </o:p></span></p>
<p class="MsoNormal">Thank you –<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal"> Lev Minkovsky<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
</body>
</html>