Java[x]delphi

[quote=Longino][quote=AUser]Vendo esse festival de babaquice que estão fazendo com o juliocbq, eu concordo inteiramente com ele. Julio, esse GUJ já não é mais o mesmo, não fica dando a cara a tapa pq essa cambada de moleques e novatos não merece e nunca não aprender nada.

Ele não está falando nada de errado… Acordem, amadores. Vão estudar.[/quote]

www.longino.com.br

Esse é um dos meus projetos.

Por experiência e conhecimento sei que o juliocbq falou bobagem.

[/quote]
Oi Longino, bacana este seu projeto hein?

Te pedir uma coisa: ao invés de simplesmente dizer que o que fulano disse é bobagem, por que não enriquecer esta discussão expondo aqui a sua experiência e conhecimento?
Assim todo mundo ganha e você não fica com fama de esnobe ou simplesmente troll :wink:

[quote=kicolobo]
Oi Longino, bacana este seu projeto hein?

Te pedir uma coisa: ao invés de simplesmente dizer que o que fulano disse é bobagem, por que não enriquecer esta discussão expondo aqui a sua experiência e conhecimento?
Assim todo mundo ganha e você não fica com fama de esnobe ou simplesmente troll ;)[/quote]

É o que eu estava tentando fazer, até que alguns agiram de forma infantil.

Apesar da bagunça do tópico , gostaria de ressaltar que o programa dos correios nos caixas(PDV) é feito em java desktop!

Verdade, e é excelente! Eu conheço diversos aplicativos desktop Java desenvolvidos internamente E desktop que são maravilhosos. Eu, por exemplo, desenvolvia sistemas para controle de listas de equipamentos e materiais que, adivinha? Desktop :smiley:

Verdade, e é excelente! Eu conheço diversos aplicativos desktop Java desenvolvidos internamente E desktop que são maravilhosos. Eu, por exemplo, desenvolvia sistemas para controle de listas de equipamentos e materiais que, adivinha? Desktop :D[/quote]

Eu também conheço vários softwares desktop que são ótimos e são escritos em java(incluso o dos correios como citados acima). Mas esses softwares não são aplicativos. Aplicativos são softwares de uso diário de usuários finais e que normalmente são inclusos no sistema operacional ou são baixados de algum lugar.

Java não está presente nisso pela simples razão de que o runtime dela é pesado. E é aí que o delphi acaba se sobressaindo pelo seu baixo custo. Até meados do final de 90, 70% das aplicações eram escritas em object pascal. O proprio bill recomendava isso. O java nunca conseguiu engressar nessa fatia de mercado, e mesmo após delphi perder popularidade, os aplicativos continuam sendo escritos em c++(mfc e qt) e c#. Isso para windows. Para linux o que reina hoje e já é padrão para gerenciadores de janela baseados no gtk é a linguagem vala(o proprio unity do ubuntu e a grande maioria dos aplicativos do mesmo). É um subset da linguagem c(assim como objective c) e foi inspirada na c#.

Se for observar bem, java carece muito em experiência para usuário na parte da ui. O swing indiscutivelmente não imita os widgets nativos e muitos acabam falhando como no próprio gtk. SwingX não possui mais nenhum mantenedor. Existe o swt, mas também não é a melhor opção pois só existem ports para gtk e windows.

Se fosse escolher uma plataforma para desenvolver desktop hoje, optaria por dotnet em primeiro lugar pela produtividade(apesar do runtime largo, já vem embarcado no windows, e o toolkit gráfico é nativo - winforms), seguido do c++(com um bom toolkit), e posteriormente delphi(Para windows).

Java também carece de uma boa interface com o sistema operacional, o que acaba te obrigando a ter que escrever essas interfaces em c na maioria das vezes. Com dotnet essa tarefa é muito simplificada. A maioria dos aplicativos necessita de integração com so(para adicionar atalhos a menus, barra de tarefas e sistema do proprio windows por exemplo)

Directshow com dotnet é simples


Existem alguns artigos na internet que andei lendo e acabei concordando.

http://live.gnome.org/Vala

[quote=kicolobo]Te pedir uma coisa: ao invés de simplesmente dizer que o que fulano disse é bobagem, por que não enriquecer esta discussão expondo aqui a sua experiência e conhecimento?
Assim todo mundo ganha e você não fica com fama de esnobe ou simplesmente troll ;)[/quote]

Ele já tem essa fama kiko. Thiago Silva Conceição, criador do projeto, tinha um outro nick aqui no forum, mas foi expulso: thiagosc.

Bem, eu ja li a polemica e vou dar meu parecer…Eu só desenvolvo em Java para Desktop, nunca em 4 anos tive um problema se quer, opa, pra falar a verdade tive um com o iReport mas era a versao da JVM, fiz update e resolveu-se.
Nesse momento estou migrando meu segundo ERP(Desktop) para Java, ja migrei um feito em Delphi e agora estou migrando outro feito em VB6 gerado por Genexus.

vejam aqui um software de minha autoria com uns amigos desenvolvido 100% em Java para Desktop: http://www.iguanasistemas.com.br

Realmente não vejo fundamentos e os que vejo são sem cabimento, pra mim, pessoalmente, Java é ótimo para Desktop e criar usando Eclipse com WindowBuilder é muito simples e com NetBeans é mais ainda.

Configurei uma aplicacao da IntelBras recentemente, digo aplicacao pq é isso que era, não uma ferramenta. Em uma conversa com o suporte, me disseram que usam Java+OpenSwing a muiiiito tempo.

Pra mim, Delphi/VB etc… estão muiiiiiito longe de chegar perto do Java. Na verdade, pra mim não há nada melhor que Java em qualquer lugar onde ele esteja.

Só uso Java e estou feliz com isso.

#MinhaOpiniao

t+

Verdade, e é excelente! Eu conheço diversos aplicativos desktop Java desenvolvidos internamente E desktop que são maravilhosos. Eu, por exemplo, desenvolvia sistemas para controle de listas de equipamentos e materiais que, adivinha? Desktop :D[/quote]

Eu também conheço vários softwares desktop que são ótimos e são escritos em java(incluso o dos correios como citados acima). Mas esses softwares não são aplicativos. Aplicativos são softwares de uso diário de usuários finais e que normalmente são inclusos no sistema operacional ou são baixados de algum lugar.

Java não está presente nisso pela simples razão de que o runtime dela é pesado. E é aí que o delphi acaba se sobressaindo pelo seu baixo custo. Até meados do final de 90, 70% das aplicações eram escritas em object pascal. O proprio bill recomendava isso. O java nunca conseguiu engressar nessa fatia de mercado, e mesmo após delphi perder popularidade, os aplicativos continuam sendo escritos em c++(mfc e qt) e c#. Isso para windows. Para linux o que reina hoje e já é padrão para gerenciadores de janela baseados no gtk é a linguagem vala(o proprio unity do ubuntu e a grande maioria dos aplicativos do mesmo). É um subset da linguagem c(assim como objective c) e foi inspirada na c#.

Se for observar bem, java carece muito em experiência para usuário na parte da ui. O swing indiscutivelmente não imita os widgets nativos e muitos acabam falhando como no próprio gtk. SwingX não possui mais nenhum mantenedor. Existe o swt, mas também não é a melhor opção pois só existem ports para gtk e windows.

Se fosse escolher uma plataforma para desenvolver desktop hoje, optaria por dotnet em primeiro lugar pela produtividade(apesar do runtime largo, já vem embarcado no windows, e o toolkit gráfico é nativo - winforms), seguido do c++(com um bom toolkit), e posteriormente delphi(Para windows).

Java também carece de uma boa interface com o sistema operacional, o que acaba te obrigando a ter que escrever essas interfaces em c na maioria das vezes. Com dotnet essa tarefa é muito simplificada. A maioria dos aplicativos necessita de integração com so(para adicionar atalhos a menus, barra de tarefas e sistema do proprio windows por exemplo)

Directshow com dotnet é simples


Existem alguns artigos na internet que andei lendo e acabei concordando.

http://live.gnome.org/Vala


[/quote]

Muito bacana esta sua resposta Julio. Você já programou neste tal de vala? O que achou? Ainda tá trabalhando com desktop?
(este “ainda” soa muito engraçado, porque o grosso, por mais incrível que possa parecer, ainda é desktop (mobile é só uma variação do mesmo tema))

Recentemente dei uma olhada no Delphi XE2 e meu queixo caiu. Achei MUITO interessante a abordagem da Embarcadero e não ficaria surpreso se já tiverem ganhando um mercado bem bacaninha por ai viu. Eu mesmo estou bastante tentado a comprar uma licença do XE2.

Eu considero assim:
Java - Mantido por uma empresa grande, com uma comunidade crescente de usuários.
Delphi - Mantido por uma empresa pequena, com uma comunidade cada vez menor de usuários.

[quote=kicolobo]

Muito bacana esta sua resposta Julio. Você já programou neste tal de vala? O que achou? Ainda tá trabalhando com desktop?
(este “ainda” soa muito engraçado, porque o grosso, por mais incrível que possa parecer, ainda é desktop (mobile é só uma variação do mesmo tema))

Recentemente dei uma olhada no Delphi XE2 e meu queixo caiu. Achei MUITO interessante a abordagem da Embarcadero e não ficaria surpreso se já tiverem ganhando um mercado bem bacaninha por ai viu. Eu mesmo estou bastante tentado a comprar uma licença do XE2.[/quote]

Olá kiko. Só usei para mim mesmo. Como tenho uma máquina rodando fedora e gnome3 comecei a usar por hobby. Posso te dizer que é a melhor linguagem que já usei. O compilador é muito bom porque é um compilador de c(o gcc). Você pode programar em c dentro de blocos no programa e realizar tarefas de baixo nível sem precisar se preocupar como algo semelhante a jni ou outro tipo de interface. Possui coletor de lixo por contagem de referências. O interessante é que toda a infraestrutura do gnome está sendo portada para ela. Bibbliotecas como opengl, sdl, gtk+, pango, cairo, etc… já foram portadas. Uma lista logo abaixo e o status do projeto.

http://live.gnome.org/Vala/BindingsStatus

Exemplo de código:
http://live.gnome.org/Vala/Tutorial

[code]class Demo.HelloWorld : GLib.Object {

public static int main(string[] args) {

    stdout.printf("Hello, World\n");

    return 0;
}

}[/code]

Sobre trabalhar com desktop, hà 3 anos que tomo conta do Access Control Citrox. Que consiste em um hardware ethernet, rfid que pode controlar fechaduras eletrônicas e cancelas. Esse hardware troca mensagens com um software desktop escrito em java. Hoje o Access Control controla as casas do big brother brasil (11/12)

Na minha opinião o delphi é uma das melhores ferramentas que existem. Tive problemas com o delphi 2005 na época que a borland estava migrando a ide para dotnet, então acabei portando alguns projetos para java nesse período. Mais de 50% do meu tempo de trabalho está nessa linguagem. A outra fatia na linguagem c para o hardware. Quando se usa delphi e a linguagem object pascal como deve ser, o resultado é muito satisfatório. Um produto leve e rápido.

[quote=ViniGodoy]Eu considero assim:
Java - Mantido por uma empresa grande, com uma comunidade crescente de usuários.
Delphi - Mantido por uma empresa pequena, com uma comunidade cada vez menor de usuários.

[/quote]

É interessante esta visão Vinícius. Sabe, o Paul Graham tem um texto massa chamado “Beating the Averages” (http://www.paulgraham.com/avg.html) em que ele conta a história da sua startup (a Viaweb) que era baseada em Lisp, uma linguagem que infelizmente ontem, hoje e provavelmente amanhã não será mainstream (sou fã de Lisp :D) e como o fato de justamente ser pouco conhecida e apresentar uma produtividade bacana foi a arma secreta que propiciou o sucesso à esta empresa.

Acho que no caso do Delphi é basicamente a mesma coisa. Enquanto nós javeiros gastamos horas, dias, anos pensando em padrões de projeto, melhores práticas e toda aquela história que apesar de bacana nos toma MUITO tempo, o delpheiro chega, implementa o produto e o joga no mercado antes que muitas vezes nós cheguemos a escrever a primeira linha de código.

E o mais bacana é que apesar de muita gente dizer que Delphi é um mero “arrastar e soltar”, há uma game imensa de aplicações “power up plus international” feitas em Delphi, como por exemplo Skype. Bacana isto né? Eu acho ótimo, porque me ajuda a diminuir meu ego e olhar com uma cara um pouquinho melhor pro lado :smiley:

[quote=kicolobo][quote=ViniGodoy]Eu considero assim:
Java - Mantido por uma empresa grande, com uma comunidade crescente de usuários.
Delphi - Mantido por uma empresa pequena, com uma comunidade cada vez menor de usuários.

[/quote]

É interessante esta visão Vinícius. Sabe, o Paul Graham tem um texto massa chamado “Beating the Averages” (http://www.paulgraham.com/avg.html) em que ele conta a história da sua startup (a Viaweb) que era baseada em Lisp, uma linguagem que infelizmente ontem, hoje e provavelmente amanhã não será mainstream (sou fã de Lisp :D) e como o fato de justamente ser pouco conhecida e apresentar uma produtividade bacana foi a arma secreta que propiciou o sucesso à esta empresa.

Acho que no caso do Delphi é basicamente a mesma coisa. Enquanto nós javeiros gastamos horas, dias, anos pensando em padrões de projeto, melhores práticas e toda aquela história que apesar de bacana nos toma MUITO tempo, o delpheiro chega, implementa o produto e o joga no mercado antes que muitas vezes nós cheguemos a escrever a primeira linha de código.

E o mais bacana é que apesar de muita gente dizer que Delphi é um mero “arrastar e soltar”, há uma game imensa de aplicações “power up plus international” feitas em Delphi, como por exemplo Skype. Bacana isto né? Eu acho ótimo, porque me ajuda a diminuir meu ego e olhar com uma cara um pouquinho melhor pro lado :D[/quote]

Aquela história de arrastar e soltar é uma lenda urbana. Não entendo como isso aderiu ao delphi. É perfeitamente possível aplicar os mesmos padrões de projeto na linguagem object pascal.

Como as empresas vendem ferramentas de desenvolvimento, a idéia de criar superstars programadores acaba sendo muito útil. Isso acaba gerando essas lendas.

[quote=juliocbq]

Aquela história de arrastar e soltar é uma lenda urbana. Não entendo como isso aderiu ao delphi. É perfeitamente possível aplicar os mesmos padrões de projeto na linguagem object pascal.

Como as empresas vendem ferramentas de desenvolvimento, a idéia de criar superstars programadores acaba sendo muito útil. Isso acaba gerando essas lendas.[/quote]

Acho que você tocou no ponto aqui Julio. Sabe, eu acho que este mito do “arrastar e soltar fede” é um dos mais danosos que poderiam surgir. Talvez explique o fato de algumas tentativas de se desenvolver algo no gênero dentro do JEE falharam tão miserávelmente neste aspecto (JSF).

Talvez explique também o porquê do Netbeans ter pegado tão bem com o pessoal que vinha do Delphi/VB. Justamente por propiciar algo que eles já tinham, e não tirar, como é o que ocorre normalmente: o sujeito está acostumado a usar uma ferramenta RAD que o ajuda pra kcte na hora de desenvolver sua interface gráfica. Chega no Java, é tido como “arrastador” por um colega de trabalho ao lado que, numa boa? Raras vezes sabe de fato do que está falando

Só para constar, minha carreira comecei em Delphi. :slight_smile:
Sempre achei a IDE ótima. Na época, era infinitamente superior ao VB.

Acho que o Delphi sofreu alguns grandes impactos:

  • Após o Delphi 7, uma série de versões mal sucedidas: incluindo o Kylix.
  • A perda do criador da VCL para a Microsoft;
  • A Borland anunciar que não trabalharia mais com IDEs e o Delphi migrar para a Embarcadero;
  • Em decorrência do anterior, houve um período longo sem releases, lembro-me que a comunidade achava que a IDE tinha morrido;
  • O aparecimento e fortalecimento de linguagens gerenciadas (Java e C#) e o fortalecimento do QT;
  • A demora para acompanhar o fato de que IDEs e linguagens estavam custando cada vez menos (no caso do Java, distribuídos de graça);

Sobre qual é melhor para Desktop? Creio que ainda seja mais fácil desenvolver aplicativos desktop em Delphi. E, para o mercado de aplicações comerciais, acho que o Delphi ainda deve ser melhor que o Java.

Mas não porque eu investiria em Delphi hoje, mas porque é uma área onde o Java é muito fraco.
Acho que outras alternativas, como o QT ou o C# são ainda melhores.

Anders Hejlsberg desenhou a vlc e também a linguagem object pascal. Era uma peça chave que a borland não dava muito valor.

A ms pagou 1 milhão de cara para ele desenhar a c# e a plataforma dotnet. Hoje c# tem tudo que deveria estar na object pascal.

Negócio ruim que a borland fez hein!?

[quote=juliocbq][quote=ViniGodoy]

  • A perda do criador da VCL para a Microsoft;

    [/quote]

Anders Hejlsberg desenhou a vlc e também a linguagem object pascal. Era uma peça chave que a borland não dava muito valor.

A ms pagou 1 milhão de cara para ele desenhar a c# e a plataforma dotnet. Hoje c# tem tudo que deveria estar na object pascal.

Negócio ruim que a borland fez hein!?[/quote]

Minha história é basicamente idêntica à do Vinícius: e a razão pela qual sai do Delphi foi justamente a Borland. Era impressionante como os caras conseguiam cagar no produto a cada release.
Aliás, é a coisa mais engraçada: ainda hoje, a versão mais usada é a 7, justamente porque os desenvolvedores deixaram de confiar no trabalho posterior da empresa.
Muito triste a história. Mas pelo que to vendo, a Embarcadero tá conseguindo dar a volta por cima no produto. Torço muito por eles.

E ei, Vinícius, num é que você me deu uma boa idéia agora? To iniciando um projeto que vai ter um componente desktop forte. Se bobear, o Qt cai como uma luva! (plim!) :smiley:

[quote=kicolobo][quote=juliocbq]

Aquela história de arrastar e soltar é uma lenda urbana. Não entendo como isso aderiu ao delphi. É perfeitamente possível aplicar os mesmos padrões de projeto na linguagem object pascal.

Como as empresas vendem ferramentas de desenvolvimento, a idéia de criar superstars programadores acaba sendo muito útil. Isso acaba gerando essas lendas.[/quote]

Acho que você tocou no ponto aqui Julio. Sabe, eu acho que este mito do “arrastar e soltar fede” é um dos mais danosos que poderiam surgir. Talvez explique o fato de algumas tentativas de se desenvolver algo no gênero dentro do JEE falharam tão miserávelmente neste aspecto (JSF).

Talvez explique também o porquê do Netbeans ter pegado tão bem com o pessoal que vinha do Delphi/VB. Justamente por propiciar algo que eles já tinham, e não tirar, como é o que ocorre normalmente: o sujeito está acostumado a usar uma ferramenta RAD que o ajuda pra kcte na hora de desenvolver sua interface gráfica. Chega no Java, é tido como “arrastador” por um colega de trabalho ao lado que, numa boa? Raras vezes sabe de fato do que está falando[/quote]

Eu não sei, acho que a forma que as pessoas levam esse mito que é danosa hoje em dia. Um fato é: quem vem do Delphi das antigas sabe como era apaixonante, eu fiz pouca coisa nele, mas lembro que pra mim não havia coisa igual. Se eu escutasse que uma ferramenta é só arrastar e soltar e ainda tendo os resultados que o Delphi tinha, eu ia achar algo genial e ia querer procurar mais para saber se é isso mesmo. E lembrando: esse mito era bom marketing antigamente, inclusive toda vez que penso em RAD, a primeira coisa que me vem na cabeça era isso. Agora o que temos, é uma parcela de zé ruela aí que acha que o que seria ou poderia ser simples é ruim, e aí, já viu né… A histeria humana sempre foi presente em tudo. As pessoas tem tendências incendiárias, na verdade, rs.

[quote=kicolobo][quote=juliocbq][quote=ViniGodoy]

  • A perda do criador da VCL para a Microsoft;

    [/quote]

Anders Hejlsberg desenhou a vlc e também a linguagem object pascal. Era uma peça chave que a borland não dava muito valor.

A ms pagou 1 milhão de cara para ele desenhar a c# e a plataforma dotnet. Hoje c# tem tudo que deveria estar na object pascal.

Negócio ruim que a borland fez hein!?[/quote]

Minha história é basicamente idêntica à do Vinícius: e a razão pela qual sai do Delphi foi justamente a Borland. Era impressionante como os caras conseguiam cagar no produto a cada release.
Aliás, é a coisa mais engraçada: ainda hoje, a versão mais usada é a 7, justamente porque os desenvolvedores deixaram de confiar no trabalho posterior da empresa.
Muito triste a história. Mas pelo que to vendo, a Embarcadero tá conseguindo dar a volta por cima no produto. Torço muito por eles.

E ei, Vinícius, num é que você me deu uma boa idéia agora? To iniciando um projeto que vai ter um componente desktop forte. Se bobear, o Qt cai como uma luva! (plim!) :D[/quote]

A minha também foi parecida. Delphi 2005 me deu muita dor de cabeça.

Sobre o qt, existe aquela linguagem qml e javascript para criar interfaces ricas. É bem produtivo. Você pode jogar c++ no baixo nível para suprir a interface com os dados necessários.

http://qt.nokia.com/qtquick/

A aplicação abaixo funcionaria para desktop sem ter que alterar uma linha de código

[youtube]http://www.youtube.com/watch?v=ENISAKOcZ-g&feature=related[/youtube]

[youtube]http://www.youtube.com/watch?v=LTDJrMu24b8[/youtube]

Interessante essa discussão…
Hoje trabalho com java para desktop em um PDV (http://www.triersistemas.com.br/produtos/imagens/trier-drogarias) de sucesso, e apesar de nunca ter tido problema ao desenvolve-lo em Swing, acredito que tecnicamente o Delphi seja superior ao java para desktop. Chego a essa conclusão me baseando na experiencia de alguns amigos que programam em Delphi e pelos comentários do pessoal aqui do GUJ.

Entretanto, hoje eu não iniciaria um grande projeto desktop em Delphi que também fosse viável em Java. Não acredito que seja lenda o que citaram nesse tópico sobre a questão do “arrastar e soltar” do Delphi. Vejo que muitos programadores entusiasmados com a facilidade do Delphi em desenvolver softwares, deixaram de aprender e ir atrás de fundamentos e padrões importantes para um profissional. Acredito que hoje seja muito mais difícil organizar uma boa equipe de desenvolvimento em Delphi do que em Java. Entretanto vejo que uma equipe de profissionais igualmente capacitados produziria uma solução melhor e em menos tempo em Delphi do que em Java. Essa é apenas a minha OPINIÃO e espero que haja comentários sobre o que penso.

Por fim, tenho o pensamento de que não há porque fazer em desktop uma solução que seja viável rodar em um browser. Um exemplo é o nosso ERP de gerenciamento de farmácias, onde a retaguarda é toda feita em java para web. Porém, algumas vezes rolam conversas de que o sistema deveria ter sido feito em desktop. Gostaria de saber a opinião de vocês quanto a questão DESKTOP vs WEB.

geralmente a forma de “organizar” o codigo em delphi é ou era jogar boa parte das regras de negocio direto no banco(firebird), e dividir o codigo em .bpl’s. Assim o executavel ficava bem pequeno, vi esse tecnica em uns 5,6 erp.

o pessoal q programou em delphi ai fazia isso tbm?