Migracao delphi para java

[quote=marcosalex]heheh Também tinha observado isso.

De qualquer forma, é uma discussão interessante das experiências com programas legados.

Participei de migração Delphi pra Java em duas empresas e é sempre do jeito que o pessoal falou aqui. Onde estou atualmente, ainda conseguimos uma transição mais suave migrando o servidor de aplicação de Delphi+sockets pra Java+Jboss+soap.

Mas só funcionou porque o pessoal já desenvolvia separando as regras de negócios da interface. Mesmo que não era uma coisa 100%, mas ajudou no projeto.[/quote]

Li o tópico desdo inicio e tbm achei a discusão interessante, porém o objetivo do Delphi e o do Java são diferente em questão de programação, delphi é mais voltado a ser produtivo.
E o java podemos dizer que é voltado a um conceito diferente de programação, a sua idéia de OO, tem como objetivo construir programas muito mais complexos dos que os feitos em Delphi.

Obs: EU sei que delphi tbm é OO, mais com a IDE dele vc praticamente se nega a existência do OO.

[quote=PAULOSJR][quote=marcosalex]heheh Também tinha observado isso.

De qualquer forma, é uma discussão interessante das experiências com programas legados.

Participei de migração Delphi pra Java em duas empresas e é sempre do jeito que o pessoal falou aqui. Onde estou atualmente, ainda conseguimos uma transição mais suave migrando o servidor de aplicação de Delphi+sockets pra Java+Jboss+soap.

Mas só funcionou porque o pessoal já desenvolvia separando as regras de negócios da interface. Mesmo que não era uma coisa 100%, mas ajudou no projeto.[/quote]

Li o tópico desdo inicio e tbm achei a discusão interessante, porém o objetivo do Delphi e o do Java são diferente em questão de programação, delphi é mais voltado a ser produtivo.
E o java podemos dizer que é voltado a um conceito diferente de programação, a sua idéia de OO, tem como objetivo construir programas muito mais complexos dos que os feitos em Delphi.

Obs: EU sei que delphi tbm é OO, mais com a IDE dele vc praticamente se nega a existência do OO.[/quote]

As duas ferramentas servem para desenvolver o mesmo tipo de software. E só porque a linguagem é java, isso não quer dizer que pode construir softwares mais complexos que em pascal. O problema do delphi é o suporte a ferramenta, que a borland não dá mais.

Por que a IDE nega a existência do OO?

Cara disse isso pq difícilmente vc ver alguém criando uma classe, etc.

Eu comecei a programar em Delphi sem ao menos saber oque era uma classe.

Você clica em um Objeto da aba aperta F11, vai em nome e digita um nome.

Você não se preocupa com nada. você programa com Objetos, da pra dizer que o delphi é um editor de programas uehaueahuehauea

Mais não estou dismerecendo ele, uso delphi e muito.
Delphi foi concerteza uma grande evolução para programação.

Não disse que vc não pode criar coisas mais complexas em delphi.

Mais concerteza vc nunca vai usar delphi para fazer um software complicado, e quando digo complicado não estou falando de um aplicativo de desktop grande.

Sabe: chega a ser ridículo o modo como as pessoas reduzem o Delphi a um mero lego.

Comentários do tipo “em Java eu faço coisas complexas, em Delphi faço formulários” ou “Delphi é uma ferramenta de produtividade, enquanto Java é OO” são tão comuns que há momentos nos quais eu me pergunto se quem as diz REALMENTE sabe do que está falando…

1 curtida

[quote=kicolobo]Sabe: chega a ser ridículo o modo como as pessoas reduzem o Delphi a um mero lego.

Comentários do tipo “em Java eu faço coisas complexas, em Delphi faço formulários” ou “Delphi é uma ferramenta de produtividade, enquanto Java é OO” são tão comuns que há momentos nos quais eu me pergunto se quem as diz REALMENTE sabe do que está falando…[/quote]

Com certeza. Temos dois projetos em delphi aqui. Na época tínhamos duas opções para desenvolvê-lo. Ou c++ ou Object Pascal com o delphi. Como ferramenta o delphi era muito mais produtivo que visual studio. Java não servia porque era um software para processar video em realtime. Então escolhemos o delphi.

http://images.google.com.br/imgres?imgurl=http://loja.tray.com.br/loja/img_prod_temp/139993/180_1119_1.jpg&imgrefurl=http://loja.tray.com.br/loja/produto-139993-1119-placa_de_captura_citrox_cx4016_dvr_16_canais_120_fps&usg=__DYcJF534vxf2TLUWROimqdSvTo4=&h=180&w=180&sz=4&hl=pt-BR&start=26&um=1&tbnid=N4pciRHFw8i4DM:&tbnh=101&tbnw=101&prev=/images%3Fq%3Dcftv%2Bcitrox%26ndsp%3D20%26hl%3Dpt-BR%26sa%3DN%26start%3D20%26um%3D1

Sabem, continuando o meu raciocínio, a impressão que tenho ao ouvir bobagens do tipo “Java para coisas complexas e Delphi para formulários” é a de que existe “linguagem para ser competente” e “linguagem para ser morcego”, ou seja, é um dos papos mais furados que já vi.

Só pra lembrar, Skype é feito em Delphi (pelo menos era o caso mais famoso)

1 curtida

[quote=kicolobo]Já passei por esta situação algumas vezes.

Em todas elas topei com o seguinte problema: a lógica de negócio estava embutida quase que inteiramente nos formulários. E units eram criadas apenas para incluir uma ou outra função de uso mais geral.

No início, é difícil, porque basicamente você vai tentar programar em Java como fazia em Delphi: e vai dar errado (é o comportamento mais comum que observei)
No entanto, após a segunda tentativa, você começa a se acostumar com a OO (apesar de Delphi ser orientado a objetos, as pessoas costumam se esquecer disto (principalmente os Delpheiros)) e, numa boa? É um aprendizado fascinante apesar do stress que você vai passar com outras pessoas que possam estar bitoladas com Delphi.[/quote]

Foi basicamente o que aconteceu comigo, quando comecei a aprender o programa nascia com uma tela na minha lógica, depois de aprender OO, hoje primeiro penso em classes e relacionamentos e só depois que penso em qualquer outra coisa (acesso ao banco por exemplo, isso é uma coisa que delphero sempre pensa antes de tudo).

[quote=laudenpower][quote=kicolobo]Já passei por esta situação algumas vezes.

Em todas elas topei com o seguinte problema: a lógica de negócio estava embutida quase que inteiramente nos formulários. E units eram criadas apenas para incluir uma ou outra função de uso mais geral.

No início, é difícil, porque basicamente você vai tentar programar em Java como fazia em Delphi: e vai dar errado (é o comportamento mais comum que observei)
No entanto, após a segunda tentativa, você começa a se acostumar com a OO (apesar de Delphi ser orientado a objetos, as pessoas costumam se esquecer disto (principalmente os Delpheiros)) e, numa boa? É um aprendizado fascinante apesar do stress que você vai passar com outras pessoas que possam estar bitoladas com Delphi.[/quote]

Foi basicamento o que aconteceu comigo, quando comecei a aprender o programa nascia com uma tela na minha lógica, depois de aprender OO, hoje primeiro penso em classes e relacionamentos e só depois que penso em qualquer outra coisa (acesso ao banco por exemplo, isso é uma coisa que delphero sempre pensa antes de tudo).[/quote]
Isso também ocorre com o .Net. O pessoal não sabe trabalhar OOP e acaba fazendo procedural mesmo. Aliás, quem disse que em Java não tem desses também?

Olha, tem e eu já vi. Acredito que o código gerado nesses casos é muito pior que delphi, mas acho que é a forma como os conceitos são passados, se todo programador delphi aplicasse os conceitos OO “na carne”, ia começar em java com bilhões de quilômetros de distância de qualquer novato em java.

[quote=kicolobo]Sabem, continuando o meu raciocínio, a impressão que tenho ao ouvir bobagens do tipo “Java para coisas complexas e Delphi para formulários” é a de que existe “linguagem para ser competente” e “linguagem para ser morcego”, ou seja, é um dos papos mais furados que já vi.

Só pra lembrar, Skype é feito em Delphi (pelo menos era o caso mais famoso)[/quote]

Amigo quando for postar em um forum poste sua opnião critica de forma construtiva, não tente ofender ou se sentir ofendido.

A idéia e trocar idéias.

Voltando a ideia do delphi, quantas vezes vc criou uma classe em delphi:

Uma coisa que vejo muito é nego falando puts, vou ter que alterar todos os forms da aplicação ae eu digo:
E pergunto se não tem como alterar o formulário padrao para que todos recebam como herança a mudança.

Como disse delphi não é uma péssima ferramente, só que a sua facilidade leva a ignorância, os cara sai apertando parafusos sem saber para que.

E sim em java vc faz coisas muito mais complexas que em delphi.

[quote=PAULOSJR][quote=kicolobo]Sabem, continuando o meu raciocínio, a impressão que tenho ao ouvir bobagens do tipo “Java para coisas complexas e Delphi para formulários” é a de que existe “linguagem para ser competente” e “linguagem para ser morcego”, ou seja, é um dos papos mais furados que já vi.

Só pra lembrar, Skype é feito em Delphi (pelo menos era o caso mais famoso)[/quote]

Amigo quando for postar em um forum poste sua opnião critica de forma construtiva, não tente ofender ou se sentir ofendido.

A idéia e trocar idéias.

Voltando a ideia do delphi, quantas vezes vc criou uma classe em delphi:

Uma coisa que vejo muito é nego falando puts, vou ter que alterar todos os forms da aplicação ae eu digo:
E pergunto se não tem como alterar o formulário padrao para que todos recebam como herança a mudança.

Como disse delphi não é uma péssima ferramente, só que a sua facilidade leva a ignorância, os cara sai apertando parafusos sem saber para que.

E sim em java vc faz coisas muito mais complexas que em delphi.
[/quote]

Paulinho,

não me senti agredido ou intencionei agredir ninguém (sinto muito se a carapuça lhe serviu).
Vamos dar uma relida no meu primeiro parágrafo para expor que minha crítica foi na realidade construtiva?

a impressão que tenho ao ouvir bobagens do tipo “Java para coisas complexas e Delphi para formulários” é a de que existe “linguagem para ser competente” e “linguagem para ser morcego”, ou seja, é um dos papos mais furados que já vi.

  1. Por que é uma bobagem dizer coisas do tipo “Java para coisas complexas e Delphi para formulários” - porque o Object Pascal (agora se chama Delphi memso) é uma linguagem muito poderosa e que já foi usada inúmeras vezes no desenvolvimento de softwares críticos pelo mundo. O editor de formulários é apenas uma funcionalidade a mais que o ambiente de desenvolvimento Delphi apresenta.

Sendo assim, fica exposto que é tolice dizer que Delphi é apenas uma linguagem para montar formulários, o que é basicamente o que é dito aqui quando você lê posts nos quais as pessoas dizem coisas como “eu só monto o meu formulário e incluo a lógica de programação lá dentro”.

Logo, aqui apontei um erro, certo? Como se chama isto? Crítica construtiva! Por que construtiva? Por que estou direcionando alguém para o caminho correto da questão.

Agora, vamos para a segunda frase do meu post.
2. Só pra lembrar, Skype é feito em Delphi (pelo menos era o caso mais famoso)

Uau! Alguém aqui ficou decepcionado porque o Skype é feito em Delphi e não em Java ou C++? Se sim, sinto muito, não foi a intenção. :slight_smile:

Quer fazer bonito pra alguém Paulinho? Comece tendo uma leitura crítica ok? Beijos.

Cara vc tem complexo.

Não estou tentando fazer bonito pra ngm, ao contrário de vc não acho que isso aqui seja uma vida de verdade.
Não estou tentando impressionar ngm.

Oque disse e se vc msm analizar oque escreveu vai ver 2que não disse nada construtivo

Normalmente oq vc vai usar para fazer esse programa é a documentação, se estiver atualizada (o que todo mundo sabe que quase nunca existe).
Mapeie todas as regras de negócio, telas, esquemas, banco e refaça todo ele pensando nas boas práticas, se tiver tabelas no BD inuteis ou utilizadas pra “gatos”, refaça desde o BD então e ve com um DBA se houver para ele migrar as informações sem perda.

[EDIT] Eu vi agora uma discussão em cima sobre Delphi e Java, seguinte o cara apenas quer saber como migrar então gente vamos manter o foco aqui, não existe pior nem melhor linguagem e sim pior e melhor programador, então sem discussões fora do contexto, por favor, vamos manter um nível e harmonia aqui. [/EDIT] :wink:

[quote=PAULOSJR][quote=kicolobo]Sabem, continuando o meu raciocínio, a impressão que tenho ao ouvir bobagens do tipo “Java para coisas complexas e Delphi para formulários” é a de que existe “linguagem para ser competente” e “linguagem para ser morcego”, ou seja, é um dos papos mais furados que já vi.

Só pra lembrar, Skype é feito em Delphi (pelo menos era o caso mais famoso)[/quote]

Amigo quando for postar em um forum poste sua opnião critica de forma construtiva, não tente ofender ou se sentir ofendido.

A idéia e trocar idéias.

Voltando a ideia do delphi, quantas vezes vc criou uma classe em delphi:

Uma coisa que vejo muito é nego falando puts, vou ter que alterar todos os forms da aplicação ae eu digo:
E pergunto se não tem como alterar o formulário padrao para que todos recebam como herança a mudança.

Como disse delphi não é uma péssima ferramente, só que a sua facilidade leva a ignorância, os cara sai apertando parafusos sem saber para que.

E sim em java vc faz coisas muito mais complexas que em delphi.
[/quote]

Como o que, por exemplo? Eu estou tentando entender o que se faz com java que não se faz em qualquer outra linguagem.

Já trabalhei em projetos desenvolvidos de forma totalmente procedural e também OO em Delphi.

Discordo que o Delphi seja uma ferramenta tipo lego para ignorantes de OO.

Mas também reconheço que a aplicação de OO e MVC não acontece de forma tão natural como em Java…

Em java, o próprio ambiente força (mas não impede totalmente) que o programa cresça em OO.

Em Delphi, dá para fazer. Mas a “tentação” está sempre perto…

Já vi projetos começarem corretos, mas por falta de pulso firme do lider, os datamodules começaram a proliferar como ervas daninhas, e logo logo as queries dentro dos formulários.

Já trabalhei em 8 empresas com Delphi, e em apenas uma eu acredito que o sistema possa ser classificado como projeto OO…

Os delpheiros gostam de componente (não todos). Afinal, querendo ou não, por mais que alguns não aceitem, foi a produtividade que popularizou o Delphi, e não a OO (embora ele possa ser OO).

E acredito que os poucos programas realmente OO em delphi existem apenas por causa do “heroísmo” de alguns bons programadores…

Isso porque a própria Embarcadero (e a Borland na época também…) continua focando na produtividade…

Tanto é que, até hoje, nas últimas versões, o Delphi não tem uma coisa, que EU pelo menos acredito que seria legal e um “incentivo” para usar OO com MVC:

Um grid que lê uma lista…

Até hoje isso não existe (até existe componentes de terceiros, mas não achei que ficou bom…).

Os grids do delphi estão presos a ler outros componentes de herdam de dataset (ou TDataset, para não ofender os delpheiros).

O problema disso que é o desenvolvimento acaba sendo mais fácil da forma “componentizada” (arrastar e soltar compomentes…).

Quando você começa a deselvolver uma aplicação MVC, começa bem, no Model, no Controller… Mas quando chega na View, esbarra com esse problema:

Você tem uma lista de objetos, seja pessoa, NF ou o que quer que seja… Mas o grid não lê a sua classe. O grid só lê herdeiros de TDataset… Daí então (já vi em mais de um lugar) o negócio que começou bonito, acaba com algumas (Deus me perdoe…) gambis para acoplar as camadas e ainda assim usar a TDBGrid … :frowning:

Caso alguém tenha resolvido esse problema de forma “elegante”, me dê a dica…

Mas em fim:

Resumindo, dá para fazer coisas tão complexas quanto forem necessárias em Delphi sim.
Assim como em .NET também dá.
Assim como em outras linguagens também…

A única resalva é que, em cada uma, isso é feito de forma diferente.

[quote=MauroOliveira]Já trabalhei em projetos desenvolvidos de forma totalmente procedural e também OO em Delphi.

Discordo que o Delphi seja uma ferramenta tipo lego para ignorantes de OO.

Mas também reconheço que a aplicação de OO e MVC não acontece de forma tão natural como em Java…

Em java, o próprio ambiente força (mas não impede totalmente) que o programa cresça em OO.

Em Delphi, dá para fazer. Mas a “tentação” está sempre perto…

Já vi projetos começarem corretos, mas por falta de pulso firme do lider, os datamodules começaram a proliferar como ervas daninhas, e logo logo as queries dentro dos formulários.

Já trabalhei em 8 empresas com Delphi, e em apenas uma eu acredito que o sistema possa ser classificado como projeto OO…

Os delpheiros gostam de componente (não todos). Afinal, querendo ou não, por mais que alguns não aceitem, foi a produtividade que popularizou o Delphi, e não a OO (embora ele possa ser OO).

E acredito que os poucos programas realmente OO em delphi existem apenas por causa do “heroísmo” de alguns bons programadores…

Isso porque a própria Embarcadero (e a Borland na época também…) continua focando na produtividade…

Tanto é que, até hoje, nas últimas versões, o Delphi não tem uma coisa, que EU pelo menos acredito que seria legal e um “incentivo” para usar OO com MVC:

Um grid que lê uma lista…

Até hoje isso não existe (até existe componentes de terceiros, mas não achei que ficou bom…).

Os grids do delphi estão presos a ler outros componentes de herdam de dataset (ou TDataset, para não ofender os delpheiros).

O problema disso que é o desenvolvimento acaba sendo mais fácil da forma “componentizada” (arrastar e soltar compomentes…).

Quando você começa a deselvolver uma aplicação MVC, começa bem, no Model, no Controller… Mas quando chega na View, esbarra com esse problema:

Você tem uma lista de objetos, seja pessoa, NF ou o que quer que seja… Mas o grid não lê a sua classe. O grid só lê herdeiros de TDataset… Daí então (já vi em mais de um lugar) o negócio que começou bonito, acaba com algumas (Deus me perdoe…) gambis para acoplar as camadas e ainda assim usar a TDBGrid … :frowning:

Caso alguém tenha resolvido esse problema de forma “elegante”, me dê a dica…

Mas em fim:

Resumindo, dá para fazer coisas tão complexas quanto forem necessárias em Delphi sim.
Assim como em .NET também dá.
Assim como em outras linguagens também…

A única resalva é que, em cada uma, isso é feito de forma diferente.

[/quote]

O que acontece é que o foco dos problemas acaba sendo o framework e o desenho deles. Os componentes também são classes, então não diria que usá-los não seja OO. O que diferencia Object Pascal de Java, é que escreveram um framework como o hibernate para java. O hibernate fez tanto sucesso que o mesmo foi implementado em c#. Os componentes não estão atrelados ao formulário, Você pode instanciá-los em qualquer outra classe e acessá-los, ou usar um componente próprio para isso, como o DatabaseForm, dessa forma diminuindo o acoplamento.

O que eu percebi dos profissionais que conheci, que usavam delphi, era que nenhum sabia programar, nem mesmo um pouquinho. Isso porque o delphi era tão fácil de usar que acabava, qualquer pessoa sem conhecimento se tornando programador.

Eu trabalhei muito tempo com Delphi e nao tenho medo de dizer que ele é terrivel. É OO? pode até ser, mas…

E a erro de referencia circular? Se a classe A referencia a classe B, entao a classe B nao pode referenciar a classe A, e dá-lhe gambiarra se voce quiser um comportamento bidirecional nos seus objetos.

E as interfaces? Com as gambiarras de guids? Aquilo é horrivel.

Sem contar os “problemas” de sintaxe do pascal. Pra alterar um metodo tem que alterar em dois lugares, declarar um cabecalho, depois escrever o metodo no corpo. Terrivel.

Variaveis só podem ser declaradas no inicio do metodo. Chatinho tambem.

E uma das piores pra mim é ter que ficar escrevendo begin e end toda hora, faca a conta e vai ver no fim do dia o tempo que voce perdeu fazendo isso.

Alem da ja citada falta de suporte e interesse das empresas por tras dele de facilitar programacao OO. Esse tal foco na produtividade é um tiro no pé, porque a forma de desenvolvimento normalmente adotada traz ilusao de produtividade, voce clica no botao e sai e escrevendo. Isso só é produtivo se voce for fazer uma agenda telefonica, qualquer coisa mais complexa esbarra na enorme quantidade de codigo duplicado, de regras implementadas de formas obscuras e sujeitas a erros, que ja comecam a atrasar um projeto muito antes de ser implantado.

Sim, é possivel fazer sistemas de grande porte com Delphi, como ja vi varios. Acredito que tambem seja possivel faze-los com qualidade, embora nunca tenha visto nenhum. Mas por que eu vou sofrer tentando contornar os problemas da linguagem se eu tenho outras que me dao muito mais ferramentas, e mais simples, pra atingir o mesmo objetivo?

A unica coisa que eu gosto no Delphi é a facilidade de se criar layout de telas para desktop, coisa que até hoje nenhuma ferramenta do Java chegou perto de fazer. Mas mesmo assim quando preciso fazer algo para desktop uso C#, que tem a mesma facilidade pra criacao de layouts que o Delphi e praticamente a mesma facilidade para suporte OO do Java.

Finalmente uma mente pensante nesta discussão.

[quote=YvGa]Eu trabalhei muito tempo com Delphi e nao tenho medo de dizer que ele é terrivel. É OO? pode até ser, mas…

E a erro de referencia circular? Se a classe A referencia a classe B, entao a classe B nao pode referenciar a classe A, e dá-lhe gambiarra se voce quiser um comportamento bidirecional nos seus objetos.

E as interfaces? Com as gambiarras de guids? Aquilo é horrivel.

Sem contar os “problemas” de sintaxe do pascal. Pra alterar um metodo tem que alterar em dois lugares, declarar um cabecalho, depois escrever o metodo no corpo. Terrivel.

Variaveis só podem ser declaradas no inicio do metodo. Chatinho tambem.

E uma das piores pra mim é ter que ficar escrevendo begin e end toda hora, faca a conta e vai ver no fim do dia o tempo que voce perdeu fazendo isso.

Alem da ja citada falta de suporte e interesse das empresas por tras dele de facilitar programacao OO. Esse tal foco na produtividade é um tiro no pé, porque a forma de desenvolvimento normalmente adotada traz ilusao de produtividade, voce clica no botao e sai e escrevendo. Isso só é produtivo se voce for fazer uma agenda telefonica, qualquer coisa mais complexa esbarra na enorme quantidade de codigo duplicado, de regras implementadas de formas obscuras e sujeitas a erros, que ja comecam a atrasar um projeto muito antes de ser implantado.

Sim, é possivel fazer sistemas de grande porte com Delphi, como ja vi varios. Acredito que tambem seja possivel faze-los com qualidade, embora nunca tenha visto nenhum. Mas por que eu vou sofrer tentando contornar os problemas da linguagem se eu tenho outras que me dao muito mais ferramentas, e mais simples, pra atingir o mesmo objetivo?

A unica coisa que eu gosto no Delphi é a facilidade de se criar layout de telas para desktop, coisa que até hoje nenhuma ferramenta do Java chegou perto de fazer. Mas mesmo assim quando preciso fazer algo para desktop uso C#, que tem a mesma facilidade pra criacao de layouts que o Delphi e praticamente a mesma facilidade para suporte OO do Java.[/quote]

A sintaxe do O Pascal é muito boa. Quanto a isso não tenho do que me queixar. Mas é questão de gosto. Sintaxes a lá c (Java C#) são mais dinâmicas, mas pode acreditar que o código suja com muito mais facilidade.

Também penso assim. Além do mais, testar igualdade com o sinal = é muito mais intuitivo do que com ==. E atribuição, := é muito mais intuitivo pra quem lê do que um =.
Mas é questão de gosto. Um código bem escrito em Delphi é muito legível e produtivo, tanto pra desenvolver quanto pra dar manutenção. Já vi vários códigos de grande porte e bem escritos. MVC? O Delphi fazia isso com desenvolvimento três camadas muito antes de entrar na moda. Design Patterns? Quem instalasse as versões enterprise conseguia organizar e ver ele na prática.

O que acontece com o Delphi, é que foi uma das linguagens pioneiras na orientação objeto que pegou volume de mercado. Ele “herdou” os programadores de linguagens procedurais que não tinham noção nenhuma da orientação a objeto. Forçar essa massa gigante de desenvolvedores a mudar o paradigma não é fácil, por isso a maioria deles conseguiu ir pro Delphi mas levando alguns vícios junto.

A vantagem do Delphi foi conseguir um caminho intermediário e direcionar o pessoal a um novo paradigma de programação. Pra uma empresa pequena como a Borland e que vivia em problemas financeiros, foi um ganho e tanto. Infelizmente eles não conseguiram dar o passo seguinte: trabalhar com o código 100% OO sem grandes mudanças no seu software.

Outra coisa, quem usa o Hibernate hoje, carregando as classes POJO, ficou muito parecido com a forma do Delphi trabalhar os componentes TQuery e TTable. Sinal que o Java está conseguindo unir os dois mundos também.