Non-smooth analysis, optimisation theory and Banach space theory