Aqui tem um topico semelhante. O que acontece é que com as atualizações do java, alguns objetos vão se tornando obsoletos, pois eles criam melhores, por isso da o Warning, mas não da erro, você consegue utilizar dessa maneira, mas é recomendado usar a nova, pois você já começa a aprender desatualizado.
O @ManagedBean foi descontinuado, o melhor é usar @Named do CDI.
Se você utiliza glassfish, o CDI ja vem junto, basta criar um arquivo chamado beans.xml no WEB-INF e colocar o seguinte código nele:
Porque o @ManagedBean faz parte do JSF, além do que, quando surgiu o JSF não existia @Named
Quando o JSF surgiu, o mapeamento era feito através de xml, depois com a anotação @ManagedBean(versão 2.0) e hoje em dia é recomendado usar o @Named