As a new physics graduate student I had only written small programs in BASIC. Since my research group used Fortran 77, I self-taught from the book "Fortran 77: With Numerical Methods for Engineers and Scientists" (1992) by D. M. Etter. Later I learned Python from some O'Reilly books.