Java pode ou vai acabar?

Poxa é bom ver os comentários de galera experiente …
Tenho em minha cabeça aquela fissura em saber tecnologia para ganhar dindin … No entanto me preparo para tirar certificações …
Achava que pegando esse caminho conseguiria ser um profissional manda-chuva no mercado …
Agora mesmo já estou pesquisando alguns assuntos aqui tratados que nem sabia o que era …
Já estava pesquisando, não somente para começar estudar a respeito. Mas porque alguns dos comentários nem entendia muito bem.
Ano de 2008 estarei mais de olho nos blogs …
Valeu

[quote=cmilfont][quote=Thiagosc]
Tanto C, C++, Java, Ruby, etc, todos já nasceram obsoletos por causa do Lisp.
[/quote]

Porque Java e C++ nasceram obsoletos por causa do Lisp?[/quote]

Porque Lisp é muito mais flexível que Java e C++, especialmente no que se refere a criação de dsls.

[quote=Maurício Linhares][quote=cmilfont][quote=Thiagosc]
Tanto C, C++, Java, Ruby, etc, todos já nasceram obsoletos por causa do Lisp.
[/quote]

Porque Java e C++ nasceram obsoletos por causa do Lisp?[/quote]

Porque Lisp é muito mais flexível que Java e C++, especialmente no que se refere a criação de dsls.[/quote]

Provavelmente o maior propagandista do Lisp é o Paul Graham, um cara que ficou rico escrevendo um “shopping virtual” em Common Lisp nos primórdios da Internet. Ele provavelmente foi o primeiro a constatar que sempre que uma linguagem nova se torna popular, é porque ela acrescenta algo que o Lisp tem a uma linguagem consolidada

C++ adiciona um sistema de objetos a C.
Java adiciona uma virtual machine com garbage collection a C++.
Ruby adiciona blocos de código como tipos a Java.

PQ AS PESSOAS SEMPRE DAO ATENCAO PARA ESSE TIPO DE TOPICO

sempre que alguem cria um topico assim
como varios as pessoas entram para falar o que alguem ja flw

aff

Fez muito mais do que isso. Deu um choque de KISS em C++. Abstraiu toda a complexidade e fez uma coisa difícil ficar simples.

É, o conhecido Viaweb, liberado em agosto de 1995, que segundo Paul foi a primeira web-based application construída. Porém ele deixa claro que ele não tem certeza se foi mesmo a primeira aplicação e deixa a questão em aberto para que se alguém conhecer alguma aplicação mais antiga que a dele (também baseado em conteúdo dinâmico), que o avise por e-mail =))

saoj, tem termos de alta-disponibilidade e concorrência quem dá o show é o erlang…tem sistemas escritos em erlang que estão rodando há 5 anos sem cair :XD:

T+

Eu nunca dei uma olhada na STL do C++, mas me digam: a documentação da STL é parecida com a do Java? É raro achar uma documentação tão bem feita quanto a do Java, mantida pela Sun (é?).

A documentação da STL é excelente se você usar uma das implementações comerciais, ou então a documentação da SGI/HP que também é ótima. O Java é bem documentado apenas para alguns pacotes, o resto é um zona. A documentação para JNDI, swing ou awt são pobres, por exemplo.

O importante é o mérito das coisas, e o objetivo delas.

A linguagem C se tornou super popular por ser muito simples (comparada com assembly),
C, C++ veio para fazer sistemas operacionais para possibilitar que as pessoas usassem o computador.
O problema na época era ter um sistema independente do hardware pois comandos assembly
são diferentes dependendo do processador, etc.

Depois que resolveram o problema de ter sistemas operacionais independentes do hardware
surgiu outro problema, pois o primeiro foi solucionado muito bem criaram vários sistemas operacionais
DOS, Mac, Linux, Unix, etc.
Ah windows é um também…
Surge o problema de que os sofwares são dependentes de SO, e então surge o Java.
Orientação a Objetos não é um diferencial, pois a maior parte das linguagens são OO.
E (fugindo ao assunto: o padrão MVC é meio parecido com o paradigma estruturado onde dados e funções são tratados separadamente digo PARECIDO)
Tratamento de Threads, isso é um diferencial, mesmo dando para fazer em C, C++ (não tentem fazer em casa) não é nada prático.

Pontos fracos, em desktop consome muita memória, digo isso em relação a programas compilados e feitos com linguagens “ultrapassadas?”(Clipper Delph) os PDV de lojas normalmente usam micros também “ultrapassados?”, mas que dão conta do recado.

Mas porém Java poderá ser compilado por padrão (Alguém me disse que é possível, mas não default) pela JVM, ou seja, mantém a portabilidade e ganha performance.

A linguagem morre quando o dono mata Ex.: ASP.

Se o código é livre, não há donos ela não pode morrer por esse motivo.

Pode ocorrer uma substituição
se houver uma linguagem que faz TUDO o que a outra faz e mais alguma coisa relevante então de fato a antiga vai acabando.
Porém qual o motivo de alguém gerar uma linguagem toda do zero para fazer tudo o que a outra faz se a primeira é Livre?

Python foi feita para lecionar, por isso a identação do código é obrigatória.

Só pegando um ponto:

[quote=fabioissamu]Pontos fracos, em desktop consome muita memória, digo isso em relação a programas compilados e feitos com linguagens “ultrapassadas?”(Clipper Delph) os PDV de lojas normalmente usam micros também “ultrapassados?”, mas que dão conta do recado.

Mas porém Java poderá ser compilado por padrão (Alguém me disse que é possível, mas não default) pela JVM, ou seja, mantém a portabilidade e ganha performance.[/quote]

Java roda muito bem em PDV. Uma aplicação desktop complexa vai ter um footprint de memória de uns 40 a 80 MB, que qualquer micrinho que rode Windows 95 comporta. Um Eclipse cheio de plugins vai passar dos 200MB, mas ele é um caso especial.

[quote=saoj][quote]
Java adiciona uma virtual machine com garbage collection a C++.
[/quote]

Fez muito mais do que isso. Deu um choque de KISS em C++. Abstraiu toda a complexidade e fez uma coisa difícil ficar simples.
[/quote]

Ok, eu admito que fui simplista. Entre outras coisas, Java trocou ponteiros por referências (semelhantes às do Lisp) e disponibilizou uma enorme biblioteca padrão (como o Common Lisp tinha, mas mais adequada às necessidades dos programas da virada do milênio).

[quote=rubinelli]

Java roda muito bem em PDV. Uma aplicação desktop complexa vai ter um footprint de memória de uns 40 a 80 MB, que qualquer micrinho que rode Windows 95 comporta. Um Eclipse cheio de plugins vai passar dos 200MB, mas ele é um caso especial.[/quote]

Aqueles micrinhos que vem com 32 de ram, vc diz? Java até que presta para escrever aplicações GUI comerciais, porém para escrever aplicações para desktop, que precisa se integrar com o ambiente, é um fracasso.

louds,

o que você quis dizer com “sistema que precise integrar com o ambiente”?

O que seria melhor pra isso? C++? RoR?

Mais ou menos. Aplicações portáveis e VMs já existiam, Java apenas foi amplamente divulgada.

MVC não separa funcões e dados.

Padrão não é o default? Leia sobre JIT, a JVM já faz isso automaticamente há muitas versões.

Diga isso para as centenas de empresa que ainda dão manutenção em ASP e VB6.

[quote=fabioissamu]
Python foi feita para lecionar, por isso a identação do código é obrigatória.[/quote]

?

[quote=dedejava]louds,

o que você quis dizer com “sistema que precise integrar com o ambiente”?

O que seria melhor pra isso? C++? RoR?[/quote]

No OSX, por exemplo, integrar com o spotlight/quicksilver e com o growl, usar APIs nativas como o cocoa, core graphics, animations, etc.
No gnone, usar DBUS, gtk+, gnome-vfs, gnome-lib e por ai vai.

Nesse caso não consigo imaginar qual a utilidade do RoR, já que é um framework p/ desenvolvimento web.

[quote=louds][quote=rubinelli]

Java roda muito bem em PDV. Uma aplicação desktop complexa vai ter um footprint de memória de uns 40 a 80 MB, que qualquer micrinho que rode Windows 95 comporta. Um Eclipse cheio de plugins vai passar dos 200MB, mas ele é um caso especial.[/quote]

Aqueles micrinhos que vem com 32 de ram, vc diz? Java até que presta para escrever aplicações GUI comerciais, porém para escrever aplicações para desktop, que precisa se integrar com o ambiente, é um fracasso.[/quote]

Acho que fracasso não seja a palavra adequada, visto que o Java não foi feito para se integrar com o ambiente, concorda? Se você quer se integrar ao ambiente, use algo específico! Fracasso é quando você tenta fazer alguma coisa e não consegue e o Java em si não tenta se integrar ao ambiente para desenvolvimento de aplicações GUI, estou errado?

[quote=louds][quote=dedejava]louds,

o que você quis dizer com “sistema que precise integrar com o ambiente”?

O que seria melhor pra isso? C++? RoR?[/quote]

No OSX, por exemplo, integrar com o spotlight/quicksilver e com o growl, usar APIs nativas como o cocoa, core graphics, animations, etc.
No gnone, usar DBUS, gtk+, gnome-vfs, gnome-lib e por ai vai.

Nesse caso não consigo imaginar qual a utilidade do RoR, já que é um framework p/ desenvolvimento web.

[/quote]

Hmm… C++ eu acho que seria legal, não seria? Ou C…
P. ex pra Linux, acho que independente de distro vai ter GNU compilers, GTK+, gnome-lib… até no Ubuntu…

Agora, falando em J2ME… seria mais complexo isso? Não sei qual dos dois (J2ME e JavaFX Mobile) tem uma pequena independência… não lembro mesmo…
Mas queria saber sobre o J2ME… como funcionaria? Seguimos dois “padrões”, que é o CLDC e o MIDP, mas desenvolver algo pra um Blackberry e pra um Symbian seria diferente… BEM diferente?

Java é uma laranja que deveria ser chupada e o bagaço jogado fora

Peraí…

Smalltalk (e Ruby) não é uma linguagem orientada a objetos? O que este tem de paradigma funcional?

A InfoWorld diz que a matéria de tecnologia que menos recebeu a atenção que merecia é que Java está se tornando o novo Cobol. E está longe de ser a primeira a dizer isso.

É claro, ainda existem muitos bons empregos para quem conhece Cobol a fundo, então ninguém precisa entrar em pânico.