Não há dúvidas de que a única melhor maneira de aprender a programar é programando. Porém, existem outras coisas que ajudam muito no aprendizado, e uma delas é ler códigos de bons programadores. Essas duas coisas unidas deveriam ser suficientes para que qualquer pessoa realmente interessada aprendesse a programar. Por isso, professores não só de cursos de ciência da computação mas também de sistema de informação, engenharia da computação entre outros, deveriam incentivar que os alunos programassem e lessem bons códigos, mas infelizmente isso nem sempre acontece.
Os laboratórios das faculdades rodam sistemas operacionais proprietários, os professores indicam e incentivam o uso de compiladores, máquinas virtuais, IDEs de programação e muitas outras coisas proprietárias. Empresas como a Oracle e a Microsoft oferecem gratuitamente palestras, licenças de seus produtos entre outras coisas para os alunos, e a faculdade acha isso legal, mas será que esses produtos de código fechado, ajudam no aprendizado do aluno?
Responder sim para essa pergunta seria no mínimo uma hipocrisia, pelo simples fato de que não se pode aprender sobre algo que ninguém além do próprio desenvolvedor conhece
Por sorte dos alunos (e minha, já que sou um deles), muitas ferramentas que são padrões de mercado são também livres, exemplos disso são o Eclipse e o Netbeans (IDEs de programação largamente utilizadas nas faculdades), e está ai a única chance dos alunos conseguirem tirar proveito de algum código bem escrito, porque se depender dos professores (ou do colegiado como um todo), apenas o que é “padrão” de mercado será utilizado não importando se isso ajudará no aprendizado ou não.

