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.


  1. Lembra da dificuldade do povo lá no CIn pra absorver a idéia de main loop numa aplicação com GUI? Java abstrai isso de uma forma tão esotérica que nem lembro como era, acho que na verdade *não* era.
    Acho que o próximo passo vai ser programar com bloquinhos de Lego. “Professoraaaa, Fulano não quer me dar o while que tá com ele.”
    Pensando bem, se alguém patentear “método de iteração com duração definida por condição explicitada por usuário”, isso pode muito bem acontecer. ><

  2. Primeiramente gostaria de parabeniza-lo pelo excelente artigo e dizer que concordo com o Marcelo, eu por exemplo vi Java na faculdade em um período, não deu para pegar nada, ainda bem que DEUS fez com que eu me deparasse com o PYTHON, GRAÇAS A DEUS!!!!

  3. Concordo totalmente.
    Eu sempre me espanto como as pessoas não tem mais a noção de como implementar algoritmos, mas sim apenas de montar aplicações apartir de blocos.
    Da mesma forma, as pessoas perderam a noção de que 1 kilobyte é coisa pra chuchu. Tudo em nome da “boa engenharia de software”.

  4. Gostei desse post =)
    engenharia de software (java programers) é o que a maioria das pessoas querem ser especialistas hj, usar framework tal pq implementa um padrão de projeto tal, usar framework tal pq facilita usar o padrão de arquitetura tal, coloca uma tuia de framework pra fazer cadastro em bd. vai dizer que não precisa disso tudo pra um cabloco desse pra vc ver =)

    abraços de um não adepto ao python ainda =)

    Fabiano Arruda (Nazaré da Mata)


Deixe uma resposta

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s