Java como primeira linguagem e Ônibus Espacial como primeiro avião.

Hoje Marcelo falou num artigo que saiu no Lambda the Ultimate sobre a situação dos currículos nos cursos de computação (mais especificamente, ciência da computação – CC). Entre algumas tendências notadas pelos autores:

  1. O papel da matemática nos cursos de CC está diminuindo .
  2. O desenvolvimento de habilidades em vários tipos de linguagens está sendo substituído pelo uso de grandes bibliotecas e pacotes específicos.
  3. O conjunto de habilidades resultantes é insuficiente (em termos de segurança e proteção) mas fica no nível das indústrias de outsourcing. Traduzindo: estão formando profissionais facilmente substituíveis.

Outro parágrafo que me chamou a atenção, sobre o uso de Java como primeira linguagem (livre tradução):

Vamos propor o seguinte princípio: A beleza irresistível da programação consiste em reduzir processos complexos em blocos muito pequenos de operações primitivas. Java, ao invés de expor essa beleza, encoraja o programador a abordar a solução de problemas como um mecânico numa loja de ferramentas: Revirando uma infinidade de gavetas (pacotes) vamos acabar achando alguma ferramenta (classe) que faz aproximadamente o que queremos. Como ela faz não importa. O resultado é um estudante que sabe como criar um programa simples mas não sabe programar. Um problema maior do uso logo cedo de bibliotecas Java e frameworks é que é impossível para o estudante desenvolver um senso de custo de execução do que está escrito porque é extremamente difícil saber o que cada chamada de método vai eventualmente ser executado.

Não querendo entrar na briga de que linguagem é melhor ou não, mas pelo menos na questão de ser ou não a primeira linguagem. Pela minha experiência (Comecei com Java na faculdade e hoje passo a maior parte do tempo com C e Python), concordo plenamente.

Anúncios

Experiência: Python para pessoas de ciências sociais/humanas

Hoje estava conversando com minha namorada e ela perguntou se eu tinha alguma idéia de curso ou hobby para ela. Brincando falei sobre aprender a programar e para minha surpresa, ela gostou da idéia.

Então, o desafio é apresentar Python (creio que seja a melhor linguagem para a tarefa) a alguém sem nenhuma experiência na área de exatas. Por enquanto, estou pensando em tentar seguir um pouco da linha do Aprendendo Python (Muito bom por sinal). Alguma sugestão?