I was a Cobol developer before I learned Java. I've developed for over 35 years.
Back in the days of procedural languages, most of the processing was done in batch. Go back far enough in history, and even program compilation was done with a deck of punch cards in batch.
Contrary to Kilian Foth's assertion, we had design patterns back in the 1970's and 1980's. There was a certain way to code a multi-file match/merge in Cobol. There was a certain way to code adding transactions to the master (tape) file in Cobol. There was a certain way to code report generation in Cobol. That's why IBM's Report Writer never really gained traction in a lot of Cobol shops.
There was an early application of the DRY principle. Create lots of paragraphs so you don't repeat yourself. Structured coding techniques were developed in the 1970's and Cobol added structured words (verbs) to the language in 1985.
Generally, when we wrote a new Cobol program, we copied an old Cobol program and changed the names to protect the innocent. We almost never coded a Cobol program from a blank sheet of paper or a blank screen. That's a big design pattern when you can copy and paste entire programs.
There were so many Cobol design patterns that it took years for a Cobol programmer to learn them all. That's one reason that the Cobol programmers today are, for the most part, still using 1985 syntax.