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
    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.