Ok, Lemmy, let’s play a game!

Post how many languages in which you can count to ten, including your native language. If you like, provide which languages. I’m going to make a guess; after you’ve replied, come back and open the spoiler. If I’m right: upvote; if I’m wrong: downvote!

My guess, and my answer...

My guess is that it’s more than the number of languages you speak, read, and/or write.

Do you feel cheated because I didn’t pick a number? Vote how you want to, or don’t vote! I’m just interested in the count.

I can count to ten in five languages, but I only speak two. I can read a third, and I once was able to converse in a fourth, but have long since lost that skill. I know only some pick-up/borrow words from the 5th, including counting to 10.

  1. My native language is English
  2. I lived in Germany for a couple of years; because I never took classes, I can’t write in German, but I spoke fluently by the time I left.
  3. I studied French in college for three years; I can read French, but I’ve yet to meet a French person who can understand what I’m trying to say, and I have a hard time comprehending it.
  4. I taught myself Esperanto a couple of decades ago, and used to hang out in Esperanto chat rooms. I haven’t kept up.
  5. I can count to ten in Japanese because I took Aikido classes for a decade or so, and my instructor counted out loud in Japanese, and the various movements are numbered.

I can almost count to ten in Spanish, because I grew up in mid-California and there was a lot of Spanish thrown around. But French interferes, and I start in Spanish and find myself switching to French in the middle, so I’m not sure I could really do it.

Bonus question: do you ever do your counting in a non-native language, just to make it more interesting?

    • luluu
      link
      fedilink
      1
      edit-2
      4 days ago

      Yes I cheated. To be fair, I used each of those languages at one point and knew how to do it but was to lazy to look it up again.

      Edit: except Fortran

    • @sp3ctr4l@lemmy.dbzer0.com
      link
      fedilink
      English
      36 days ago

      It is astonishingly easy to get basically any LLM to output a simple iteration from one to ten function in all of those languages, and more.

      Here’s Assembly:

          newline db 0xA  ; Newline character
      
      section .bss
          number resb 1  ; Reserve a byte for the number
      
      section .text
          global _start
      
      _start:
          mov ecx, 1  ; Start with 1
          mov edx, 10 ; End with 10
      
      loop_start:
          cmp ecx, edx  ; Compare ecx with edx
          jg loop_end   ; If ecx > edx, jump to loop_end
      
          ; Convert number to ASCII
          add ecx, '0'  ; Convert number to ASCII
          mov [number], ecx  ; Store the ASCII value in number
      
          ; Print the number
          mov eax, 4        ; sys_write system call
          mov ebx, 1        ; File descriptor 1 is stdout
          mov ecx, number   ; Pointer to the number
          mov edx, 1        ; Number of bytes to write
          int 0x80          ; Call kernel
      
          ; Print newline
          mov eax, 4        ; sys_write system call
          mov ebx, 1        ; File descriptor 1 is stdout
          mov ecx, newline  ; Pointer to the newline character
          mov edx, 1        ; Number of bytes to write
          int 0x80          ; Call kernel
      
          sub ecx, '0'  ; Convert ASCII back to number
          inc ecx        ; Increment the number
          jmp loop_start  ; Jump back to the start of the loop
      
      loop_end:
          ; Exit the program
          mov eax, 1        ; sys_exit system call
          xor ebx, ebx      ; Exit code 0
          int 0x80          ; Call kernel
      

      Here’s FORTRAN

      program iterate_from_one_to_ten
          implicit none
          integer :: i
      
          ! Loop from 1 to 10
          do i = 1, 10
              print *, i
          end do
      end program iterate_from_one_to_ten
      

      Here’s COBOL

      PROGRAM-ID. IterateFromOneToTen.
      
      ENVIRONMENT DIVISION.
      
      DATA DIVISION.
      WORKING-STORAGE SECTION.
          01  WS-Counter PIC 9(2) VALUE 1.
      
      PROCEDURE DIVISION.
          PERFORM VARYING WS-Counter FROM 1 BY 1 UNTIL WS-Counter > 10
              DISPLAY WS-Counter
          END-PERFORM.
      
          STOP RUN.
      
      • @Zangoose@lemmy.world
        link
        fedilink
        1
        edit-2
        6 days ago

        Why does that assembly code use a global variable for a loop value?? It’s also ignoring register conventions (some registers need to be preserved before being modified by a function) which would probably break any codebase you use this in

        • @sp3ctr4l@lemmy.dbzer0.com
          link
          fedilink
          English
          46 days ago

          Because it was generated by an LLM that assumes this one to ten iteration function is the entirety of all of what the code needs to do.