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