macs sem dúvida aprenda primeiro Java. Não apenas a sintaxe, mas principalmente orientação a objetos, os padrões de projetos, boas práticas de programação e etc. Aprendendo bem os conceitos, o resto fica tranquilo (até mesmo quando você tem que testar N frameworks para identificar qual o melhor para o seu problema). O JSF nada mais é que um framework MVC. Irá te ajudar na parte de VIEW e controller, mas as regras de negócio continuaram sendo JAVA e ai você vai precisar ter um bom conhecimento na linguagem.
maxguzenski Discordo de você. É claro que se a pessoa usar o framework X,Y,Z, vai acabar aprendendo na necessidade a linguagem de programação, porém no meu ponto de vista, irá aprender de uma forma bem mais dolorosa e menos produtiva. O Luca aqui do GUJ mesmo deu um depoimento que tentou começar com Ruby através do Rails e se arrependeu. Eu por exemplo dei uma lida rápida em Ruby antes de ir para o Rails. Confesso que estudando o Rails eu aprendi Ruby, mas depois que terminei de ler o livro sobre Rails, sabe o que eu fiz? Comprei um livro específico só de Ruby para aprender , de fato, Ruby direito. E posso te garantir que foi a melhor coisa que eu fiz até agora 
ps: O livro que eu comprei foi o “The Ruby Programming Language by David Flanagan; Yukihiro Matsumoto”. Livro excelente para quem já tem uma base de Ruby