COBOL was designed to be a human readable language that could be used by people with business degrees to develop programs (which is part of the reason that it's so prevalent in financial systems even to this day) without needing to literally understand how a CPU works. If you're moderately intelligent you can probably read and understand some parts of a COBOL program even if you're not a programmer. Here's some example COBOL code from an article about it.
Code:
COMPUTE-GROSS-PAY.
IF HOURS-WORKED > 40 THEN
MULTIPLY PAY-RATE BY 1.5 GIVING OVERTIME-RATE
MOVE 40 TO REGULAR-HOURS
SUBTRACT 40 FROM HOURS-WORKED GIVING OVERTIME-HOURS
MULTIPLY REGULAR-HOURS BY PAY-RATE GIVING REGULAR-PAY
MULTIPLY OVERTIME-HOURS BY OVERTIME-RATE GIVING OVERTIME-PAY
ADD REGULAR-PAY TO OVERTIME-PAY GIVING GROSS-PAY
ELSE
MULTIPLY HOURS-WORKED BY PAY-RATE GIVING GROSS-PAY
END-IF
.
The hard part for a large COBOL program isn't understanding the code, but rather all of the business logic behind the code, which is likely not documented well. This example is easy enough to anyone who has worked an hourly job, or at least it makes sense to me and I've never looked at COBOL code before in my life.
Meanwhile here's some example code for an NES game that someone made. Maybe without enough time I could come to understand what the fuck any of that does, but I have a newfound appreciation for the poor Japanese bastards that made Super Mario and why it's probably impossible for anyone to make a game that even more autistic speed runners can't find ways to exploit.
Code:
play_a220:
pha
lda #%10011111
sta SQ1_VOL
lda #%11111011
sta SQ1_LO
lda #%11111001
sta SQ1_HI
pla
rts