Você está na página 1de 3

Objetivos

• Avaliar que linguagem de programação é


Java versus Delphi mais adequada para projetos específicos em
ou Java versus Visual Basic
ou Java versus Visual C++ uma determinada empresa.

Sérgio Soares
sergio@dei.unicap.br
Baseado em material do CIn-UFPE

Aspectos Técnicos Portabilidade


• Portabilidade e Redução de Custos • Em tese, Java é portável e independente de
• Reusabilidade e Produtividade plataforma, proporcionando redução de
• Ambientes de Desenvolvimento custos com migração, instalação,
treinamento, etc.
• Arquitetura das Aplicações
• Na prática, ainda é necessário depurar
• Eficiência programas antes de migrar para outra
• Linguagem de Programação plataforma

Portabilidade Reusabilidade
• Mas é muito mais fácil migrar sistemas • Delphi oferece bem mais componentes
desenvolvidos em Java do que em outras reusáveis (ActiveX), proporcionando maior
linguagens produtividade
• E toda a arquitetura para portabilidade está • Java Beans pode mudar o cenário a médio
pronta, é só uma questão de tempo... (2 prazo...
anos?) – maior produtividade e portabilidade
• Maior rival: Microsoft! Visual J++, J-Direct
Reusabilidade Ambientes de Desenvolvimento
• Delphi favorece um estilo de programação • Delphi é mais maduro e estável do que os
que pode dificultar reuso de código, além de ambientes disponíveis para Java
comprometer confiabilidade e • Alguns ambientes para Java estão atingindo
extensibilidade o mesmo nível
• E componentes ActiveX podem ser usados • Várias alternativas para Java: Visual Café,
para desenvolver programas Java também: JBuilder, Java Workshop, J++, Visual Age
maior produtividade que Delphi caso opte-se for Java, ...
por comprometer portabilidade!

Eficiência de Execução Arquitetura da Aplicação


• Java oferece alternativas, compromissos • Desenvolvimento de aplicações distribuídas
• Código do cliente pode ser interpretado e cliente-servidor de várias camadas
– compiladores JIT aumentam performance • Java oferece a opção dos clientes serem
– independência de plataforma, cliente universal carregados pela rede (código móvel), e
– código móvel, carregado pela rede, evitando serem executados em várias plataformas:
instalações, conflito entre versões, etc. – essencial para administrar a distribuição de
• Código do servidor pode ser compilado sistemas para um grande número de usuários
para código de máquina
– performance um pouco pior do que C++

Linguagem de Programação Linguagem de Programação


• Evolução por remendos: Turbo Pascal, • Java é bem projetada, sem remendos, e
Pascal OO, Delphi 1, Delphi 2, Delphi 3, integra de forma consistente vários
Delphi 4, ... avanços na área de linguagens
– incompatibilidades entre versões (até – tipos fortes, coleta de lixo, ausência de
manipulação de strings!) ponteiros, robustez, etc.
– inconsistências entre paradigmas (OO versus – grande impacto em produtividade
imperativo)
Aspectos Sociais Aspectos Econômicos
Em uma empresa típica... • Java é implementada por vários fabricantes
• Vários programadores foram treinados a e disponível em várias plataformas
usar Delphi, e há alguns gurus
• Por não ter base de OO, programadores • Delphi é implementada por apenas um
antigos acham mais fácil aprender Delphi
fabricante (com foco em ferramentas) e
• Novos programadores são formados em OO disponível para poucas plataformas
• Programadores querem aprender e usar Java
na prática!

Aspectos Econômicos Aspectos Comerciais


• Borland, e agora Inprise não tem boa • Novos diferenciais de mercado dependentes
reputação no mercado: não continuidade de de segurança, robustez e portabilidade:
produtos – comércio eletrônico
• Delphi ainda tem mais adeptos em alguns – serviços e sistemas de informação
lugares, mas tendências da indústria de disponibilizados via Internet e WWW
software mostram claramente que Java veio – Java devices; smart cards and appliances;
para ficar wearable computers!

Resumo
• Java está pronta para ser usada na prática!
• Java leva vantagem em relação a Delphi nos
seguintes aspectos: portabilidade,
reusabilidade, extensibilidade, robustez,
econômicos e comerciais
• Delphi leva vantagem em relação a Java nos
seguintes aspectos: produtividade, ambiente
de desenvolvimento, sociais

Você também pode gostar