visualizacao de textos em varios alfabetos distintos.4 - Java possui uma API satisfatoriaA API Java traz implementada varias coisas como socket, criptografia, listas, filas, acesso a arquivos e compactadores. Tambem ha uma API para Imagem 2D, Imagem 3D, musica (MP3, Wav e Midi). E muito provavel que um programador antigo em Java nao conheca toda a API e nem e esta a questao. Como a API e padronizada basta ler a documentacao e utilizar as classes que a linguagem ja traz prontas. De toda a API Java, acho que minha paixao e a classe String. Sim, eu era programador C...Nao bastando isto, a API do Java e facilmente extensivel por varios outros componentes e frameworks que complementam a API tornando o trabalho do analista muito mais simples.5 - Java possui frameworks, padroes de projeto e ComponentesA engenharia de software vem propondo solucoes para minimizar o trabalho do analista ja ha um tempo. Padroes de projetos, frameworks e componentes sao exemplos destas propostas. Ha varios exemplos de como implementar padroes de projetos em Java e varios padroes de projeto que foram propostos pensando nesta linguagem. Frameworks Java facilitam a implementacao de sistemas complexos e componentes fazem com que o programador Java possa compartilhar seu conhecimento com toda a comunidade Java. Alguns exemplos:Jakarta StrutsJasperReportsHibernateJakarta VelocityJSFGWTJakarta POILog4JJSTL6 - Java e documentadaA documentacao da linguagem, chamada Javadoc, esta disponivel gratuitamente. E possui um padrao de organizacao estruturada como documento HTML. Os desenvolvedores de frameworks e componentes costumam utilizar este padrao de documentacao para documentar seus codigos. Isto facilita em muito tanto o trabalho em equipe quanto a reutilizacao de codigo de terceiros em outras implementacoes. Alem disto, junto com o compilador Java vem um aplicativo para geracao de JavaDoc do codigo que voce acabou de implementar.7 - Java permite sistemas distribuidosCom a utilizacao de redes de computadores em empresas, sistemas distribuidos se tornam a cada dia mais realidade. Java permite a utilizacao de programacao em redes possuindo implementacoes em sua API nativa para sockets, RMI, CORBA e Webservices. No caso especiifico de CORBA, junto com o compilador Java vem um aplicativo que gera a partir da IDL toda a estrutura de classes para uma aplicacao CORBA.8 - Java integra com Bancos de dadosEu sei que varias linguagens conectam-se com bancos de dados, porem a interface JDBC faz com que a comunicacao com bancos de dados em Java funcionem de maneira homogenea. Alem disto, ha atualmente implementacoes de drivers de banco de dados para Java para a maioria dos bancos comerciais. Inclusive ODBC. Inclusive Access. Inclusive bancos de dados feitos em Java e que nao dependem de servidores. A API JDBC permite a migracao de um sistema de um banco de dados para outro a partir da alteracao de sua conexao. Isto facilita a passagem de uma aplicacao do ambiente de desenvolvimento e testes para o ambiente de producao.9 - Java e multi-threadA multi-programacao em Java e nativa. Toda a API Java baseia-se em comunicacao por eventos e o controle de Threads em Java e simples de ser implementado e bastante eficiente. Toda classe Java possui metodos