Мой совет, начни с изучения ООП, самая подходящая на мой взгляд для новичка книга -
Мэтт Вайсфельд "Объектно-ориентированное мышление".
![58f09ee940d749e3bd492cbdc713d304.jpg](//habrastorage.org/files/58f/09e/e94/58f09ee940d749e3bd492cbdc713d304.jpg)
После прочтения данной книги, советую определится с языком, на котором собираетесь программировать.
В случае с Java, могу посоветовать очень хорошую книгу, на которую я наткнулся совсем не давно -
Патрик Нимейер, Дэниэл Леук - "Программирование на Java. Исчерпывающие руководство для профессионалов 4-е издание".
![995dbe86401b42bfb6e8b326431cfd25.jpg](//habrastorage.org/files/995/dbe/864/995dbe86401b42bfb6e8b326431cfd25.jpg)
Книга вышла не так давно, я её изучил на половину, на мой взгляд все очень хорошо и доступно описано, листинги из книги можно найти на GitHub, автор очень весело и наглядно описывает все нюансы разработки на Java!