Java pode ou vai acabar?

169 respostas
Andre_Brito

É uma pergunta que eu tenho “medo” que a resposta seja SIM.
To pensando seriamente em tirar a SCJP no terceiro ano da faculdade (ano que vem), mas a pergunta: se eu tirar, a Sun falir e Java acabar, o que vai ser da certificação? Vale a pena isso para meu primeiro emprego que, espero que seja numa multinacional grande?

Não me xinguem de burro nem nada, mas é uma dúvida que tenho. Eu sei que ninguém pode prever o futuro nem nada, então deixo uma pergunta melhor: é possível “tirar” alguma coisa (de conhecimento) da certificação (ou de ser um expert em Java) para usar em outras áreas?

Abraço e bom final de 2007 e feliz natal para todos, próspero ano novo e ho ho ho.

169 Respostas

maquiavelbona

SCJP é uma certificação de tecnologia que tem alguns tópicos que fogem ao trabalho com Java simplesmente.
Se a Sun falir, que o faça depois de lançar a JDK open-source, aí não vai ter perigo de acabar com tudo, e mesmo assim não adianta só a Sun falir, tem que falir todas as outras grande apoiadoras do Java, é só dar uma olhadinha nas cadeiras do comitê executivo do JCP.
E mesmo que isso ocorra, linguagens dificilmente “morrem”, vide o tão afamado COBOL que teima em sobreviver por aí.

Até!

Andre_Brito

Poisé… mas dizem que querem “matar” o COBOL :’(
(Tirar dos bancos principalemente)
Vou dormir. Amanhã acordo 7 horas… opz, hoje… daqui a pouco.
Abraço e valeu, madrugador :slight_smile:

pcalcado

A resposta é ‘sim’, mas é muito improvável que isso ocorra num futuro não muito distante. O legado Java é muito extenso. Pode tirar sua certificação sem medo, só lembre que o pedaço de papel não vai dizer nada sobre se você programa bem ou não, só serve para aumentar suas chances de conseguir um emprego quando você não tem ouro diferencial, caso comum com estudantes.

Só não faça a besteira de acreditar que ‘java é o futuro’ e ignorar o que acontece à sua volta. Se eu estivesse na faculdade hoje aprenderia apenas o básico de Java e de C e e concentraria em Ruby, Scala, Smalltalk Haskell e/ou Lisp, são linguagens que formam profissionais completos.

Andre_Brito

shoes, esse é um cara que eu sei que não poderia de deixar de responder esse tópico! :slight_smile:

Pois é… também acredito que seja um diferencial somente de “embalo” pra entrar em algum negócio.
Acredito também que se limitar em Java e C seja muito pouco. Essas 2 linguagens são de extrema importância, mas existe um mundo ainda muito grande quando fala-se sem utilizar elas.
Nas férias agora quero estudar C++ e um pouco de Ruby e Python. O problema de Ruby é que existem a ramificação Ruby on Rails. Comecei a estudar Ruby de uns tempos para cá, mas quando vi já estava estudando RoR e já desanimei :confused:
O que (acredito eu) não posso fazer é ficar limitado somente a programação. Engenharia de Software I foi uma das matérias que mais gostei no ano da faculdade… e não houve muito código, somente regras de processo, MVC, reuso e os tipos de processos que podem ser adotados (incremental, em cascata, protótipo…). Isso diz que eu, como um estudante de terceiro ano com uma futura SCJP, sempre vou me restringir a programar ou na certa posso evoluir e pegar um emprego como gerente de equipe de software? E minha SCJP ajuda no entender como funcionam as coisas e tal? Existe alguma certificação Java que aborde isso também? A Architect faz isso?

Desculpem as perguntas, mas depois que eu me empolgo…

Abraço a todos.

ddduran

Bom, acho que Java vai estar em nossas vidas por muitos e muitos anos ainda, uma hora vai parar de sair sistemas novos em java (e isso é logo logo), mas sempre haverá manutenção a ser feita em sistemas legados.

Claro que o fato de ter uma certificação de programador não vai lhe restringir a ser sempre um programador.
Dificilmente você vai sair da sua faculdade e ter o primeiro emprego como “gerente de equipe de software”, para chegar la você
precisa de muita experiencia, começar no chão da fabrica que é ser programador :smiley:
Essas certificações só vão agregar, por que vai mostrar que você sabe falar (ou tem ideia) a lingua de seus liderados.

pcalcado

dedejava:

O que (acredito eu) não posso fazer é ficar limitado somente a programação. Engenharia de Software I foi uma das matérias que mais gostei no ano da faculdade… e não houve muito código, somente regras de processo, MVC, reuso e os tipos de processos que podem ser adotados (incremental, em cascata, protótipo…). Isso diz que eu, como um estudante de terceiro ano com uma futura SCJP, sempre vou me restringir a programar ou na certa posso evoluir e pegar um emprego como gerente de equipe de software? E minha SCJP ajuda no entender como funcionam as coisas e tal? Existe alguma certificação Java que aborde isso também? A Architect faz isso?

Uma certificação, seja qual for, te ajuda a arrumar emprego quando você não tem nenhum outro diferencial, só isso.

O que você quer aprender sobre processos você consegue com uma boa bibliografia. Para in;icio recomendo o livro do Craig Larman sobre metodoloias (Agile & Iterative Software Development) que ai te dar uma visão bem interessante. Não acredite em nada que ouvir na faculdade sobre ‘engenharia de software’, a maior parte não passa de conceitos mal compreendidos e por isso propagados de maneira errada. Leia bastante.

Software é programar. Se você que gerenciar uma equipe de desenvolvimento você tem que estudar matérias relacionadas à gestão de pessoas. Isso não é uma evolução do programador, um desenvolvedor de software é sempre um desenvolvedor de software. O que você faz estudando estas coisas é diversificando para que possa trabalhar em áreas relacionadas, mas diferentes, com gestão.

sergiotaborda

dedejava:
É uma pergunta que eu tenho “medo” que a resposta seja SIM.

Vamos pensar que a Sun acaba. Java não é da Sun. O copyright é deles, foram eles que inventaram, mas eles não são mais os donos. Ha muita gente (leia-se empresas e particulares) envolvidos com Java. Ou seja, ha muito dinheiro investido e isso leva a que seja dificil de exterminar. Claro que pode aparecer algo melhor…

Existem muitas linguagens, mas quais são as que o mercado usa para projetos comerciais ? Concerteza ninguem faz sites com assembly. Até poderia, mas não é viável comercialmente. Então, comercialmente Java vai dar cartas por muito bom tempo. Lembre-se sempre que a microsoft cirou o .NET porque viu que a ideia do java era boa. Eu so me arrependendo de não ter aprendido java mais cedo.
Tem coisas que não da para fazer em java ? tem. Mas são coisas muito especificas e cada vez mais existem menos porque a comunidade inventa uma forma de fazer em java ou em jni.
É dificil pensar numa razão para abandonar java.

Mas se vc não quer seguir o ramo comercial, então sim, aprender java não vai ser muito importante não. Aprender a fazer compiladores pode ser muito mais util no ramo académico ou até no cientifico onde linaguagens mais exoticas tem predominancia.

Andre_Brito

Hmmm…
É bem na parte de administração pelo jeito? Administração com produção de software.?

sergiotaborba
O ramo da pesquisa eu acredito que não seja um bom caminho pra mim, porque eu gosto mesmo é de trabalhar… na verdade, acho que eu gostaria de uma área tipo pesquisa e desenvolvimento dentro de uma empresa… ouvi dizer que é muito bom…

Abraços.

pcalcado

dedejava:
Hmmm…
É bem na parte de administração pelo jeito? Administração com produção de software.?

Sim, ams especializada. Procure sobre uma cosia chamada ‘lean’.

E quanto `fazer pesquisa ou trabalhar’, cuidado. Primeiro porque qualquer desenvolvedor minimamente razoável está pesquisando o tempo todo. Novas maneiras de resolver velhos problemas, velhas maneiras para resolver novos problemas… mesmo que você não dedique tempo à pesquisa pura o ato de conhecer sua área vai te facilitar muito a vida. Procure todos os tópicos de pessoas que não entendem como criar um Domain Model e você vai ver um grupo grande pessoas que não leu e conheceu o suficiente sobre orientação a objetos e arquiteturas de software, e estamos falando de pessoas graduadas, pós graduadas e tudo mais.

Não houve e não há nenhuma linguagem que seja usada para cumprir qualquer tarefa de uma maneira aceitável. java não 'a ferramenta certa para qualquer tarefa e parte da obrigação profissional de um desenvolvedor é saber escolher ferramentas. Cuidado com quem vende Java como a única coisa que importa, a linguagem mais importante e tudo mais. palavra de quem já converteu 3 grandes empresas para Java.

Andre_Brito

Essa de pesquisar já estou ciente :]

Então a moral da história é conhecer o máximo de ferramentas possíveis, certo? Não só ferramentas, como linguagens e métodos?

Abraço.

MrDataFlex

Fique tranquilo que até bem depois de sua morte o Java vai continuar vivo. O que muda é a evolução. Java vai evoluir, para sempre ficar a nível das outras linguagens.

PS: Só eu, ou mais alguém, acha que a versão 7, vai ter umas coisinhas muiiiiito próximas do RoR ?

pcalcado

O máximo que for interessante. Aprender C# se você já sabe Java, por exemplo, é besteira, elas são (eram?) equivalentes (a menos é claro que você pretenda ganhar algum com C#, estu falandod e conhecimento)

Andre_Brito

Hmmm…
E J2ME? Sempre tive interesse em desenvolver sistemas pra celulares, mas vi num tópico que o desenvolvimento em J2ME é vergonhoso. Sabe me dizer que outras ferramentas (na verdade linguagens) existem de apoio pra sistemas de celulares “coloridos”?
Não consegui achar o tópico pra dar continuidade.

@MrDataFlex,

Hehehe. Pois é. Tomara que seja igual Linux.

Emerson_Macedo

Essa questão de linguagens sempre da no que falar.

Bem, a mimnha opinião é que o amadurecimento de um desenvolvedor de software o leva a enxergar a linguagem a ser utilizada apenas como o meio para alcançar o objetivo e não como um protegido bichinho de estimação.

L

MrDataFlex:
PS: Só eu, ou mais alguém, acha que a versão 7, vai ter umas coisinhas muiiiiito próximas do RoR ?

Sim, se olharmos a história do EJB, e o quanto as especificações oficiais são paga-pau das idéias do mundo livre, eu não duvido que o JSF 3.x seja algo em que você digita “faces minhaAplicacao” para criar a aplicação e depois o comando “java script/generate scaffold Usuario” para criar o seu CRUD.

Luca

Olá

Uma dúvida que me aflige há tempos: porque os alunos de faculdades da área de informática se preocupam tanto com o aprendizado de linguagens?

Não seria mais lucrativo em termos de futuro aprender desenvolvimento de sistemas como um todo lendo livros clássicos ao invés de aprender framework da moda? Quem vocês acham que ganha mais: um programador ou um Scrum Master?

Será que tem neguinho que faz faculdade só para pegar um estágio de code monkey? Precisa de faculdade para isto?

Já que o Phillip entrou neste tópico vou lembrar que ele já indicou diversos livros excelentes que eu desconfio que na maioria das faculdades quanto muito se aprende um resumo apostilado por algum professor pirateador e xeroqueiro.

[]s
Luca

nbluis

Nah… não entendam dessa maneira… isso definitivamente não vai acontecer.
Não é isso que faz todo o barulho que o RoR está fazendo.
Python já tem esse generators a anos com Django e nem por isso foi tão longe…

O que vai ter de verdade é o JRuby dentro da JVM, o que é realmente interessante, comportando todo o legado existente em java.

Luca

Olá

pcalcado:
Uma certificação, seja qual for, te ajuda a arrumar emprego quando você não tem nenhum outro diferencial, só isso.

O que você quer aprender sobre processos você consegue com uma boa bibliografia. Para in;icio recomendo o livro do Craig Larman sobre metodoloias (Agile & Iterative Software Development) que ai te dar uma visão bem interessante. Não acredite em nada que ouvir na faculdade sobre ‘engenharia de software’, a maior parte não passa de conceitos mal compreendidos e por isso propagados de maneira errada. Leia bastante.

Software é programar. Se você que gerenciar uma equipe de desenvolvimento você tem que estudar matérias relacionadas à gestão de pessoas. Isso não é uma evolução do programador, um desenvolvedor de software é sempre um desenvolvedor de software. O que você faz estudando estas coisas é diversificando para que possa trabalhar em áreas relacionadas, mas diferentes, com gestão.

Agora é que percebi que o Phillip já tinha escrito algo bem parecido com o que penso e inclusive mais adiante citou o Lean.

Na vida de um desenvolvedor programar é uma das habilidades necessárias. Há muito mais coisas a aprender e perder o contato com professores para virar escravo quarterizado, trabalhando 10 horas por dia para alocadora de mão de obra de 3 letrinhas não é uma boa opção em termos de futuro. Se o cara precisa deste dinheiro, então é melhor sair da faculdade.

[]s
Luca

Andre_Brito

Calma, estou aprendendo ainda…

Então o negócio é saber programar independente da linguagem e saber coordenar o projeto de um software?

Luiz_Aguiar

Luca:
Uma dúvida que me aflige há tempos: porque os alunos de faculdades da área de informática se preocupam tanto com o aprendizado de linguagens?

Não seria mais lucrativo em termos de futuro aprender desenvolvimento de sistemas como um todo lendo livros clássicos ao invés de aprender framework da moda? Quem vocês acham que ganha mais: um programador ou um Scrum Master?

Será que tem neguinho que faz faculdade só para pegar um estágio de code monkey? Precisa de faculdade para isto?


Luca vou falar qo vejo/sinto de amigos e conhecidos que se formaram a pouco tempo, na verdade, “acompanhei” alguns que se formaram em datas diferentes, então sempre tem um formado saido do forno.

O que eles querem é preencher as trocentas vagas de programadores que tem por ai, seja java, .net, php, porque passaram a faculdade fazendo estágios idiotas e sem ganhar nada, e quando ouvem falar em “valor hora” aqui fora, eles ficam doidos, acham que vão virar o Bill Gates de tanto ganhar dinheiro, que não importa mais nada, só o valor hora x qtas horas eu aguento trabalhar por dia.

E o “compromisso” das faculdades é exatamente preencher essas vagas, pra mostrar que sua faculdade capacita os alunos para o mercado, e blablabla e blablabla.

Depois que alguns anos eles caem na real e ai pouquíssimos desses tentam “recuperar” o tempo perdido.

Luca

Olá

Luiz Aguiar:
E o “compromisso” das faculdades é exatamente preencher essas vagas, pra mostrar que sua faculdade capacita os alunos para o mercado, e blablabla e blablabla.

Depois que alguns anos eles caem na real e ai pouquíssimos desses tentam “recuperar” o tempo perdido.

É exatamente esta minha impressão. E trabalhando feito escravo mais de 8h/dia e cursando a faculdade quando dá, acho impossível que um cara normal (não super dotado) consiga tempo e saco para ler aquelas coisas essenciais que o Phillip há anos insiste que todo desenvolvedor deveria ler. Resultado: o cara se forma programador e olhe lá.

[]s
Luca

Andre_Brito

Então vamos começar a fazer com que eu me experte e goste das duas “áreas”.

Só uma pergunta: isso o que vocês falam de PMP, PMI e coisarada serve pra desenvolvimento de Jogos também? Afinal, um Jogo é um software, não é? Pra celulares também?

Pode me dar um exemplo, Luiz?

T

Gerenciar projetos é gerenciar pessoas, tempo e outras coisas - não importa se você vai construir uma casa ou desenvolver um jogo.
È claro que gerenciar programadores de jogos e designers gráficos é um pouco diferente de gerenciar programadores Cobol - são tipos de loucos diferentes, que requerem relacionamento diferente - mas custos, prazos e qualidade não mudam.

Andre_Brito

A.nh…
Eu li o livro do Ian Sommerville no ano. Alguém já ouviu falar dele? Eu gostei do livro, me abriu a cabeça para essa área de gerenciamento.

kirkgo

Shoes,

Já que você tocou no assunto do C#, o que você acha da Plataforma .Net, do ponto de vista do desenvolvedor e do ponto de vista comercial?
Com a briga da Sun e Microsoft para suportar cada vez mais linguagens (vide JRuby e IronRuby, Jython e IronPython) daqui algum tempo não faz diferença se você usa dotnet ou java. Já que você vai poder programar em python ou ruby nas duas plataformas (esse raciocínio é correto?).

PS: atualiza o blog. sou leitor assíduo dele.

faq

dedejava,

Eu ainda não vi funcionando direito nem para software -comum-.

Acho normal essa ânsia toda por um emprego, certificações e afins. Mas veja bem, essas coisas, com o passar do tempo (digamos 2 anos) se tornam comuns, é simples para obter. È extremamente importante que você nesse primeiro momento adquira conhecimento (mesmo que superficial) e senso crítico.
É muito importante saber criticar, analisar e elogiar tecnologias é metologias.

Eu acho que falta, e muito, senso crítico nos peritos da computação.

Metaleiro

AS PREVISÕES SERIAM QUE O JAVA ACABARIA NESSE DIA

Eduardo_Bregaida

sergiotaborda:
dedejava:
É uma pergunta que eu tenho “medo” que a resposta seja SIM.

Vamos pensar que a Sun acaba. Java não é da Sun. O copyright é deles, foram eles que inventaram, mas eles não são mais os donos. Ha muita gente (leia-se empresas e particulares) envolvidos com Java. Ou seja, à muito dinheiro investido e isso leva a que seja dificil de exterminar. Claro que pode aparecer algo melhor…

Existem muitas linguagens, mas quais são as que o mercado usa para projetos comerciais ? Concerteza ninguem faz sites com assembly. Até poderia, mas não é viável comercialmente. Então, comercialmente Java vai dar cartas por muito bom tempo. Lembre-se sempre que a microsoft cirou o .NET porque viu que a ideia do java era boa. Eu so me arrependendo de não ter aprendido java mais cedo.
Tem coisas que não da para fazer em java ? tem. Mas são coisas muito especificas e cada vez mais existem menos porque a comunidade inventa uma forma de fazer em java ou em jni.
É dificil pensar numa razão para abandonar java.

Mas se vc não quer seguir o ramo comercial, então sim, aprender java não vai ser muito importante não. Aprender a fazer compiladores pode ser muito mais util no ramo académico ou até no cientifico onde linaguagens mais exoticas tem predominancia.

Se nao me engano se a Sun falir o JCP se mantém, alem do q o patrocinio vai acabar vindo de outras empresas interessadas p/ q a tecnologia nao morra.
Basicamente nenhuma linguagem morre, pode ser mais raro ter sistemas, mas sempre se acha…
:smiley:

W

Nao so o java como o mundo vai acabar!!! Pra que SCJP?
Melhor eh tirar o certificado de conclusao da fogueira santa de israel da Universal e quem sabe se salvar!

A

Acho importante isso de estudar conceitos e não se preocupar em aprender frameworks.

Porém na pratica é outra história. :smiley:

Ninguém vai ser contratado porque conhece muito de OO mais não sabe implementar em linguagem alguma.
ou então conhece muito de Teoria de Banco de dados Relacionais, álgebra relacional porém não sabe usar banco algum.

É claro que aprender conceitos é ótimo, ajuda até mesmo na hora de aprender tecnologias especificas, porém se você só souber os conceitos não irá conseguir trabalho.

Minha dica é a seguinte:

Divida seu estudo em 2 partes:

Estudar conceitos: ( Para ir crescendo Profissionalmente e formando uma base sólida ).
Estudar tecnologias: ( Para ganhar dinheiro agora ).

Exemplo: Estudar a fundo Design Patterns (Conceitos) e também JSF (Tecnologias).

:wink:

kirkgo

windsofhell:

Nao so o java como o mundo vai acabar!!! Pra que SCJP?
Melhor eh tirar o certificado de conclusao da fogueira santa de israel da Universal e quem sabe se salvar!

Sacanagem isso hein… :twisted:

pcalcado

Meu único problema com .Net é o fato de só haverum vendedor na pratica e de eu não confiar neste. C# está ficando uma piscina de funcionalidades desconexas mas até alguas versões atrás era tão arecida com java que não dá ara afirmar muito sobre qualdiades de ambas. Os artigos que escrevi para a Mundo .Net, por exemlo, foram escritos no Eclipse usando o JDT mesmo.

javaAurelio

Ai vamos para de questionar Isso.

Que medo é esse?

Quanta pessoas ja perguntaram se Delphi vai acabar ?

Delphi, CLIPPER continua ai sendo usado.

Olha a resposta do windsofhell. O cara falo tudo.

Daqui uns 1000 anos Java acaba e o mundo tambem.

Ainda Existe as aplicações para Celular, SmartCard e outros dispositivos para serem implementadas em Java.
:smiley:

Olha a quantidade de Pessoa programando em Java no Brasil e no Mundo.

Que vai esquecer dessa Linguagem ??

:smiley: :smiley: :smiley: :smiley:

dreamspeaker

Pra pegar um emprego. É muito dificil “em tempo de faculdade” perceber que aprender uma linguagem pura e simplesmente, a longo prazo não faz muito sentido. Mas depois a pessoa aprende. Eu larguei minha pós de Gestão de Qualidade de Software em dois meses, quando percebi que era um curso de RUP sob outro diploma.

Não, porque livros clássicos são chatos e em 98% das entrevistas por aí ninguém vai perguntar se eu li um livro velho e chato, eles vão perguntar se eu sei usar o framework da moda. (sim, é ironia)

A propósito, Java deve acabar, sim. Mas como diz a última frase do ótimo “Gladiador”: “…but not yet, not yet…

F

O grande problema é que as certificadoras e os McDonalds da vida, fazem marketing em cima da linguagem do momento. Já vi muita faculdade fazer marketing por ensinar a linguagem X.

Já tive que discutir com uma pessoa dizendo que o McDonad que ele frequentou era bom pois ensinava Java. Qdo disse a ele que no curso que fiz (UFSCar) não tinha matéria especifica de uma ferramenta ou linguagem. A maioria dos professores orientavam e exemplificavam usando C ou Java,mas muitos deixavam vc entregar os trabalhos na linguagem ou ferramenta que vc achasse melhor. Ele ficou horrorizado…

Acho que além dos livros e matérias sobre Engenharia de Software e Gestão de Projetos, o pessoal tem que estudar e muito para ser um bom desenvolvedor, matérias como Construção de Sistemas Operacionais, Sistemas Operacionais Distribuidos, Estruturas de Dados, Grafos, Máquinas de Estado, IA,…

A

Isso é o ideal, a faculdade ensinar conceitos e a pessoa aprender sozinha ou com cursos o que precisa para trabalhar. Infelizmente são raras faculdades assim. :?

Andre_Brito

Isso é o ideal, a faculdade ensinar conceitos e a pessoa aprender sozinha ou com cursos o que precisa para trabalhar. Infelizmente são raras faculdades assim. :?

Concordo totalmente… Eles demora pra parar de ensinar linguagens e firulas (aqui param com C na metade do segundo (um pouco antes) e Java acaba no final do segundo).

Abraço.

pcalcado

Não que Java vá acabar semana que vem mas pense em linguagens de mainfram. Todo mundo usava este tipo de tecnologia á alguns anos atrás, hoje em da elas não morreram mas você acha que exste muita coisa nova sendo desenvolvida? Coisa interessante? Sempre vai haver legado mas dificilmente tem alo interessante para fazer com ele.

A

O povo acha Java vai acabar?
Nossa, se Cobol até hoje tá ai. E mais, um bom programador de Cobol ganha mais que bons programadores de Java (juntos). Vai diminuir o mercado, mas em menos de 2 anos, desacredito.
Eu apostei atualmente no RoR, mais especificamente no JRuby on Rails. Mas o JVM vai se adaptando. No fim, a simplicidade vai imperando. Não foi assim com a adoção do Groovy como segunda linguagem do JVM?
Acho que no futuro muitos falarão o tal “Javanês” em diferentes linguagens (tudo rodando sobre JVM).

N

E ainda é moderador essa nhacka!
Ninguem merece, cara se nao acredita em java pede pra sair cara!pede pra sai,seu fanfarrão!

pcalcado

novatao:

pcalcado
Moderador

ou melhor pcontrarialdo o homen dos contrarios

Sempre vai haver legado mas dificilmente tem alo interessante para fazer com ele.

E ainda é moderador essa nhacka!
Ninguem merece, cara se nao acredita em java pede pra sair cara!pede pra sai,seu fanfarrão!

Tenho experiência teórica e prática suiciente para saber do que falo. Não parece ser o seu caso.

Você provavelmente veio ao lugar errado se espera um lugar onde as pessoas idolatrem alguma tecnologia, por favor vá procurar a sua turma.

N

CAMARADA vc nao passa de + um falso profeta anunciando o fim do java, se tem tanta experiencia assim como diz coisa q acho nao ser tao verdadeira mas vamos relevar, deveria saber q uma linguagem nao se extingue assim!Acredito que apos a sua morte o java ainda vai estar sendo um sucesso.

PEDE PRA SAIR!PEDE PRA SAIR!
SEU FANFARRÃO!

P

Pessoal,

UM dia java vai ficar OBSOLETO…assim como RUBY vai ficar tb…

“nossa, o cara tá loko!! Ruby tá ai bombando…” mas assim como outras linguagens, elas saem para outras entrarem … mas nao eh possivel a gnt dizer “ah, vai acabar em 15 anos, 20…60”…só o tempo vai dizer…

na nossa área é assim e pronto!! Obsoleto nao eh sinonimo de acabarrr…

bandrade

Ô novatão… você não acompanhou a discussão não??

c++ era imortal, cobol também, VB então era o fino da bossa… essas linguagens foram superadas por outras mais atualizadas (java, C#, etc).

Com essas linguagens vai ocorrer o mesmo, é a vida. Deal with it.

Sempre vai haver trabalho para essas linguages. Software legado é uma realidade.

A

Gostem ou não mais a realidade é que um dia (talvez daqui a muito tempo) nossa profissão ficara obsoleta.

Alguém discorda que Fazer software esta ficando cada vez mais fácil. :smiley: comparem com antes, tentem fazer uma aplicação com Interface gráfica em Assembly, era praticamente impossível hoje já não é tão complicado.

Chegará uma hora que os próprios usuários irão criar os programas, apoiados em ferramentas cada vez mais sofisticadas.

P

Gostem ou não mais a realidade é que um dia (talvez daqui a muito tempo) nossa profissão ficara obsoleta.

Alguém discorda que Fazer software esta ficando cada vez mais fácil. :smiley: comparem com antes, tentem fazer uma aplicação com Interface gráfica em Assembly, era praticamente impossível hoje já não é tão complicado.

Chegará uma hora que os próprios usuários irão criar os programas, apoiados em ferramentas cada vez mais sofisticadas.

acho q atééé chegar lá eu já morri!!! e meus netos tb!!! já estarei na 5 geração e o caramaba a 4…

sei q está cada vez mais fácil fazer sw, e vai continuar assim…mas e toda a parte de análise, arquitetura, enfim, não creio que o usuário/cliente terá conhecimentos para fazer algo tão bm planejado…

pensando por esse lado que vc disse, ai poderíamos imaginar os usuarios/clientes desenvolvendo, mas contratando empresas de CONSULTORIA para “montar” uma base solida para o sistema - leia-se análise, arquitetura, e afins…

Programar é “fácil” e “rápido”…

:smiley:

N

Isso ja acontece amigo, com delphi pessoas com pouca experiencia e um cursinho basico de uns dois, tres meses desenvolvem sistemas de pequeno a medio porte.claro que o resultado final nao é la grandes coisas.
tenho amigos que estao se formando ano q vem e se dedicaram ao delphi, e estao ganhando salarios miseros de 700,800 reais por causa destes que fazem um cursinho basico e saem programando por ai.

felipe_thrash

tomara q não… pelo menos até os proximos 10 anos! :stuck_out_tongue:

pcalcado

Eu não seria tão assertivo. Não arriscaria um timeframe mas já temos plataformas suficientemente boas para qu a maioria das aplicacões desenvolvidas não necessitem de aluém altamente capacitado. Some uma linguagem de dominio e você tem um cenário bem promissor para essas idéias.

Jetbrains, Sun, Microsoft, IBM, OMG… todos ao seu modo estão investido neste cainho. Nenhum tem tanta pressa assim mas as novas versões do Vsual Studio já incluirão o DSL tools como add-on. Faça uma busca no Google por ‘domain specific languages’.

rubinelli

AndrewAguiar:
Gostem ou não mais a realidade é que um dia (talvez daqui a muito tempo) nossa profissão ficara obsoleta.

Alguém discorda que Fazer software esta ficando cada vez mais fácil. :smiley: comparem com antes, tentem fazer uma aplicação com Interface gráfica em Assembly, era praticamente impossível hoje já não é tão complicado.

Chegará uma hora que os próprios usuários irão criar os programas, apoiados em ferramentas cada vez mais sofisticadas.

Sabe quando foi que disseram isso pela primeira vez? Quando sai o Cobol, quase 50 anos atrás.

Sabe o que aconteceu todas as vezes em que uma nova e maravilhosa ferramenta apareceu para aposentar os programadores? Perceberam que esses mesmos programadores conseguiam produzir com essas ferramentas coisas que os usuários nem sonhavam que era possível. Há dez anos atrás, escrever um servidor web era punk. Hoje em dia, qualquer segundanista de ciência ou engenharia da computação escreve um.

Uma coisa em que essas ferramentas ajudaram foi criar uma curva de aprendizado mais suave. Se o sujeito precisa fazer alguns cálculos simples mas tediosos, ele não precisa escrever em Fortran, compilar num minicomputador, e levar os cartões perfurados para o mainframe. Ele só abre o Excel e cria uma macro. Isso tem o seu lado ruim, no entanto, que é fazer as pessoas pensarem que não existe segredo na programação, e existe sim. Por trás da programação existe este ramo da matemática chamado ciência da computação, e quem conhece um pouquinho que seja vai sempre surpreender quem não conhece.

P

Shoes, Algum livro para indicar??

xandroalmeida

Ow, colocar c++ e cobol na mesma frase não pode. :slight_smile:
C++ era imortal ??

Quando eu ver Kernels, sistemas embarcados, drivers, sistemas de alto desempenho em Ruby, Java ou Brainfuck, ai pode-se dizer que C++ morreu. Até lá …

bandrade

xandroalmeida:
bandrade:


c++ era imortal, cobol também

Ow, colocar c++ e cobol na mesma frase não pode. :slight_smile:
C++ era imortal ??

Quando eu ver Kernels, sistemas embarcados, drivers, sistemas de alto desempenho em Ruby, Java ou Brainfuck, ai pode-se dizer que C++ morreu. Até lá …

Poizé, esses são contextos mais especializados… voc~e não entendeu o que eu quis dizer… a gandre maioria dos sistemas NOVOS não são feito sem C++, e isso era realidade algum tempo atrás… nunca + vi pra vender um C++ GUI programming guide… );

pcalcado

Acho que você quis dizer há mais tempo, há dez anos já era simples escrever um servidor web básico, mesmo em Java. Mas ok.

Contraponto: Há este mesmo tempo atrás (seja qual for) era muito dificil usar um computador. Hoj em dia miha mãe sabe fazer macros no excel (que é uma DSL). Aliás, ha não muito tempo atrás digitar um documento ou cadastrar coisas era tão complexo que havia um departamento só para isso nas empresas. Hoje uma menina que de tecnologia não sabe nada fica rica escrevendo templates em HTML pro myspace. A tecnologia para desenvolver software está ficando cada vez mais acessível e cada vez mais os usuários estão desenvlvendo seus softwares, sejam macros, personalizações de template ouregras de negócio em DSLs.

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

P

Acho que você quis dizer há mais tempo, há dez anos já era simples escrever um servidor web básico, mesmo em Java. Mas ok.

Contraponto: Há este mesmo tempo atrás (seja qual for) era muito dificil usar um computador. Hoj em dia miha mãe sabe fazer macros no excel (que é uma DSL). Aliás, ha não muito tempo atrás digitar um documento ou cadastrar coisas era tão complexo que havia um departamento só para isso nas empresas. Hoje uma menina que de tecnologia não sabe nada fica rica escrevendo templates em HTML pro myspace. A tecnologia para desenvolver software está ficando cada vez mais acessível e cada vez mais os usuários estão desenvlvendo seus softwares, sejam macros, personalizações de template ouregras de negócio em DSLs.

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

ok, vou passar no seu blog. Esse ano -2007??

Vou aguardar …

L

bandrade:
xandroalmeida:
bandrade:


c++ era imortal, cobol também

Ow, colocar c++ e cobol na mesma frase não pode. :slight_smile:
C++ era imortal ??

Quando eu ver Kernels, sistemas embarcados, drivers, sistemas de alto desempenho em Ruby, Java ou Brainfuck, ai pode-se dizer que C++ morreu. Até lá …

Poizé, esses são contextos mais especializados… voc~e não entendeu o que eu quis dizer… a gandre maioria dos sistemas NOVOS não são feito sem C++, e isso era realidade algum tempo atrás… nunca + vi pra vender um C++ GUI programming guide… );

Nunca mais viu? Amazon!

oliveirarenan

Java é o futuro Cobol…ela foi homologada em grandes corporações como quase todos(se nao todos) os bancos, como camada de front end, alem de empresas securitarias, editoras, e-commerces, empresas de cosmeticos, telecom, etc…impossivel java morrer!!!

:lol: :lol: :lol:

Grinvon

bandrade:
Ô novatão… você não acompanhou a discussão não??

c++ era imortal, cobol também, VB então era o fino da bossa… essas linguagens foram superadas por outras mais atualizadas (java, C#, etc).

Com essas linguagens vai ocorrer o mesmo, é a vida. Deal with it.

Sempre vai haver trabalho para essas linguages. Software legado é uma realidade.

Como assim C++ já era??

Quem disse que C++ foi feito para fazer sistemas comerciais da forma como é feito em linguagens como Java?

O segmento de C++ é quase que por completo diferente do de Java, e é ainda uma das linguagens mais usadas no mundo.

Luca

Olá

Concordo que Java não vai morrer e tem enorme base instalada. Muitas novas aplicações ainda precisarão ser em Java. Java tem potencial de crescimento e ainda não virou legado.

Para desenvolvimento web, RoR é mais fácil na maioria dos casos mas há algumas poucas coisas que é muito difícil fazer com RoR.

Se eu fosse começar uma empresa nova, com certeza adotaria RoR. Se fosse criar uma nova aplicação dentro de uma empresa com muito conhecimento de Java, dificilmente recomendaria RoR. Mas se o projeto exigisse prazo curto então a alternativa RoR levaria vantagem.

Há que reconhecer a solução mais adequada em cada caso. Quem adota tecnologia como quem escolhe religião ou time de futebol, não saberá escolher a melhor opção de forma isenta.

[]s
Luca (que ainda programa em Fortran que ainda não morreu e ainda tem circunstâncias onde é a melhor opção)

rubinelli

Acho que você quis dizer há mais tempo, há dez anos já era simples escrever um servidor web básico, mesmo em Java. Mas ok.

Contraponto: Há este mesmo tempo atrás (seja qual for) era muito dificil usar um computador. Hoj em dia miha mãe sabe fazer macros no excel (que é uma DSL). Aliás, ha não muito tempo atrás digitar um documento ou cadastrar coisas era tão complexo que havia um departamento só para isso nas empresas. Hoje uma menina que de tecnologia não sabe nada fica rica escrevendo templates em HTML pro myspace. A tecnologia para desenvolver software está ficando cada vez mais acessível e cada vez mais os usuários estão desenvlvendo seus softwares, sejam macros, personalizações de template ouregras de negócio em DSLs.

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

Eu vou bater na mesma tecla. Se há dez anos era fácil escrever um servidor web, então porque tirando Apache não tinha UM servidor que prestasse? Lembra do IIS lá atrás? Os servidores da Netscape? Quando você passava de servidor web para servidor de aplicação então, aí que a porca torcia o rabo. Por outro lado, se você instalar o Excel 97 numa máquina, sua mãe vai ser plenamente capaz de utilizá-lo e criar as mesma macros que ela cria na última versão do Office.

Realmente, está ficando cada vez mais fácil para usuário final criar seu próprio CRUD. Hoje em dia você entra num site Web 2.0, arrasta uns campos, coloca alguns labels, e pronto: está feito seu formulário web. Nada de HTML+PHP+SQL, tudo gráfico e gratuito ainda por cima. Mas aí usuário final não quer mais CRUD. Ele quer ter uma caixinha de busca igual à que ele tem no Google ou no webmail dele que traz todos os registros com a palavra que ele digitar. Ele quer alertas por SMS e websites que funcionem offline. Se o Google pode fazer isso, por que você não pode? :slight_smile:

xandroalmeida

Luca:
Olá
… voz da experiência falando …

Luca (que ainda programa em Fortran que ainda não morreu e ainda tem circunstâncias onde é a melhor opção)

Hehehe, Trabalhei no CPqD em 2003, e tinha alguns Engenheiros (com E maisculo mesmo ) que programavam em Fortran, e os sistemas que eles desenvolviam calculavam, literalmente, coisas do tipo da Nasa. Tinha como dizer a eles que eles estavam usando tecnologia (Fortran) ultrapassada ???

Eles ainda tiravam uma com a gente (Javeiros e C++), na esportiva, que estava saindo o Fortran orientado a objetos. :slight_smile:

xandroalmeida

rubinelli:

Eu vou bater na mesma tecla. Se há dez anos era fácil escrever um servidor web, então porque tirando Apache não tinha UM servidor que prestasse? Lembra do IIS lá atrás? Os servidores da Netscape? Quando você passava de servidor web para servidor de aplicação então, aí que a porca torcia o rabo. Por outro lado, se você instalar o Excel 97 numa máquina, sua mãe vai ser plenamente capaz de utilizá-lo e criar as mesma macros que ela cria na última versão do Office.

Porque fazer qualquer coisa de forma simplória (no sentido pejorativo) é facil, vide http://elonen.iki.fi/code/nanohttpd/
Agora implementar um Http Server, com toda segurança, robusto, escalavel, desempenho, extensível e tudo mais é onde a porca torce o rabo. O NanoHttpd não é (e não pretende ser) uma prova de conceito que fazer as coisas em Java são simples.

O ponto em quero chegar é que fazer um CRUD é simples demais. Usar como exemplo um CRUD para provar que uma plataforma de desenvolvimento é simples e agil não vale nada!

rubinelli:

… Mas aí usuário final não quer mais CRUD. Ele quer ter uma caixinha de busca igual à que ele tem no Google ou no webmail dele que traz todos os registros com a palavra que ele digitar. Ele quer alertas por SMS e websites que funcionem offline. Se o Google pode fazer isso, por que você não pode?

rubinelli, acho que aqui você chegou exatamente no ponto onde esta a dificuldade de desenvolver aplicações web hoje em dia.
Este é exatamente o ponto!.

Eu particularmnete não vejo tantas dificuldades no Java para desenvolver. O problema esta na interface com o usuário, e esta dificuldade é a mesma em Perl, Java, Ruby [coloque sua linguagem preferida aqui]

dreamspeaker

Um dia, a uns 13 anos atrás, um professor de C do curso técnico disse isso pra minha turma também.

Eu também acho que vai ficar obsoleto da forma como é hoje. Mas eu também acho que países como o Brasil não vão abrir mão dos especialistas por um bom tempo ainda. Tempo para ver meus netos, como disseram aí.

pcalcado

rubinelli:
Eu vou bater na mesma tecla. Se há dez anos era fácil escrever um servidor web, então porque tirando Apache não tinha UM servidor que prestasse? Lembra do IIS lá atrás? Os servidores da Netscape? Quando você passava de servidor web para servidor de aplicação então, aí que a porca torcia o rabo.

Isso nao é verdade, há dez anos atrás eu fiz sistemas em ASP que vão muito bem, obrigado, ainda estão em produção e manutenção. Dado que a tecnologia que ambos (IIS e Apache) foram construídos não mudou muito seu argumento não é sóido. O protocolo a ser implementado é o mesmo, a linguagem de programação é a mesma, a forma de lidar com a plataforma (SO) é a mesma O que não tinha era um mercado tão grande, há dez anos você tinha que lutar muito para convencer alguém a usar interface web em um software, hoje em dia você te que convencer que uma interface web não vai dar conta do recado.

Uma coisa é ter ótima qualidade, outa coisa é ter qualidade o suficiente. Os servidores existiam e tinham qualidade o suficiente.

E poque ela não fazia antes?

Você não entendeu. O Ponto não é somente avanco tecnológico mas o fato de que as pessoas estão se acostumando a ela, seja por um motivo ou por outro. Qual a grande inovação do Orkut? Se você mostrasse u site como o Orkut há dez anos para alguém ele iria se iteressar? E o MSN? Hoje em dia todo mundo tem o MSN mas há dez anos eu tinha que obrigar meus amigos a instalarem o ICQ. A tecnologia não evoluiu o paradigma é o mesmo, as pessoas mudam.

As pessoas se aproximam cada vez mais da tecnologia, o próximo asso é aproximar a tecnologia delas.

rubinelli:

Realmente, está ficando cada vez mais fácil para usuário final criar seu próprio CRUD. Hoje em dia você entra num site Web 2.0, arrasta uns campos, coloca alguns labels, e pronto: está feito seu formulário web. Nada de HTML+PHP+SQL, tudo gráfico e gratuito ainda por cima. Mas aí usuário final não quer mais CRUD. Ele quer ter uma caixinha de busca igual à que ele tem no Google ou no webmail dele que traz todos os registros com a palavra que ele digitar. Ele quer alertas por SMS e websites que funcionem offline. Se o Google pode fazer isso, por que você não pode? :)

Recomendo novamente a leitura sobre DSLs e paradigmas mais modernos como Intentional programming. Você não precisa acreditar em mim mas anes de responder a esta thread recomendo que leia sobre Charles Simonyi. Por baixo foi o cara que criou o editor WYSIWYG e o Word.

Mandar uma mensagem SMS ou indexar e buscar conteúdo é algo tão boçal e commodity que existe empresa que te vende um componente ou uma caxinha para fazer isso (o próprio google faz), basta você plugar isso numa engine de Intentional Softwre/DSL e pronto. Quando isso vai estar pronto para uso? Não sei mas existe muito dinheiro e pesquisa aplicados nesta área. O próprio Simonyi deixou a Microsoft para criar sua empresa exploradora deste mercado e já possui cases interessantes, bem como o MetaCase.

rubinelli

pcalcado:
Você não entendeu. O Ponto não é somente avanco tecnológico mas o fato de que as pessoas estão se acostumando a ela, seja por um motivo ou por outro. Qual a grande inovação do Orkut? Se você mostrasse u site como o Orkut há dez anos para alguém ele iria se iteressar? E o MSN? Hoje em dia todo mundo tem o MSN mas há dez anos eu tinha que obrigar meus amigos a instalarem o ICQ. A tecnologia não evoluiu o paradigma é o mesmo, as pessoas mudam.

As pessoas se aproximam cada vez mais da tecnologia, o próximo asso é aproximar a tecnologia delas.


Então por que não somos todos mecânicos de automóvel se passamos mais tempo do que nunca dentro de um?

Usar uma tecnologia e entendê-la são duas coisas distintas. Aliás, quanto mais tecnologia, menos as pessoas se interessam pelos detalhes. Ninguém quer saber como funciona o mecanismo de compressão de voz do Skype. Todo mundo quer é falar de graça com a família do outro lado do mundo. Aliás, lembra como todo mundo que tinha um daqueles micrinhos na década de 80 era programador? Todo mundo tinha seus programas em BASIC gravados numa fita cassete. Hoje em dia, quem lembra o que é peek e poke? Sprite então virou nome de refrigerante. :slight_smile:

O Simonyi não seria o primeiro luminar da computação a quebrar a cara num projeto ambicioso, vide o caso Chandler. Intentional programming me parece uma maneira de vender ferramentas CASE caras que resolvem um problema que o John McCarthy já resolveu melhor em 1958.

pcalcado

Sprite sempre foi nome de ser mítico…

Mas voltando ao assunto, existem técnicos para saber disso. Os técnicos especializados continuarão existindo mas deixarão de fazer aplicações comerciais e se preocuparão com infraestrutura do desenvolvimento. É o que faz o arquiteto de sistemas hoje: ele prepara o caminho para os desenvolvedores. Neste cenário possível o desenvolvedor profissional é quem prepara o caminho para o desenvolvedor de aplicativos, que é o usuário ou alguém muito próximo dele (como um analista de negócios).

rubinelli:

O Simonyi não seria o primeiro luminar da computação a quebrar a cara num projeto ambicioso, vide o caso Chandler. Intentional programming me parece uma maneira de vender ferramentas CASE caras que resolvem um problema que o John McCarthy já resolveu melhor em 1958.

Ahm? Você está sugerindo que Lisp seja dada como linguagem de programação para usuários?

Você tem algum argumento ou é só sentimento mesmo?

rubinelli

Eu entendo seus argumentos. O avanço da tecnologia realmente diminui a necessidade de mão-de-obra mas aumentou a necessidade de qualificação em outras áreas. As novas gerações têm uma capacidade de raciocínio lógico e matemático realmente maior que as anteriores. Mas você sabe que esses argumentos são repetidos desde o tempo em que nossos pais usavam calças curtas, então eu prefiro esperar pra ver.

pcalcado:
Ahm? Você está sugerindo que Lisp seja dada como linguagem de programação para usuários?

Você tem algum argumento ou é só sentimento mesmo?

Não, Lisp não é uma boa alternativa ao VBA, mas eu acho que a melhor maneira de escrever uma DSL é defini-la em termos de uma outra linguagem, e não utilizando pré-processadores e ferramentas CASE. É mais natural para nós.

Andre_Brito

Sinceramente, me arrependi de criar esse tópico…


Pergunta doente, todos tópicos assim da rolo…

E SE VOCÊ MORRER?

Nem estude

dreamspeaker

Até que não foi ruim, o tópico gerou algumas informações interessantes, e afinal, nem teve motivo pra ser bloqueado! (ainda… rs…)

pcalcado

Some pessoa precisando (mais do que querendo, na verdade) desenvolver sistemas sem intermediários (aplicações, não SOs) e a evolução tecnológica atual e você tem o cenário armado

rubinelli:

Não, Lisp não é uma boa alternativa ao VBA, mas eu acho que a melhor maneira de escrever uma DSL é defini-la em termos de uma outra linguagem, e não utilizando pré-processadores e ferramentas CASE. É mais natural para nós.

Não entendi seu ponto. Existem (pelo menos) dois tipos de DSL que não são concorrentes e um deles é exatamente o que você falou, seja em Ruby, Lip, Python ou mesmo Java.

Alkamavo

Conversa ja esta parecendo papo de Boate…
Cada um aki esta kerendo puxar a prostituta pro lado dele…

a minha Opiniao é k nao adianta saber muitas linguagens mas sim saber Bem mas muito bem mesmo uma que dê para fazer tudo…

COmo alguem postou acima…havia Engenheiro que faziam cenas do tipo da nasa COm o fortran…pk dominavam akilo…na ponta das unhas…

Kenobi

dedejava:
Sinceramente, me arrependi de criar esse tópico…


Pergunta doente, todos tópicos assim da rolo…

E SE VOCÊ MORRER?

Nem estude

Fiquei curioso com sua afirmação.

Poderia sentar, ler e aprender :slight_smile:

Outro que falou sobre o tópico tosco, quando há uma conversa com um pouco mais de neurônios a galera não gosta ? Vai entender …

Andre_Brito

Kenobi,

Valeu por me defender cara :slight_smile:
Alguém enfim do meu lado!

rubinelli

Isso é tão equivocado que não chega nem a ser errado.

Kenobi

dedejava:
Kenobi,

Valeu por me defender cara :slight_smile:
Alguém enfim do meu lado!

Acho que vc está com algum problema de inversão de bit :slight_smile: rsss

Luiz_Aguiar

vc tbm poderia fazer isso né, afinal das suas 15 mensagens até agora no GUJ vc só atrapalhou e não ajudou ninguém, só falou coisa inútil e ficou promovendo flames nos tópicos, então fique sabendo que isso aqui não é casa da mãe joana, e se não gostou, reclame com um administrador ou fale DIRETO comigo, não fique usando os tópicos para escrever suas porcarias!

PS: desulpem os outros membros e moderadores se fui áspero, mas tem gente que merece!

dudaskank

Acho que não :stuck_out_tongue:

dreamspeaker

Até que não foi ruim, o tópico gerou algumas informações interessantes, e afinal, nem teve motivo pra ser bloqueado! (ainda… rs…)

Bem, agora já tem motivo! :?

P

novatao:

vc tbm poderia fazer isso né, [size=18]afinal das suas 15 mensagens até agora no GUJ vc só atrapalhou [/size]e não ajudou ninguém, só falou coisa inútil e ficou promovendo flames nos tópicos, então fique sabendo que isso aqui não é casa da mãe joana, e se não gostou, reclame com um administrador ou fale DIRETO comigo, não fique usando os tópicos para escrever suas porcarias!

Não é a casa da mãe joana mas ta parecendo a da veia Maria, Não tem o que fazer nao ?
psiu. vc por favor nao fique bisbilhotando as minhas mensagens seu inutil, deve ser um programador delphi disfarçado aqui so pode o sujeitinho bobo! e esse tópico é o pior q já vi estou me retirando desta merda apartir de agora sinta -se a vontade para escrevinhar o que vc quizer este tópico é a sua cara [size=24]tosco[/size]

[size=24]quem diria o tal do moderador é o mais tosco de todos no topico, muleque[/size]

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.

P

novatao:

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.

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

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.

rubinelli

JForum consegue banir por IP?

Luca

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)

P

Talvez acabe junto com o cobol !!! hehehehe

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

pcalcado

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.

P

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.

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

Gauss

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!

Thiagosc

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.

recoma

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!!

Mauricio_Linhares

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.

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.

Thiagosc

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.

Mauricio_Linhares

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

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/

pcalcado

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.

eliziario

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”.

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:

Mauricio_Linhares

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 ;-)

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:

eliziario

Maurício Linhares:
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 ;-)

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:

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.

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.

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…

louds

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.


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.

cmilfont

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/

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

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

cmilfont

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

Jonatas

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

Mauricio_Linhares

cmilfont:
Thiagosc:

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

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

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

rubinelli

Maurício Linhares:
cmilfont:
Thiagosc:

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

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

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

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.

jjose

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

saoj

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.

Proteu_Alcebidiano

É, 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+

Andre_Brito

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 (é?).

louds

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.

F

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.

rubinelli

Só pegando um ponto:

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.

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.

rubinelli

saoj:

Java adiciona uma virtual machine com garbage collection a C++.

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.

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).

louds

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.

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.

Andre_Brito

louds,

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

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

pcalcado

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.

fabioissamu:

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

?

louds

dedejava:
louds,

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

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

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.

ASOBrasil

louds:
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.

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.

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?

Andre_Brito

louds:
dedejava:
louds,

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

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

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.

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?

renatosilva

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

C

Peraí…

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

rubinelli

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.

P

rubinelli:
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.

Peraê, Java está perdendo terreno para PHP? :shock: :shock: :shock: :shock: :shock:

Pára né! :stuck_out_tongue:

F

PHP talvez tenha que se dizer o novo acronimo LAMP
Vi que Rails é como se fosse um super code maker, faz a engenharia reversa do database.
Gera um CRUD das suas tabelas do mysql no modelo MVC
ou seja, gera um POJO o controle e a visão (o formulário para inserir editar e lista a tabela).
O que de fato reduz um bocado de trabalho.

P

Ainda nao olhei RoR a fundo nao, agora, PHP jpa trabalhei um bocado com ele…

e não acho q ele põe “medo” em JAVA, mas nem de longeeee…e tb não concordo que java vai acabar por causa de RoR tb nao…

Já tem um booom tempo q RoR tá ai no mercado e somente “agora” que está acontecendo esse auvorosso emcima da linguagem…

E durante esse tempo, a comunidade JAVA, tb, ganhou vários adeptos…

Muitos que postaram aqui “contra” o java, um dia idolatravam a linguagem. Tá certo que devemos nos adaptar às novas tecnologias e escolher a que melhor se encaixa em nosso perfil.

“Ah, Rails é um ótimo framework para Ruby, faz engenharia reversa do banco e etc e etc…”
Alguem ja ouviu falar do CakePHP - framework MVC para PHP ??
Então, é mto bom tb… tem scaffolding, reconhece as tbls se vc manter os mesmos nomes…Entao por que a comparação JAVA e RoR?!

nao sei o quanto RoR é melhor do que PHP + CakePHP - por exemplo, pois nunca usei RoR, mas acho q esse povo q está “agarrado” com RoR esqueceu que JAVA é uma ótimo lingaguem e a cada dia ganha novos adeptos tb…e, se fosse tão ruim assim, as empresas ja estariam dando um jeito de aos poucos irem migrando para RoR, e não é o q vejo em agencias de empregos na web…

F

Ruby é a linguagem e Rails é o framework,
o qual parece com um tal de webwork, com ele vc faz a engenharia reversa do banco e escreve o teu CRUD com hibernate e tals

Agora fui olhar mais a fundo a linguagem, pois vi que o framework Rails é bom, mas Java possui equivalentes e se somar tudo Java ganha, com uma curva de aprendizado maior claro.

Características da linguagem Ruby:

Nem fraca nem fortemente tipada -> Prefiro Java
Herança múltipla -> resolveram esse problema, mas não captei direito como
IO mais intuitiva -> realmente o IO padrão do Java é meio estranho
Alterar operadores -> legal, sempre quis alterar o operador == de string no java :slight_smile:

Bom possui muitas facilidades das linguagens de tipagem fraca, como declaração super fácil.
Ex: em uma lista vc coloca inteiro, string, objetos, vetores, etc.
E também bagunça mais fácil, no meu ponto de vista.
possui tratamento de erro try catch porém com outra sintaxe,
prefiro try catch que é igual a php, javascript, etc.
porém o deles tem mais um argumento chamado retry
o que pra qualquer um que saiba fazer um loop não é nenhuma grande vantagem!

É o Ruby está aí e mais parece uma grande jogada de marketing do que necessariamente uma revolução.

P

Eu sei disso :stuck_out_tongue:

Concordo!!

pcalcado

Rals ão faz ‘engenharia reversa do banco’ (aé pode azer mas até aí Hibernate tambem faz) e nem parece com o WebWork (que também não faz).

Acho que você precisa olhar mais a fundo.

Ruby é fortemente tipada, 5 segundos de google te mostram isso, ela não é estaticamente tipada, o que é diferente.

Ruby não em herança múltipla, tem mixins.

Você faz isso com java sem problema algum.

fabioissamu:

É o Ruby está aí e mais parece uma grande jogada de marketing do que necessariamente uma revolução.

E parece que você precisa pesquisar mais antes de tirar conclusões em público…

P

Shoes,

em mtos posts vejo vc sempre do lado do Ruby, RoR…

curiosidade, durante qnt tempo vc programou em Java ? E, há qnt tempo vc programa com Ruby e RoR?!

C

Peraí…

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

A ta, pelo que andei pesquisando nao sao paradigmas excludentes ne…

Aproveitando a oportunidade… alguem pode indicar alguma referencia sobre esses diferentes paradigmas? Atualmente estou procurando estudar alguma coisa diferente de java e acredito que conhecendo bem os diferentes tipos de linguagens eu poderia tomar uma decisão que nao fosse baseada apenas em hype.

pcalcado

Eu programo em Java há sete anos ao menos. E em Ruby há quase três.

Rodrigo.Lima

owned!

F


E parece que você precisa pesquisar mais antes de tirar conclusões em público…

Cara, não sei se vc reparou mas estou pesquisando, e como todos, estamos criticando e chegando a conclusões que agradam ou não.

Mixins é para fazer o que? Qual o objetivo?
Entonces não sei como se chama herdar características de mais de uma classe…

Colocar vários tipos em uma lista não é tão simples quanto vc está falando.
Talvez só colocar, mas depois fazer um tratamento é outra coisa, precisa de interfaces, etc.

Não vi ainda o Hibernate escrever formulários e métodos de controle, desculpe a minha falta de pesquisa :slight_smile:

Mauricio_Linhares

fabioissamu:
Mixins é para fazer o que? Qual o objetivo?
Entonces não sei como se chama herdar características de mais de uma classe…

Herdar características de mais de uma classe? Herança!

Um objeto como um Integer em Java herda de Number e Object. Um Mixins são um modo de se conseguir algo parecido com o que herança multipla faz, mas mixins não fazem herança múltipla.

fabioissamu:
Colocar vários tipos em uma lista não é tão simples quanto vc está falando.
Talvez só colocar, mas depois fazer um tratamento é outra coisa, precisa de interfaces, etc.

Não foi isso que você disse… “Ex: em uma lista vc coloca inteiro, string, objetos, vetores, etc.”

Heim?

Acho que é melhor você ir descobrir o que é o “tal de webwork” antes de começar a falar dele. E o Hibernate também.

F

Ok, esquece o Hibernate e o WebWork.

será que alguém pode me dizer como funciona o tal de mixins?
Realmente boiei nessa parte do Ruby

Ex.: Tenho um carro e um barco
quero criar um carro-anfíbio, uma solução para enchentes.
É possível? Se sim como seria?

Mauricio_Linhares

fabioissamu:
será que alguém pode me dizer como funciona o tal de mixins?
Realmente boiei nessa parte do Ruby

Trazendo pro mundo Java, um mixin seria algo como uma interface que tem uma implementação (na verdade, é até possível de se fazer isso em Java -> http://ghostoffreedom.blogsome.com/heranca-multipla-em-java/ ). Pra entender melhor o que é isso o melhor a se fazer é estudar Ruby e ver aonde e como se utilizam essas coisas.

F

o problema clássico da herança múltipla

o carro tem um motor
o barco também
o meu veículo anfibio tem qual motor?

Trazer junto a implementação é algo interessante.

F

Desculpem o webwork quis dizer eclipsework :wink:

C

Esse movimento que tenta desbancar java como linguagem mainstream revela um receio e o que algumas pessoas realmente adoram do java…

Eu gosto de programar em java e acho que isso ainda pagara meu salario por muitos anos. Mas e quando ela deixar de ser viavel comercialmente? ainda tera a admiracao de todas essas pessoas? Este é o momento que ela acabaara pra você?

Portanto caro rodrigo lima, se sua mensagem foi realmente pra mim, por favor, me inclusa fora desse movimento passional… eu programo em java ha uns 6 anos e atualmente apenas quero conhecer algo novo para brincar nas horas vagas… algo que em breve terei de sobra.

E vida longa a Java!

ViniGodoy

Maurício Linhares:

Um objeto como um Integer em Java herda de Number e Object. Um Mixins são um modo de se conseguir algo parecido com o que herança multipla faz, mas mixins não fazem herança múltipla.

Como não? Poder implementar várias “interfaces com implementação” é herança múltipla!

ViniGodoy

Fábio,

Li seu post ali atrás e você aparentemente coloca C e C++ no mesmo balaio.

As duas são linguagens radicalmente diferentes, tanto no que se propõe, quanto na forma de programar, quanto nos paradigmas que implementam e no tipo de aplicações que cobrem.

Mauricio_Linhares

ViniGodoy:
Maurício Linhares:

Um objeto como um Integer em Java herda de Number e Object. Um Mixins são um modo de se conseguir algo parecido com o que herança multipla faz, mas mixins não fazem herança múltipla.

Como não? Poder implementar várias “interfaces com implementação” é herança múltipla!

O relacionamento de é um é completamente diferente de um relacionamento de tem um. Quando você usa mixins você não está dizendo que é um mas que você usa um mixin, não se herda de mixins, você inclui mixins nos seus objetos.

rubinelli
Aqui vai um exemplo de mixin, usando o módulo Comparable:
#
# Essa é a declaração da nossa classe
#
class Clube
  # aqui estamos criando uma propriedade read-only chamada pontos
  attr_reader :pontos
  
  # initialize é o construtor da classe
  def initialize
    @pontos = 0
  end
  
  # temos 3 métodos para alterar a quantidade de pontos: ganhou, perdeu, e empatou
  def ganhou
    @pontos += 3
  end
  
  def empatou
    @pontos += 1
  end
  
  def perdeu
  end

  # aqui a gente adiciona o mixin Comparable, que tem os métodos >, <, ==, !=, e por aí vai
  include Comparable
  
  # para Comparable funcionar, precisamos definir só esse método (o "barco")
  def <=>(other)
    self.pontos <=> other.pontos
  end

end


flamengo = Clube.new
fluminense = Clube.new

flamengo.ganhou
fluminense.empatou

# dá para inserir expressões na string usando #{}
puts "Flamengo tem #{flamengo.pontos} ponto(s)"
puts "Fluminense tem #{fluminense.pontos} ponto(s)"
puts "Flamengo e Fluminense estão empatados: #{flamengo == fluminense}"
puts "Flamengo está na frente: #{flamengo > fluminense}"

Experimente fazer o download do Ruby e rodar o programinha acima. Se você quiser mais detalhes sobre mixins pode checar esse tutorial em português.

F

ViniGodoy:
Fábio,

Li seu post ali atrás e você aparentemente coloca C e C++ no mesmo balaio.

As duas são linguagens radicalmente diferentes, tanto no que se propõe, quanto na forma de programar, quanto nos paradigmas que implementam e no tipo de aplicações que cobrem.

É que eu participei de maratona de prog, na verdade eu considero que C está todo contido em C++ e por isso coloco o C dentro do balaio do C++,
mas vc está completamente certo, elas são bem diferentes.
uma é OO e a outra não, já diz tudo :wink:

F

rubinelli:
Aqui vai um exemplo de mixin, usando o módulo Comparable:

Valeu pelo exemplo :slight_smile:
Fui ver o link, a falta de identação torna um pouco mais hard a compreensão do artigo.
Então quando vc importa o módulo tudo que for definido nele fica visível na classe que importa/herda,
e o módulo é como se fosse uma classe abstrata, que pelo que li vc não pode instanciar.

ViniGodoy

Não só OO.

O C++ tem o paradigma estruturado (como vc mesmo falou, o C está contido nele);

Tem o paradigma OO e

Tem o paradigma de programação genérica (templates);

Além disso, ele também tem a biblioteca padrão, a STL, que inclui a classe string, classes com listas, algoritmos prontos e até um smart pointer (há planos para terem mais smartpointers no futuro, eles já estão inclusive na TR1).

Eu falei das mixin classes pq em várias implementações ela é feita através de herança múltipla, embora do ponto de vista semântico, não seja mesmo herança. Como venho do C++, sempre associei mixin a herança múltipla, embora conceitualmente você esteja certo, são coisas diferentes. Por lá, usamos programação genérica e o conceito de Policy como alternativa a mixins.

Agora que vi que tem linguagens que já tem um suporte melhor ao conceito de mixin. Bom saber. Sempre pareceu um conceito interessante.

F

ViniGodoy:
Não só OO.

O C++ tem o paradigma estruturado (como vc mesmo falou, o C está contido nele);

Tem o paradigma OO e

Tem o paradigma de programação genérica (templates);

Além disso, ele também tem a biblioteca padrão, a STL, que inclui a classe string, classes com listas, algoritmos prontos e até um smart pointer (há planos para terem mais smartpointers no futuro, eles já estão inclusive na TR1).

Eu falei das mixin classes pq em várias implementações ela é feita através de herança múltipla, embora do ponto de vista semântico, não seja mesmo herança. Como venho do C++, sempre associei mixin a herança múltipla, embora conceitualmente você esteja certo, são coisas diferentes. Por lá, usamos programação genérica e o conceito de Policy como alternativa a mixins.

Agora que vi que tem linguagens que já tem um suporte melhor ao conceito de mixin. Bom saber. Sempre pareceu um conceito interessante.

Pois é, tem até generics! :slight_smile:
O barato é sobreescrever operadores, li que em Ruby também dá.

OFF-TOPIC ViniGodoy, vc já usou Blender?

ViniGodoy

Não usei o Blender. Como artista sou um ótimo programador. hehehehehe

A programação genérica é muito mais poderosa que os generics. Por lá você pode fazer classes herdarem de T, criar instâncias de T, ou mesmo fazer código que executa em tempo de compilação! :slight_smile:

Os generics são uma tentativa de reforçar o sistema de tipos. A programação genérica é justamente o contrário.

F

Hummm generics != generica
Pq blender é com Python,
que também vai acabar com Java :slight_smile: (brincadeira!)

louds

ViniGodoy,

C++ não possui generics, possui templates que é um recurso muito diferentes. Generics é o nome bonitinho de parametric types. Templates no C++ são 2 coisas, primeiro macros estruturadas, pois todo código de um template é instantiation time lazily expanded*; o outro é dependent types**

C e C++ são linguagens diferentes, código legal escrito em C não necessáriamente compila como C++. Os estilos de desenvolvimento com C e C++ são tão distintos que tratá-las como a mesma linguagem é por demais superficial.

Generics apenas no caso do Java é uma, fracassada, tentativa de melhorar o sistema de tipos. Outras linguagens permitem operar sobre os parâmetros, definir variância e são usadas por muitos outros motivos.

*Isso implica que qualquer raciocínio sobre o tipo final só pode ser feito depois da sua expansão. Isso não é necessário com generics.

**http://en.wikipedia.org/wiki/Dependent_type

C

Para quem criou o tópico: sinto te informar, mas você trabalhar com informática é viver num “será?” em loops infinitos…Nunca se sabe se determinada lgg vinga ou “morre”…Enfim, vc sempré tera que se atualizar ou se adaptar às mudanças…Informática é coisa relativamente nova, meu pai trabalhava com Cobol há 15 anos atráse hj em dia o paradigma mudou completamente, de estruturado para orientado a objetos…Eu prevejo que o futuro será uma colcha de retalhos: vários sistemas diferentes integrados por SOA, o que torna a lgg o de menos…
E pare de se preocupar com o Mercado, moço…
Não somos nós que temos que depender dele, e sim ele da gente

P

Fiquei até arrepiado agora…

hahaha

é isso ai!!!

F

Só pq o seu pai é professor da PUC?
(brincadeira)

ViniGodoy

louds:
ViniGodoy,

C++ não possui generics, possui templates que é um recurso muito diferentes. Generics é o nome bonitinho de parametric types. Templates no C++ são 2 coisas, primeiro macros estruturadas, pois todo código de um template é instantiation time lazily expanded*; o outro é dependent types**

E não foi o que eu disse? Só não entrei em tanto detalhe técnico pq ficar falando os nomes bonitos não ajuda a ninguém.
Eu falei no paradigma de programação genérica, não em generics. Até num post posterior eu expliquei que são coisas diferentes.

Eu não concordo que seja fracassada. Aliás, está dentro do que foi proposto. É mesmo menos poderoso que templates, e muito mais limitado do que outras linguagens fazem. Mas ele nunca se propos a ser mais do que isso.

O problema é a integração dos generics com a reflexão. Mas como programação reflexiva é um problema à parte, era de se esperar que as coisas não casassem bem mesmo.

C

issamu, como sabe que meu pai é professor da PUC?
o.O

F

Galera que manja de Ruby e Java,
o que não dá pra fazer com Ruby que dá pra fazer com Java?
E
o que dá pra fazer com Ruby que não dá pra fazer com Java?

Pergunto isso pq a escolha da linguagem é realmente para resolver o seu problema.

Talvez fosse melhor perguntar:

Quais problemas é melhor atacar com Ruby e quais o melhor é Java?

F

carlavb:
issamu, como sabe que meu pai é professor da PUC?
o.O

É que eu tenho um super informante.
:slight_smile:

C

hahhahaha vc trabalha com o Haroldo =p
o Mundo Java é um ovo =p

rubinelli

fabioissamu:
rubinelli:
Aqui vai um exemplo de mixin, usando o módulo Comparable:

Valeu pelo exemplo :slight_smile:
Fui ver o link, a falta de identação torna um pouco mais hard a compreensão do artigo.
Então quando vc importa o módulo tudo que for definido nele fica visível na classe que importa/herda,
e o módulo é como se fosse uma classe abstrata, que pelo que li vc não pode instanciar.

É, os módulos funcionam de uma maneira parecida com classes abstratas do Java, mas o legal é como você consegue “plugar” os módulos usando duck typing. Existem vários outros exemplos. Pra criar uma enumeration, por exemplo, você cria um método each e faz um include Enumerable; pra criar um singleton, include Singleton e pronto.

F

carlavb:
hahhahaha vc trabalha com o Haroldo =p
o Mundo Java é um ovo =p

Pois é, o Haroldo é o cara!

F
rubinelli:
É, os módulos funcionam de uma maneira parecida com classes abstratas do Java, mas o legal é como você consegue "plugar" os módulos usando duck typing. Existem vários outros exemplos. Pra criar uma enumeration, por exemplo, você cria um método each e faz um include Enumerable; pra criar um singleton, include Singleton e pronto.
Existe algum modo, assim como no php de incluir um código dinamicamente? ex:
<?php
include("geracodigo.php?id=42");
?>
geracodigo.php
if($_GET['id']==42){
    echo "if(){//blablabla}";
}else{
    echo "echo 'blablabla';";
}
gibaholms

Oi dedejava

Então cara… vou falar meu ponto de vista. Pra mim, o Java não vai acabar (pode até ser que acabe, mas eu realmente não acredito que isso aconteça).
É só pensar no Cobol. Porque até hoje ele não acabou ? Porque tem sistemas realmente extremamente grandes que custaram milhares de dólares pra fazer e que, como funcionam bem e atendes às necessidades, não há motivos nem tempo e nem dinheiro para substituir, ou seja, seria inviável. Imagina o Banco do Brasil chegar e falar que vai tirar o Cobol dos mainframes e trocar por java… rsrs… todo aquele sistema legado que funcionou a não sei quantos anos e todas as aplicações que foram feitas baseadas nele e que custaram milhões virarem lixo de uma hora pra outra.

A partir do momento que se tem um sistema grande e funcional rodando em Java, por mais que outras tecnologias crescam mais que o Java, esse sistema não será aposentado “tão cedo”. Pode sim diminuir o numero de empresas que utilizam, mas nunca vai “sumir” de vez.

Quanto a certificação, as empresas valorizam muito a certificação não só por “ser um expert em Java”. Ter uma certificação significa que você é capaz de realizar metas, horários, ter disciplina, ser organizado… não se tira uma certificação de uma hora pra outra, é preciso muito estudo e disciplina, e as empresas valorizam isso.

Pode tirar sua certificação rapaz… garanto que será um bom diferencial, com Java ou sem Java… rsrs

Abraço!

rubinelli

fabioissamu:
Existe algum modo, assim como no php de incluir um código dinamicamente?

Existe, sim. O modo mais simples é simplesmente chamar eval passando o código que você quer executar como string. Mas isso até o JavaScript faz. :slight_smile:

F

Muito bom, será que a maioria das linguagens script fazem isso?
Ruby -> Sim
Asp (descontinuado) -> Sim
ActionScript -> Sim
PHP -> Sim
Lua -> Sim
Python -> Sim
Macromedia Director “Lingo” (morto) -> Sim

É possível com Java?
Snif java não tem eval de forma simples
http://mindprod.com/jgloss/eval.html

saoj

Se vc quiser usar java como uma linguagem de script, vá de BeanShell!

http://www.beanshell.org/

Logo o beanshell vai estar no JSE. É só esperar um pouco…

:slight_smile:

P
fabioissamu:
rubinelli:
É, os módulos funcionam de uma maneira parecida com classes abstratas do Java, mas o legal é como você consegue "plugar" os módulos usando duck typing. Existem vários outros exemplos. Pra criar uma enumeration, por exemplo, você cria um método each e faz um include Enumerable; pra criar um singleton, include Singleton e pronto.
Existe algum modo, assim como no php de incluir um código dinamicamente? ex:
<?php
include("geracodigo.php?id=42");
?>
geracodigo.php
if($_GET['id']==42){
    echo "if(){//blablabla}";
}else{
    echo "echo 'blablabla';";
}

só um detalhe, vc nao consegue fazer isso no PHP nao:
include("geracodigo.php?id=42");
:P

F
pardal_nb:
fabioissamu:
rubinelli:
É, os módulos funcionam de uma maneira parecida com classes abstratas do Java, mas o legal é como você consegue "plugar" os módulos usando duck typing. Existem vários outros exemplos. Pra criar uma enumeration, por exemplo, você cria um método each e faz um include Enumerable; pra criar um singleton, include Singleton e pronto.
Existe algum modo, assim como no php de incluir um código dinamicamente? ex:
<?php
include("geracodigo.php?id=42");
?>
geracodigo.php
if($_GET['id']==42){
    echo "if(){//blablabla}";
}else{
    echo "echo 'blablabla';";
}

só um detalhe, vc nao consegue fazer isso no PHP nao:
include("geracodigo.php?id=42");
:P


Talvez haja um erro de sintaxe ou vc deva colocar a url toda, mas funciona sim :-)

P

vc nao pode dar um INCLUDE em uma pagina passando uma query string junto…

:twisted: :twisted: :twisted:

:smiley:

F

pardal_nb:
vc nao pode dar um INCLUDE em uma pagina passando uma query string junto…

:twisted: :twisted: :twisted:

:smiley:


:?:

Isso q vc está dizendo pra mim é novo, qual versão do PHP vc tá falando?
Sei lá, php sempre muda as coisas sem avisar!
Pelo menos é o que dizem :slight_smile:

http://br.php.net/include/

louds

Eu não concordo que seja fracassada. Aliás, está dentro do que foi proposto. É mesmo menos poderoso que templates, e muito mais limitado do que outras linguagens fazem. Mas ele nunca se propos a ser mais do que isso.

O problema é a integração dos generics com a reflexão. Mas como programação reflexiva é um problema à parte, era de se esperar que as coisas não casassem bem mesmo.

Foi feito aquilo que foi dito que seria entregue, não aquilo que foi proposto. Basta conhecer um pouco da história de generics no Java para saber disso. O Pizza Compiler, que depois se tornou o GJ, suportava todos os tipos como parâmetros, incluindo primitivos e arrays. O próprio Bracha já escreveu publicamente que sobre todas as frustrações dele de entregar uma linguagem melhor mais acabou desistindo.

Por sinal, não entegraram tudo que prometeram. Falaram que por usar erasure, código com generics executaria em versões anteriores do Java, coisa que não aconteceu.

WIldcards, apesar de serem conceitualmente muito legal, são um desastre para consumo geral, 99,9% dos programadores Java tem convulsões se tentarem entender como usá-las corretamente.

pcalcado

http://fragmental.tw/2007/12/17/javas-future-and-the-language-explosion-problem/

everson_z

Pergunta doente, todos tópicos assim da rolo…

E SE VOCÊ MORRER?

Nem estude :!:

Criado 12 de dezembro de 2007
Ultima resposta 13 de dez. de 2007
Respostas 169
Participantes 54