Sabemos que na área científica (física, matemática, metereologia, ciências econômicas,…) as linguagens mais utilizadas são procedurais. Porque isso? Porque não mudar? Para métodos numéricos por exemplo? Por não usar orientação a objetos?
Como vocês fariam para convencer profissionais de outras áreas a largar o Fortran 77, C dele para usar Java ou C++ só por serem linguagens orientadas a objetos? Lembrando que a implementação desses métodos tem requisitos diferentes da maioria dos sistemas comerciais. Por exemplo, após implementar um determinado método numérico dificilmente darei a ele novas funcionalidades…
Essa é uma questão que sempre discuto com meus amigos, gostaria de ver a opnião de vocês.
Nas áreas científicas o Fortran é usado há muitos anos e muito antes de se inventar OOP. O Fortran trata os números de maneira melhor do que C padrão ou de qualquer outra linguagem não especializada como Fortran. As CPUs CISC tipo padrão Intel oriundas do 80x86 e seguidores, possuem no seu coprocessador aritmético, registradores de 80 bits com instruções especiais de acesso e de aritmética que o Fortran usa com muita habilidade e que outras linguagens nem dão bola. Com o enorme legado já pronto e pelas vantagens citadas, era dificil convencer alguém a converter seu sistema de Fortran para C, C++ ou Java.
Muitas aplicações científicas mais recentes já foram desenvolvidas em C usando as opções de otimização que permitiam aproveitamento do coprocessador aritmético da CPU. Sei de alguma coisa feita em C++. Mas em Java sei de pouca coisa até porque o Java não é muito esperto nesta área. Eu mesmo tenho um sistema de análise não linear de estruturas suportadas por cabos (estruturas estaiadas) que gostaria de converter para Java. Não o faço porque ninguém me paga por isto, os usuários a usam em Fortran mesmo.