> ... I strongly suspect that directly writing machine code and/or assembly was still common practice throughout the entire 1950s ...
It depends on what type of programming was being done. What we now call "kernels" and "device drivers" were largely authored in assembly languages well into the 80's (depending on the machine).
> I wonder what year Fortran overtook assembly and became the most popular programming language during that era?
Fortran got its name from "formula translator" (or equivalent, depending the source), so it quickly gained traction in the scientific/mathematics domain. As an aside, there are variants of BASIC which have much of the semantic mathematical capabilities of Fortran yet with better I/O support IMHO. None come close in performance AFAIK.
> I suspect it was well after COBOL came out.
COBOL took off in the business world, as it was intended to do, and remains prevalent in at least the insurance and banking industries to this day.
> ... I was able to find that C was released in 1972, but took until 1982 to overtake Fortran, and until 1985 to overtake Pascal.
K&R C was viewed by many as "portable assembly code", with Unix helping it to gain acceptance. ANSII C largely replaced use of K&R C in the late 80's.
Depending on the OS, a small amount of "shim code" remained in assembly (such as interrupt handlers and MMU interaction) up to most of the OS being written in assembly well into the late 80's.
This is all to say that:
> ... directly writing machine code and/or assembly was still common practice throughout the entire 1950s
Is still common practice in OS development, albeit to a lesser degree, if directly writing machine code is omitted.
HTH