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?

    • sp3ctr4l@lemmy.dbzer0.com
      link
      fedilink
      English
      arrow-up
      3
      ·
      2 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
        arrow-up
        1
        ·
        edit-2
        2 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
          arrow-up
          4
          ·
          2 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.