Каждый язык имеет свою сферу применения, возможности и ограничения. Даже языки общего применения такие, как С\С++, Java, C#, русский, английский... Определитесь какими проектами собираетесь заниматься (Web-разработка, Настольные приложения, Мобильные приложения, Операционные системы, Низкоуровневое программирование микропроцессоров и т.д. и т.п.). Определитесь с эко-системой в которой предполагаете программировать (Microsoft, Oracle, Google, Apple, ...). И только после этого вы сможете определиться с языком на котором придется(!) программировать. Как показывает практика одним "универсальным" языком все равно не обойтись. Помните, что изучение синтаксиса и грамматики языка это только начало... Если выбирать между Java и Python, то IMHO для обучения программированию лучше выбрать именно Java, как более специфицированный и формально точно определенный язык, для которого найдете много учебников. Мой совет: сначала читайте первоисточники от Sun\Oracle. Откройте Учебник по Java, возьмите IDE NetBeans (это наиболее удачный инструмент для начинающих... на стартовой странице внутри IDE найдете полезные ссылки на различные обучающие материалы), и вперед... Удачи!