Java pode ou vai acabar?

[quote=novatao][quote]

olha…
o propósito do forum eh contribuir com o conhecimento.

em nenhum momento ele te agrediu verbalmente. Isso nao te dá o direito para tal. A partir desse momento, vc perde a sua razão. Por favor, moderadores, bloqueem a msg do amigo, e se preciso, tranquem o topico.

[/quote]

[size=24]POOOTZ até nos forum de discussao tem cara puxa saco poootz esta é nova pra mim rsrssrsr kkkkkkkkkkkkk[/size][/quote]

nao estou querendo puxar saco de ninguem, amigo.

Apenas falando q o nosso objetivo aki nao eh xingar ninguem. E que, seu comentario é TÃO DESPREZÍVEL[size=24] [/size] que nao merece continuar aki. Q isso nao sirva de exemplo para os demais.

JForum consegue banir por IP?

Olá

O IP dele é do DSL do Brasil Telecom que centraliza todos os IPs. Mas dá para saber direitinho de onde vem porque já foi preciso fazer um levantamento deste tipo em outro fórum.

Mas a idéia aqui não é bloquear ninguém até porque ele poderia entrar com outro nick. Depois, sabemos que usuários malas acabam se queimando e desistem.

[]s
Luca (que apoia a opinião do Luiz Aguiar)

Talvez acabe junto com o cobol !!! hehehehe

Acabar eu não sei…mas perder a força muito provavelmente…Evolução !!!

Só para esclarecer um fato: o Usuário ‘novatao’ , 'hehe’e o ‘novatao1’ são a mesma pessoa, o usuário rato*louco. Por favor ignorem estas coisas, as mensagens originárias dele serão apagadas sem justificativa.

Já tivemos problemas com esse usuário no passado, ele já foi avisado, mas tem gente que não toma jeito.

[quote=pcalcado]Só para esclarecer um fato: o Usuário ‘novatao’ e o ‘novatao1’ são a mesma pessoa, o usuário rato*louco. Por favor ignorem estas coisas, as mensagens destes serão apagadas sem justificativa.

Já tivemos problemas com esse usuário no passado, ele já foi avisado, mas tem gente que não toma jeito.[/quote]

e se nao bastasse, ainda ficam mandando MP enchendo o saco!!

Acho que vcs estao meio que equivocados sobre o fim de linguagens.

A preocupação dos profissionais na minha opnião, é o java ficar obsoleto e a pessoa ficar sem oportunidades de trabalho… ERRADO!!!

A evolução de linguagens de programação é até legal!!! Java e c# é praticamente uma “evoluçãozinha” do C++, quem sabe C++ tem dificuldades em aprender JAVA? NAO! E C#(praticamente igual java)? TAMBEM NAO!

Creio que cada vez mais os usuários terão um conhecimento melhor sobre programação, mas cada vez mas a programação irá evoluir, principalmente nessa e a próxima decada que acredito eu, as linguagens de programação serão adaptadas para trabalhar melhor com inteligencia artificial, que também ganhará bastante campo e terá muitos conceitos, dificultando para o usuário “dominar todos eles”.

Estamos em um ramo onde é o mais “a frente” dos nossos usuários, se algum dia não existir mais desenvolvedores, arquitetos e afins. O q vc espera de profissões como médico(cada vez esta mais facil se medicar, mas os medicos cada vez mais pesquisam e desenvolvem cura para doenças), engenheiros(softwares que calculam mta coisa) entre outras profissões?

Não se preocupe com isso, estude sempre um pouquinho que vc sempre estará atualizado. E caso vc tenha certificados, seja ele de ASSEMBLY, COBOL ou qualquer linguagem que considerem “inuteis”, sempre terá empregos p/ vc pois um certificado em java(que vc não decorou) não significa que vc só sabe java e sim que vc conhece conceitos de OOP etc… um arquiteto JAVA não é um arquiteto SOMENTE de java, vc também saberá conceitos que podem ser aplicados na aprendizagem e arquitetura de outras linguagens.

Pra mim essa questão de linguagem nova, é pura recriação da roda, antes era de pedra, depois de madeira, agora de borracha e por ai vai! O conceito é o mesmo!

Esse papo de DSL parece mais uma enganação marketeira para vender palestras, livros, novos produtos e fazer a carreira de meia dúzia. A solução, como já apontaram, foi dada em 1958 por John McCarthy. O conceito de “DSL” deveria emergir naturalmente da linguagem, o que não é o caso nem do Java e nem de outras “modernas” como Ruby ou Python.

Eu duvido que todos esses “membros da comunidade” que dão palestras ou palpites sobre linguagens e estão ouriçados por causa desse novo filão chamado DSL realmente saibam sobre o que falam. Vi uma palestra no TheServerSide de um pessoal da ThoughtWorks onde, obviamente, falavam sobre DSLs e Ruby e a patética explicação sobre o porquê Lisp é pioneiro em tudo é por causa da “sintaxe horrível, e isso faz as pessoas pensarem em que tipo de DSL ficaria melhor”. Haha. São esses os “especialistas”? Eles não são especialistas, são apenas deslumbrados pelo que não sabiam há pouco tempo atrás que ao invés de procurar investigar mais além, se deram por contentes e agora esperam capitalizar este “next big thing”.

Você, inevitalmente, pela flexibilidade-sem-complexidade do Lisp acaba criando formas de gerar código automaticamente ou criando uma forma de descrever um domínio mais facilmente. Nada novo aqui.

Tanto C, C++, Java, Ruby, etc, todos já nasceram obsoletos por causa do Lisp.

Vi um exemplo de IDE do JetBrains para criar DSLs. Meu Deus do céu, é triste. É triste porque é complexo e o resto do mundo sabe que aquele problema já foi resolvido há quase 50 anos de uma forma bem mais simples.

Um dia eu tb vou morrer, mas ainda não estou preocupado com isso…

A linguagem é apenas a ferramenta!

Antigamente usavam facas, hoje usam bisturis, amanhã usarão lasers… Mas o médico ainda cuidará do paciente!!

[quote=Thiagosc]Eu duvido que todos esses “membros da comunidade” que dão palestras ou palpites sobre linguagens e estão ouriçados por causa desse novo filão chamado DSL realmente saibam sobre o que falam. Vi uma palestra no TheServerSide de um pessoal da ThoughtWorks onde, obviamente, falavam sobre DSLs e Ruby e a patética explicação sobre o porquê Lisp é pioneiro em tudo é por causa da “sintaxe horrível, e isso faz as pessoas pensarem em que tipo de DSL ficaria melhor”. Haha. São esses os “especialistas”? Eles não são especialistas, são apenas deslumbrados pelo que não sabiam há pouco tempo atrás que ao invés de procurar investigar mais além, se deram por contentes e agora esperam capitalizar este “next big thing”.

Você, inevitalmente, pela flexibilidade-sem-complexidade do Lisp acaba criando formas de gerar código automaticamente ou criando uma forma de descrever um domínio mais facilmente. Nada novo aqui.[/quote]

E você viu algum dos especialistas dizer que não é assim? Que LISP não dá condições de fazer isso?

O interesse inicial da criação da linguagem era exatamente esse, que outras pessoas pudessem extender a linguagem criando novas micro-linguagens através das bases que ele provia. É óbvio que não há nada de novo aqui o problema é que não é simples nem trivial fazer esse tipo de coisa. Lisp nasceu a frente do seu tempo, a orientação a objetos nasceu a frente do seu tempo, programação paralela utilizando o modelo de atores também surgiu a frente do seu tempo, as pessoas simplesmente não entendiam ou, mais comumente, não viam uso prático pra isso quando surgiu.

Um dos grandes responsáveis pelo disseminação da orientação a objetos (para o bem e para o mal, quanto mais gente, mais gente sem competência) foi o surgimento e o crescimento do Java como linguagem mainstream, eu duvido muito que se não fosse o Java nós tivéssemos tanta gente por aí enchendo a boca pra dizer que “programa orientado a objetos”. A mesma coisa é Erlang e outras linguagens orientadas a concorrência, até pouco tempo atrás se preocupar com concorrência era uma coisa de louco ou quando você tinha que escrever aplicações como servidores web, hoje com máquinas com tralalá processadores e você quer se aproveitar deles, precisa se procupar com concorrncia ou usar linguagens que facilitem isso.

Até então as pessoas não tinham visto muita vantagem ou até uso prático pra DSLs, até porque até pouco tempo atrás o nível de abstração era relativamente baixo, encontrar linguagens com bibliotecas de estruturas de dados, IO e threads todas prontas e funcionais não era fácil, especialmente se você estava escrevendo aplicações pra rodar em diversas plataformas, além do mais, as aplicações que se escreviam ontem não são as mesmas que se escrevem hoje. A complexidade que nós temos nas aplicações de hoje exigem linguagens mais expressivas e domínios mais complexos.

Lisp já fazia isso? Claro!

Mas quem aqui programa em Lisp? Quem aqui conhece bibliotecas pra threads em Lisp? Onde é que você vai achar mão de obra pra dar suporte numa coisa dessas?

O mundo e os problemas são bem maiores do que parecem ser. Sempre.

Sim, eu vi.

Provavelmente aquele que os brilhantes funcionários da ThoughtWorks imaginam ser Lisp. Segundo eles toda essa história de mini-linguagens em Lisp era por causa da “sintaxe horrível” e não algo inerente à linguagem.

Em Lisp isto é simples e trivial. Talvez não seja em Ruby ou em Java.

O mesmo poderia ser dito de Ruby ou qualquer outra linguagem não mainstream, mas isso não justifica sair dizendo bobagens por aí.

A questão não é que Lisp fez primeiro, mas sim que Lisp fez de um jeito mil vezes melhor, e agora “criam” algo com uma finalidade similar, mas muito mais complexo. Não existe razão para tornar as nossas vidas já tão castigadas por verdadeiras abominações da engenharia, assim como o Spring, ainda pior.

Em Lisp isto é simples e trivial. Talvez não seja em Ruby ou em Java.[/quote]

Opa, pra quem sabe bem Lisp (ou Common Lisp, que é o que se usa no mundo real) isso é simples e trivial. Lisp é uma das linguagens com sintaxe mais alienígena que eu já vi na vida (talvez perca pra Brainfuck, mas essa não conta) e não é nem um pouco simples nem trivial aprender a programar usando ela, principalmente porque levar as pessoas a pensar de forma “funcional” ainda vai demorar um bocado. o revival de linguagens como Smalltalk, Scala, Erlang, Ruby e Python são um ótimo primeiro passo pra que as pessoas percebam que nem tudo é orientação a objetos e elas provavelmente vão fazer pela programação funcional o que Java fez pela orientação a objetos e um dia nós podemos até ter um monte de gente programando em CL num futuro não muito distante, o problema é que as pessoas querem entender e usar DSL agora e em Lisp vai ser complicado deles conseguirem quem faça.

Se teve gente da ThoughtWorks ou da Banca do Zezinho falando que Lisp não foi feita pra criar DSLs, é uma infelicidade pra quem disse tal absurdo, mas eu não acredito nem um pouco que nós vamos ver no curto prazo gente se voltando pra Lisp pra mexer com DSLs, por mais que o Paul Graham esperneie. E falando em Lisp, quem quiser fritar o cérebro sempre pode ler esse ótimo livro que está disponível gratuitamente na internet -> http://www.gigamonkeys.com/book/

Mauricio, o cara é troll de carteirinha, chega chutando o balde e não dá nenhum argumento (“Java não serve pra fazer isso, nem Ruby, ponto final. Me ouçam. Eu sei do que falo, por favor!” sem nenhum argumento…). Diz que viu um vídeo que fala X, Y e Z e não dá nem link (“provavelmente els pensam isso, imbecis”, provavelmente é dose…). Enfim: o bom e velho troll thiagosc de sempre, fala um bando de merda, causa alguma comoção e some por algum tempo (mas não larga o forum). Qualquer dúvida é só consultar o histórico do usuário.

Engraçado como é tudo questão de perspectiva, ele já perdeu o título de pior troll. O rato*louco deu um banho feio e ganhou o título. Hoje em dia o thiagosc nem é mais troll, é bichinho de estimação do fórum.

[quote=Maurício Linhares]
Um dos grandes responsáveis pelo disseminação da orientação a objetos (para o bem e para o mal, quanto mais gente, mais gente sem competência) foi o surgimento e o crescimento do Java como linguagem mainstream, eu duvido muito que se não fosse o Java nós tivéssemos tanta gente por aí enchendo a boca pra dizer que “programa orientado a objetos”. [/quote]

No Brasil? pode ser. Mas a primeira linguagem orientada a objetos realmente popular foi C++. E Java provavelmente só se tornou tão popular assim lá fora por causa de popularidade de C++, uma vez que Java lembra C++ (embora tenha coisas de Objective C como Interfaces que são muito parecidas com Protocols)

Isso foi só pra discordar um pouco nessa thread monótona, marcada pela civilidade e pela concórdia :wink:

[quote=eliziario][No Brasil? pode ser. Mas a primeira linguagem orientada a objetos realmente popular foi C++. E Java provavelmente só se tornou tão popular assim lá fora por causa de popularidade de C++, uma vez que Java lembra C++ (embora tenha coisas de Objective C como Interfaces que são muito parecidas com Protocols)

Isso foi só pra discordar um pouco nessa thread monótona, marcada pela civilidade e pela concórdia ;-)[/quote]

Mas a galera que começou a mexer com C++ conseguia programar “menos” orientado a objetos do que os programadores get/set do Java :stuck_out_tongue:

[quote=Maurício Linhares][quote=eliziario][No Brasil? pode ser. Mas a primeira linguagem orientada a objetos realmente popular foi C++. E Java provavelmente só se tornou tão popular assim lá fora por causa de popularidade de C++, uma vez que Java lembra C++ (embora tenha coisas de Objective C como Interfaces que são muito parecidas com Protocols)

Isso foi só pra discordar um pouco nessa thread monótona, marcada pela civilidade e pela concórdia ;-)[/quote]

Mas a galera que começou a mexer com C++ conseguia programar “menos” orientado a objetos do que os programadores get/set do Java :stuck_out_tongue: [/quote]

Não necessariamente. Alguns dos melhores programadores que eu conheci vieram de C++. Muitos podiam até não escrever código OO apropriado, mas os programadores C++ que eu conheci tem boa noção de modularidade, de ocultamento dos dados internos do módulo. Mesmo em C puro é possível escrever bom código, e código legível, e a própria “aspereza” da linguagem acaba forçando o programador à ser bem cuidadoso. Eu não sou um Kernel Hacker, mas já fiquei horas lendo o código de scheduling do linux, e te garanto que aquele Cezão brabo ali é muito mais bem escrito/legível/modular que grande parte do código de uma série de projetos FOSS em Java cujo nome não mencionarei.

Java só vai acabar quando outra linguagem OO assumir o seu papel.

Ruby briga pau a pau no mundo web, mas no restante não dá nem para o começo.

Alguém seria louco para fazer um banco-de-dados, um sistema distribuído, um servidor de alta-disponibilidade em Ruby ou Phyton? Não que não possa ser feito, mas acho que Java se dá melhor para esse papel.

Minha opinião é que uma dynamic scripting language é mais interessante para fazer regras de negócio e algoritmos. Já para fazer sistemas mais parrudos, concorrentes, distribuídos e de alta-disponibilidade Java dá um show. E existe coisas para o qual velocidade conta e muito. Nesse quesito Java dá show também e hoje em dia rivaliza com C++.

Alguém já trabalhou com as nova API de concorrencia do Java? Classes como ConcurrentLlinkedQueue, ConcurrentHashMap, etc. são coisas muito poderosas e avançadas. Conseguiu-se abstrair uma complexidade incrível ali dentro. Temos isso em Ruby, Phyton ou qualquer outra linguagem? Em termos de concorrencia Java dá um show! Temos NIO em Ruby ou Phyton?

Tipos atrapalham a vida quando o que queremos é flexibilidade, expressividade e pragmatismo, mas oferecem robustez quando estamos programando um sistema mais crítico ou que vai servir de infra-estrutura para outro.

Não sou muito experiente nisso, mas minha opinião é que Java ainda vai continuar muito tempo por aí… Chegou-se num patamar onde os benefícios são gigantescos e as desvantages ou problemas muito pequenos se comparados aos benefícios… Acho complicado isso mudar no curto/médio prazo…

[quote=saoj]Java só vai acabar quando outra linguagem OO assumir o seu papel.

Ruby briga pau a pau no mundo web, mas no restante não dá nem para o começo.
[/quote]
Cara, ruby é uma maravilha para shell scripting, quando você precisa de algo mais que shell e não quer apelar para perl. Eu já escrevi montes de scripts de processamento de logs em ruby.

Eu já, fiquei um ano em projetos que usavam e abusavam delas. As collections são úteis pacas, principalmente as que usam algorítmos lock-free. De resto java ainda é uma bosta para programação paralela - linguagens como erlang tem uma fundação muito mais sólida nesse quesito.

Quanto A NIO em ruby ou python, suponho que você se refira a mmap, flock, select e non-blocking i/o, que são os recursos do SO exportados por essa API. Vejamos:

Python tem mmap, flock, select e non-blocking i/o via fctlr /ioctl. Tem também suporte a low-level networking (ICMP, RAW, etc), unix sockets e outras coisas que Java não tem acesso fácil.

Ruby tem flock, select e non-blocking i/o. Ruby fica devendo no suporte a mmap. Porem tem também suporte a dns, unix sockets e low-level control via ioctl e fctl por ai vai.

Tipos são tão uteis quanto você os quiser tornar interessantes. Java fez um péssimo serviço nesse aspecto, poderia ter um sistema muito mais poderoso e prático. Porém para isso existe Scala.

Fui contratado no inicio de 2001 para participar da localização do ERP JAVA da Minimal de Portugal, eles usarem pnuts como uma espécie de DSL interna, não conhecíamos o termo DSL e o termo Fluent Interface acredito que sequer tinah sido “inventada”. pnuts nesse sistema funcionava como as duas coisas, tinhamos uma Fluent Interface para os programadores extenderem as funcinoalidades e uma DSL própria para tratar alguns dominios especificos como por exemplo as regras que a partir de documentos refletiam na contabilidade e no estoque… acho que o sistema foi iniciado em 98 mas não tenho ideia de quando meteram pnuts para fazer isso, mas deve ter sido antes de 2000 quando a empresa foi estabelecida aqui e me falaram que já veio dessa forma.
https://pnuts.dev.java.net/

[quote=pcalcado]
Quanto ao livro, este ano deve sair o do Fowler e o do Neal Ford. A literatura atual e bem fraquinha. Talvez aqui você encontre algo que te seja útil http://fragmental.tw[/quote]

voce não tem data em primeira mãos, Shoes? liga pro chefe e sonda :slight_smile:

Porque Java e C++ nasceram obsoletos por causa do Lisp?