Han ble født i Glasgow i Lanarkshire i Skottland, og var sønnen til en skotsk prest. Han vokste opp i det skotske høylandet og gikk på skole ved Hillhead High School i Glasgow. I 1941 gikk han som 18-åring inn i Royal Navy og tjenestegjorde i to og et halvt år som torpedomann på en krysser. Hans opplevelser i de arktiske konvoiene skulle gi verdifullt materiale til flere av bøkene hans, blant annet «Ulysses», der handlingen er lagt til en krysser på vei til Murmansk.