Você está na página 1de 2

UNIVERSIDADE FEDERAL DA BAHIA Instituto de Matemtica Departamento de Cincia da Computao

MATA56 - PARADIGMAS DE LINGUAGENS DE PROGRAMAO Prof. Manoel Gomes de Mendonca Neto Aluno: Lucas Augusto Santana Pinto

Os Perigos das Escolas Java


Ao longo do tempo a programao vem se tornando cada vez mais facilitadas atravs de novas ferramentas e recursos modernos. Antigamente usava-se muito a linguagem C, hoje Java a linguagem mais utilizada por programadores. No h nada de errado em se utilizar Java, e apesar de haver coisas erradas com essa linguagem esse no esse o tema principal neste artigo. Java no , geralmente, uma linguagem de programao boa o suficiente para que ele possa ser usado para diferenciar entre grandes programadores e programadores medocres. H duas coisas ensinadas em cincias da computao que muitas pessoas simplesmente nunca compreendem plenamente: ponteiros e recurso. Muitos desistiram ao se deparar com ponteiros por achar difcil, o que era bom, pois se no pode lidar com ponteiros imagina ento com coisas mais difceis que viriam frente. O outro curso difcil para muitos jovens estudantes cincias da computao foi o curso que voc aprendeu de programao funcional, incluindo a programao recursiva. A dificuldade destes cursos surpreendente. O material era muito difcil. a que reside o debate. Graduandos preguiosos em cincias da computao, combinadas com reclamaes da indstria sobre como se formar em cincias da computao poucos esto se formando a partir de universidades americanas. Na ltima dcada um grande nmero de escolas foram 100% para Java. No h nada difcil o suficiente sobre Java para realmente eliminar os programadores, portanto, a taxa de abandono so mais baixas, e os departamentos de cincia da computao tem mais alunos e oramentos maiores, e est tudo bem. Estudantes das Escolas Java tero dificuldades de implementaes e de aprendizado mais aprofundado, deixando de treinar sua mente e seu raciocnio lgico. Programao com ponteiros no muito necessria e a programao funcional no muito usado na prtica, apesar de muito importante para alguns dos trabalhos.

UNIVERSIDADE FEDERAL DA BAHIA Instituto de Matemtica Departamento de Cincia da Computao

Por exemplo, sem ponteiros, voc nunca ser capaz de trabalhar no kernel do Linux, da mesma forma q a programao funcional importante para certos trabalhos. Ponteiros e recurso exigem uma certa habilidade de raciocinar, de pensar em abstraes, e, mais importante, para ver um problema em vrios nveis de abstrao simultaneamente. E assim, a capacidade de entender os ponteiros e recurso est diretamente relacionada com a capacidade de ser um grande programador. As escolas 100% Java comearam produzindo um bom nmero de diplomados e poucos que so realmente inteligentes o suficiente para trabalhar como programadores. Escolas Java deixam de treinar o crebro de crianas a ser adepto, gil e flexvel o suficiente para fazer um bom trabalho. Voc precisa de treinamento para pensar em coisas em mltiplos nveis de abstrao simultaneamente. Programao orientada a objeto (OO) no um bom substituto para os ponteiros e recurso, no elimina os programadores medocres, ela consiste principalmente de memorizar um monte de termos do vocabulrio como "encapsulamento" e "herana". J quando se lida com ponteiros o programador forado a sua mente para trabalhar em dois nveis diferentes de abstrao simultaneamente. Discusses se Java era simples o suficiente para usar como lngua de ensino foram realizadas. Como que algum deveria aprender alguma coisa se o currculo foi cuidadosamente projetado para tornar tudo mais fcil do que j ? Com o intuito de ter mais tempo para ensinar conceitos atuais de Cincias da Computao, as suas aulas tendem a se tornar menos produtiva e menos enriquecedoras de conhecimentos que realmente tornam os alunos bons programadores. Pela falta de conhecimentos bsicos e de conhecimentos mais especializados oferecidos pelas Escolas Java, estudantes de Cincias da Computao saem da faculdade com baixa qualidade, necessitando especializao.

Fonte:
http://www.joelonsoftware.com/articles/ThePerilsofJavaSchools.html