• Back in the Day when we used Punch Cards, Terminals and Teletypes, we would actually create flow charts for how we expected the programs to flow. Then we would write Pseudocode, and step through it several times keeping track of the variables, etc..  Next we would chose the best language to use from what was available PL/1, COBAL, FORTRAN, PASCAL, and my personal favorite Assembly.
    Today most people (myself included) usually sit down and start writing code in the company standard language and keep adding functions till we have it all working, and then we check to see if it works right.