You can always use freemium platforms to learn how to code. That can expand from Java up to whatever language the website has available. However, I believe reading programming from books is not as beneficial as it was back in the day, since now you have all this equipment to do it practically.