Preciso de dicas para começar 2018

Bom dia pessoal, eu dei uma pesquisada e não sei se estou criando algo que já foi feito, sou novo no Forum e não obtive sucesso em achar o que eu procuro…
Começando que eu aprendi o básico de LUA quando eu tinha 13anos, o básico de banco de dados e o básico em lógica de programação criando servidores de Tíbia, agora quero migrar pra algo totalmente diferente, eu sou apaixonado em Códigos, Lógica e coisas que façam nosso cérebro esquentar! Eu quero aprender Java e sua famosa orientação a objetos, minha dúvida é a seguinte:
Agora no ano de 2018 com o Java10 e a possível descontinuação de versões anteriores… o que eu posso ler para ter a base, o intermédio e o avançado, seguindo assim eu farei cada etapa com paciência, muita leitura e tentarei praticar as programações indicadas ou criadas na minha cabeça para ser útil para o desenvolvimento humano!
Bom pessoal, espero que entendam minha pergunta e que esteja organizada, desde já agradeço a todos que puderem me dar um help nisso!

Programação Orientada a Objetos não é do Java.
Entretanto Java é uma das linguagens que você pode utilizar para POO.

Algoritmos, lógica de programação, programação orientada a objetos.
Se for escolher Java, não faça como muitos que simplesmente instalam um IDE e saem arrastando componentes visuais pois dessa forma você não aprende, apenas cria barreiras e vícios em más práticas de programação.

2 curtidas

Tranquilo, eu estou bem fluente na logica de programação do VisualG que usei para aprender esta parte e fazer tudo organizado para manter o código bem fácil de entender, eu quero aprender a linguagem Java, pois sua evolução com certeza é contínua e eu vejo alguns projetos que num futuro não tão próximo vou poder usá-la para projetos essenciais!
O senhor poderia me indicar livros para introduzir esta linguagem e suas respectivas evoluções, Ex: Base, Intermédio e Avançado?

Lembrando que não quero aprender nada como arrastar imagens ou algo do tipo rs, quero aprender a escrever códigos, saber como funcionam, saber como posso aplicar e onde, após isso posso aprender algum tipo de interface ou aprender a criar as minhas interfaces para funcionarem de acordo com o que o usuário desejar!]

Obrigado