Java e outras linguagens! Quando utilizar!

Publicado também no JavaFree

Saudações a todos, tentarei ser o mais claro possível.

Sou acadêmico de sistemas de informação e aprendi a programar na faculdade.
Tive noções de programação estruturada usando como ferramentas Pascal e Delphi, também aprendi programação Orientada a Objetos usando a linguagem Java.

Quando comecei a aprender java tinha algumas dificuldades, mas aos poucos fui criando gosto pela linguagem.

E acabei tentando aprender mais sobre java, e deixando outras linguagens para trás como Python, C, C++, PHP etc.

Pelo que noto é possivel fazer praticamente tudo em Java, mas muitas vezes eu poderia utilizar linguagens mais simples, como PHP para criar um formulario de email ou um chat.

Outra coisa que vejo, é que java não é interessante para aplicações desktop por ser muito pesado (me corrijam se estiver errado) ou as vezes o próprio uso do Tomcat como servidor de um formulario de livro de visitas feito em JSP pode se tornar desnecessário.

Mas por acreditar que Java faz praticamente tudo acredito que consigo manter um padrão nas aplicações.

Gostaria da opinião de vocês se seria interessante investir somente em Java e me especializar nessa linguagem, ou aprender outras linguagens e dependedo do caso, usar Java ou não.

Aproveito e pergunto a vocês, em que situações vocês não utilizariam java e usariam outra linguagem.

Espero ter sido bastante claro e conseguir trocar algumas idéias.

Delphi não é OO tb ?? (Object Pascal)

O novo java 1.5 melhorou muito em termos de velocidade e aparencia default do swing, mas voce pode optar por solucções alternativas como o swt por exemplo

Invista, pois não é dinheiro jogado fora … ao contrario … é melhor comprar um livro de java hoje do que um de C++

Não usaria java para programação de acesso direto a hardware e implementação de device drivers :stuck_out_tongue:

denisbr,
como java é uma tecnologia de ponta-à-ponta acho que a longo prazo vale mais a pena investir nela. A não ser que vc deseje ser um programador de site de cadastro de usuários para o resto da vida… nesse caso, o php resolve o seu problema.
Mas como vc faz curso superior, acho que não é o caso.
Ou então se vc vai se dedicar a programação de baixissimo nível, com acesso direto a hardware, como o Fernando já comentou. Aí vale a pena se dedicar a C/C++ por exemplo.
Espero ter colaborado para te esclarecer.

Java é uma linguagem que cresce muito, e por ela ter tido o apoio de grandes empresas como a Oracle e a IBM, fez também ela se tornar a mais popular para aplicações coorporativas da atualidade.

Outro fator do seu sucesso é sua imensa portabilidade, praticamente é possível escrever uma aplicação grande e ela se tornará completamente portável ou apenas pequenos ajustes serão necessários para se tornar 100% portável.

Acredito eu que para muitas aplicações é possível usar Java. Java tem a lenda de ser uma péssima linguagem para desktop, e isso é mentira, existem hoje até grandes ferramentas e aplicativos feitos em swing e com uma qualidade final ótima. Na versão 1.5 o swing se tornou mais robusto, mais bonito e mais leve, e isso foi muito bom. Realmente não se pode comparar a nível de facilidade trabalhar com swing ou desenvolver uma GUI em Delphi ou VB, mas é naturalmente possível criar aplicações desktop com Java.

Java só não será recomendável para aplicações que você precisa se amarrar mais ao hardware e arquitetura que deseja trabalhar, mesmo assim até jogos o Java é possível de fazer ( e não falo aqueles joguinhos toscos de celular).

Bom é isso ae!

[quote=Grinvon]
Java só não será recomendável para aplicações que você precisa se amarrar mais ao hardware e arquitetura que deseja trabalhar, mesmo assim até jogos o Java é possível de fazer ( e não falo aqueles joguinhos toscos de celular).
Bom é isso ae![/quote]

Concordo que da pra fazer, mas agora falo como um profissional de desenvolvimento de Games :D, java ainda não tem todas as possibilidades de interação com hardware (Placa de video 3d e Som) como um jogo desenvolvido em OpenGL, com uma otimização para Nvidia por exemplo como é o caso do Unreal Tournamment.

É, mas se eu não quiser criar classes, posso criar rotinas soltas, mesmo assim eu acho estranho ele ter usado Delphi pra isso.