1. 25
  1. 10

    If this line of thinking is interesting to you, then you should definitely watch this talk from Deconstruct about programming for non-English speakers: https://www.deconstructconf.com/2019/ramsey-nasser-a-personal-computer-for-children-of-all-cultures

    1. 2

      Thank you for the link. Actually, I followed the same kind of reasoning as him. The Lisp I implemented is based on Unicode to this effect.

    2. 8

      See also Wenyan: https://wy-lang.org/

      1. 4

        The documentation is gorgeous on desktop: https://book.wy-lang.org/ I’ve never seen syntax highlighted Chinese before. I wish I could read it!

        1. 2

          Just waste seven years of your life on a PhD in Asian philosophy and you too can read “I have a number. It says 3. It is called by the first cosmic stem.”

          1. 1

            Nice!!!

          2. 1

            I’m amused it’s in Classical Chinese, and even more amused the name of the language is literally the Mandarin word for Classical Chinese.

          3. 4

            I wrote a bit about this particular rabbit hole. But I think this is genius, actually making the language and not just presenting a hypothetical example.

            1. 3

              And it is in Lisp… :-) However, this Lisp is the one that I implemented myself based on array and not linked list.

              What is quite amusing is that the first computer I ever programmed was a TRS80 clone, which used the same exact BASIC language…

              Actually, if you edit the grammar file and gives it a different name, you can create your programming language. The Greek version took us about 1h to create.

            2. 1
              if x < 10:
                  x = x * 2
              

              When I read these lines of instructions, I immediately switch to a particular mode where they cease to be English and become something else: to become code.

              Isn’t this the same for everyone? How else?

              1. 1

                This is the question I ask myself. Is the experience different for someone who speaks English to someone who don’t?

                1. 3

                  Unlike @4ad I do subvocalize when reading code. I even structure my code so it’s more “literate.” I don’t know how exactly to describe that, I suppose in the same way that people have descriptive function names, I try to also have descriptive code structure, so it can be read in 1 pass as often as possible.

                  1. 1

                    When I read code, I just ingest it, there’s no English “translation”, same with math.

                    I don’t do subvocalization in general, if there’s any relation.

                    Also, I don’t do syntax highlighting. Whichever process I use for consuming code, syntax highlighting breaks it. I can’t read highlighted code.

                    1. 1

                      This what is the most interesting. It is like listening to music or reading a book. The experience is different for each of us. For instance, I cannot work on a code without color highlighting. I need these landmarks on screen to detect and recognize structures.

                      I had this conversation with one my friends who used to listen to classes without ever taking notes, while I would need this process of note taking to stabilize my memory.

                      And I do read the code on screen in a subvocalization way, as I have alway read novels and articles.

                2. 1

                  Since you’re using non-ASCII characters anyway, why not have proper operators like ≠ instead of ASCII substitutes?

                  1. 2

                    I think it’s somewhat obvious, if you consider that these characters are not available to the English / Latin keyboards, why would they be in the Greek (QWERTY) keyboard? (As a Greek layout user, I can confirm they are not).

                    So typing them would not be convenient.

                    1. 2

                      I was wondering if some Greek readers would eventually have a look on this blog, as the title was somewhat misleading. Did you have the same kind of feeling as the colleague who helped devise this experiment?

                      1. 1

                        Indeed I do, the English and Greek versions read the same to me. It feels like the same programming language with different visuals: Greek letters are more round hence less dense, so the Greek keywords make the code have less color.

                        1. 1

                          Thanks. This is very interesting. I did not know this concept before

                    2. 1

                      It is actually pretty easy to do in LispE:

                      (link “≠” ’neq) (≠ 19 29) true

                      You can modify anything the way you want. However, the only issue is simply to access it on the keyboard. :-)

                      In Tamgu, another language that I implemented you can even write: 2x² and it works…

                    3. 1

                      This is why https://hedycode.com/ supports many different languages, so that students can spend their time focusing on learning programming ideas and not learning English.

                      1. 2

                        Hedy is meant for all kids that want to learn programming! You do need to be able to read English with ease.

                        ???

                        1. 1

                          I’m wondering if that’s a type. Felienne spoke at Strange Loop 2022 and demoed Hedy running in many non-English languages including RTL langauges.

                        2. 1

                          Great resource. Thanks

                        3. 1
                          1. 2

                            Actually, someone published a similar link above (see technomancy).