Galera, achei esse post passeando pela internet e achei interessante, ele foi retirado do blog http://flavioschiavoni.blogspot.com/, deem uma lida que vale a pena, e muito bom saber o motivo do porque estamos usando Java ou qualquer outra linguagem de programacao. Este post e o conteudo de uma palestra com o mesmo titulo, 10 razoes porque usar Java. Nao e meu intuito discutir linguagens de programacao, compara-las ou persuadir o leitor a utilizar Java. Java nao e a melhor linguagem de programacao ja inventada pois isto nao existe. Ha apenas razoes pela qual utilizar uma linguagem de programacao ou outra para resolver um determinado problema computacional.Vamos as razoes:1 - Java e gratuitoJava depende de uma JVM, que e gratuita. O programador depende de um compilador e do JDK, que tambem e gratuito. Programadores costumam utilizar IDEs, como o Delphi ou o o Netbeans. Para Java, apesar de haverem IDEs pagas, as duas maiores IDEs do mercado (Eclipse e NetBeans) tambem sao gratuitas. Ha varios frameworks e ferramentas para a implementacao de sistemas em Java, e os mesmos tambem costumam ser gratuitos. A documentacao e gratuita. Servidores sao gratuitos. Drivers de Banco de Dados sao gratuitos.2 - Java e padronizadaA orientacao a objetos do Java ajuda a diminuir a barreira entre um diagrama UML e o codigo Java e permite, inclusive, a geracao de codigos a partir do modelo UML. Sei que muitos programadores estao acostumados a trabalhar com programas de 20.000 linhas de codigo. Ha linguagens que nao permitem a modularizacao. So e muito complicado desenvolver em equipes quando temos apenas um codigo-fonte de 20.000 linhas. A orientacao a objetos comeca a ser justificada quando temos equipes de desenvolvimento. A integracao com ferramentas UML permitem tambem manter a documentacao do sistema atualizada em relacao a implementacao.O mesmo em relacao a propria organizacao do codigo. Os pacotes Java sao diretorios e uma classe estara escrita em um arquivo com o mesmo nome. Isto facilita trabalhar em equipes e desenvolver sistemas maiores. Alem de obrigar a trabalhar com Orientacao a Objetos, Java possui padroes de codigo que sao como convencoes: Classes em maiusculo, metodos e atributos em minusculo e uma letra maiuscula substitui um espaco em branco. Assim, se uma classe tem um atributo nome o acesso a este atributo normalmente e feito pelo metodo getNome().3 - Java e interoperavelA empresa utiliza Windows mas pretende migrar para Linux. O Sistema era desktop mas sera migrado para a web. A equipe de vendas ira utilizar Palmtops. O que fazer? Java. Java e interoperavel, ou seja, funcionar em varias arquiteturas distintas, sistemas operacionais distintos e trabalha com paradigmas de programacao distintos como desktop e web. Na web Java pode ser utilizado no servidor (JSP e Servlets) ou no cliente (Applets). Apesar de haver diferencas para a implementacao (J2EE, J2SE e J2ME), a linguagem e a mesma e o conceito e o mesmo.Indo alem, Java permite tambem uma facilidade para internacionalizacao com a utilizacao nativa de arquivos Properties e definicao automatica de valores financeiros, numericos, de data e texto. Alem disto, a utilizacao de Unicode pode garantir a