https://www.techrepublic.com/article/learning-programming-languages-for-free-githubs-best-guides-for-java-developers/