Ultimamente (mais ou menos um ano), venho aprendendo pelo método de Aprendizagem Baseada em Projetos (PBL): É uma metodologia de aprendizado em que você desenvolve habilidades práticas e conhecimentos teóricos resolvendo problemas do mundo real. Eu pego uma base primeiro de tudo que eu preciso, vejo tutoriais, documentação, etc., e depois vou para algum projeto. Então, basicamente, é aprender novas linguagens de programação enquanto resolve desafios que vão incrementar no portfólio!

Excelente método, é bom por que com casos reais de uso você tem a sensação que tem conhecimento pleno do assunto.