Alguém aqui usa Lazarus?

Caros, atualmente trabalho dando manutenção em um sistema legado em Delphi. Procurando por uma ferramenta Open Source para programar em Object Pascal, encontrei a IDE Lazarus. Então, tenho algumas perguntas a fazer:

  1. Como está o projeto atualmente?
  2. Ela pode substituir o Delphi 7 (as versões posteriores ao Delphi 7 são meio bugadas)
  3. Pode-se desenvolver uma aplicação comercial somente usando o Lazarus, ele dá conta do recado?
  4. Ouvi dizer que o debug dele é lento. Isso procede?
  5. Existe refactor no Lazarus?
  6. Em comparação ao Delphi, é muito difícil desenvolver componentes para o Lazarus?

[]'s

Eu uso. Mas não profissionalmente. Gosto da sintaxe do pascal.

  1. Como está o projeto atualmente? Sempre em desenvolvimento.
  2. Ela pode substituir o Delphi 7 (as versões posteriores ao Delphi 7 são meio bugadas). Meio bugadas!? Completamente. O free pascal é um compilador melhor que o delphi32. O segundo não suporta instruções mmx
  3. Pode-se desenvolver uma aplicação comercial somente usando o Lazarus, ele dá conta do recado? Sim.
  4. Ouvi dizer que o debug dele é lento. Isso procede? Não
  5. Existe refactor no Lazarus? Existe mas não como você conhece no beans ou no eclipse
  6. Em comparação ao Delphi, é muito difícil desenvolver componentes para o Lazarus? Não, a lcl é 100% compatível com a vcl, e isso quer dizer que você compila projetos do delphi no lazarus.

Meu projeto faz uso de um componente que faz acesso à porta serial que foi escrito para o Delphi. Eu posso instalar esse componente no Lazarus ou eu terei que rescrever o código do componente?

[quote=matheuslmota]Caros, atualmente trabalho dando manutenção em um sistema legado em Delphi. Procurando por uma ferramenta Open Source para programar em Object Pascal, encontrei a IDE Lazarus. Então, tenho algumas perguntas a fazer:

  1. Como está o projeto atualmente?
  2. Ela pode substituir o Delphi 7 (as versões posteriores ao Delphi 7 são meio bugadas)
  3. Pode-se desenvolver uma aplicação comercial somente usando o Lazarus, ele dá conta do recado?
  4. Ouvi dizer que o debug dele é lento. Isso procede?
  5. Existe refactor no Lazarus?
  6. Em comparação ao Delphi, é muito difícil desenvolver componentes para o Lazarus?

[]'s[/quote]
Como desenvolvedor delphi tentei usar um tempo o lazarus e desisti.
Essa estória de que as versões mais novas são bugadas é lenda. A única versão horrível de trabalhar era a 2005 porém a partir do 2006 é tranquilo.
Mas como você só vai fazer uma manutenção não vejo necessidade de compra de uma licença, da para ir de Lazarus mesmo. Agora no dia a dia, não tem como trabalhar.
(Isso é uma opnião pessoal).

[quote=x@ndy][quote=matheuslmota]Caros, atualmente trabalho dando manutenção em um sistema legado em Delphi. Procurando por uma ferramenta Open Source para programar em Object Pascal, encontrei a IDE Lazarus. Então, tenho algumas perguntas a fazer:

  1. Como está o projeto atualmente?
  2. Ela pode substituir o Delphi 7 (as versões posteriores ao Delphi 7 são meio bugadas)
  3. Pode-se desenvolver uma aplicação comercial somente usando o Lazarus, ele dá conta do recado?
  4. Ouvi dizer que o debug dele é lento. Isso procede?
  5. Existe refactor no Lazarus?
  6. Em comparação ao Delphi, é muito difícil desenvolver componentes para o Lazarus?

[]'s[/quote]
Como desenvolvedor delphi tentei usar um tempo o lazarus e desisti.
Essa estória de que as versões mais novas são bugadas é lenda. A única versão horrível de trabalhar era a 2005 porém a partir do 2006 é tranquilo.
Mas como você só vai fazer uma manutenção não vejo necessidade de compra de uma licença, da para ir de Lazarus mesmo. Agora no dia a dia, não tem como trabalhar.
(Isso é uma opnião pessoal).[/quote]

Mas o que foi que você viu de negativo no Lazarus?

[quote=matheuslmota][quote=x@ndy][quote=matheuslmota]Caros, atualmente trabalho dando manutenção em um sistema legado em Delphi. Procurando por uma ferramenta Open Source para programar em Object Pascal, encontrei a IDE Lazarus. Então, tenho algumas perguntas a fazer:

  1. Como está o projeto atualmente?
  2. Ela pode substituir o Delphi 7 (as versões posteriores ao Delphi 7 são meio bugadas)
  3. Pode-se desenvolver uma aplicação comercial somente usando o Lazarus, ele dá conta do recado?
  4. Ouvi dizer que o debug dele é lento. Isso procede?
  5. Existe refactor no Lazarus?
  6. Em comparação ao Delphi, é muito difícil desenvolver componentes para o Lazarus?

[]'s[/quote]
Como desenvolvedor delphi tentei usar um tempo o lazarus e desisti.
Essa estória de que as versões mais novas são bugadas é lenda. A única versão horrível de trabalhar era a 2005 porém a partir do 2006 é tranquilo.
Mas como você só vai fazer uma manutenção não vejo necessidade de compra de uma licença, da para ir de Lazarus mesmo. Agora no dia a dia, não tem como trabalhar.
(Isso é uma opnião pessoal).[/quote]

Mas o que foi que você viu de negativo no Lazarus?[/quote]

Na época em que testei era extremamente lento, gerava um executável gigante(embora tenha como corrigir), a IDE e o refactoring eram horríveis e cheia de bugs e instalar um componente delphi era um parto.
Essa foi a experiencia que eu tive e já faz alguns anos hoje em dia não sei se melhorou ou não!

Testei o Lazarus uns 4 anos atrás e, naquela época, achei ele MUITO fraquinho comparado com o Delphi 7. Além disto, era também bem bugado. Travava o tempo inteiro.

O papo de que as versões do Delphi posteriores á 7 ser bugado é um mito. Um maldito mito que basicamente destruiu a Borland. Há uma versão bugada e horrível do Delphi, e esta se chama 8 (Octane). O maior erro da história da empresa.

Recentemente brinquei com o Delphi 2010 e achei MUITO legal. Fiquei uns 5 anos longe do Delphi e quando o reencontrei, foi uma surpresa maravilhosa. Sei lá: acho que se é para dar suporte à plataforma, compensa muito comprar o Delphi. Inclusive, a versão XE te permite acesso às versões anteriores (incluindo a 7) gratuitamente.

Compensa também comprar por outra razão: dar o suporte financeiro para que continuem o desenvolvimento da ferramenta que, apesar de ter perdido muito mercado, ainda é uma ferramenta foda.

[quote=kicolobo]Testei o Lazarus uns 4 anos atrás e, naquela época, achei ele MUITO fraquinho comparado com o Delphi 7. Além disto, era também bem bugado. Travava o tempo inteiro.

O papo de que as versões do Delphi posteriores á 7 ser bugado é um mito. Um maldito mito que basicamente destruiu a Borland. Há uma versão bugada e horrível do Delphi, e esta se chama 8 (Octane). O maior erro da história da empresa.

Recentemente brinquei com o Delphi 2010 e achei MUITO legal. Fiquei uns 5 anos longe do Delphi e quando o reencontrei, foi uma surpresa maravilhosa. Sei lá: acho que se é para dar suporte à plataforma, compensa muito comprar o Delphi. Inclusive, a versão XE te permite acesso às versões anteriores (incluindo a 7) gratuitamente.

Compensa também comprar por outra razão: dar o suporte financeiro para que continuem o desenvolvimento da ferramenta que, apesar de ter perdido muito mercado, ainda é uma ferramenta foda.[/quote]

eu gosto muito mesmo do Delphi. De todas as ferramentas que já usei (eclipse, netbean, visual studio, codeblocks e outras que não lembro agora), o delphi foi certamente a melhor. Produtividade total, debug excelente, bom nível de otimização dos executáveis, alta facilidade para integrar a aplicação com banco de dados, o editor de interface gráfica dá uma surra nos disponíveis para o Java, sem falar que gera um código muito mais limpo. Talvez o Delphi só perca (em termos de produtivade) para o Visual Studio 2010. Mas como eu disse, tava atrás de uma ferramenta open source e multiplataforma e achei o Lazarus. Me pareceu uma opção interessante, possuindo inclusíve, suporte ao qt. Mas como eu não conheço a ferramenta, vim pedir a opinião dos colegas mais experientes. Será que esse suporte ao qt funciona bem mesmo?

[quote=matheuslmota][quote=kicolobo]Testei o Lazarus uns 4 anos atrás e, naquela época, achei ele MUITO fraquinho comparado com o Delphi 7. Além disto, era também bem bugado. Travava o tempo inteiro.

O papo de que as versões do Delphi posteriores á 7 ser bugado é um mito. Um maldito mito que basicamente destruiu a Borland. Há uma versão bugada e horrível do Delphi, e esta se chama 8 (Octane). O maior erro da história da empresa.

Recentemente brinquei com o Delphi 2010 e achei MUITO legal. Fiquei uns 5 anos longe do Delphi e quando o reencontrei, foi uma surpresa maravilhosa. Sei lá: acho que se é para dar suporte à plataforma, compensa muito comprar o Delphi. Inclusive, a versão XE te permite acesso às versões anteriores (incluindo a 7) gratuitamente.

Compensa também comprar por outra razão: dar o suporte financeiro para que continuem o desenvolvimento da ferramenta que, apesar de ter perdido muito mercado, ainda é uma ferramenta foda.[/quote]

eu gosto muito mesmo do Delphi. De todas as ferramentas que já usei (eclipse, netbean, visual studio, codeblocks e outras que não lembro agora), o delphi foi certamente a melhor. Produtividade total, debug excelente, bom nível de otimização dos executáveis, alta facilidade para integrar a aplicação com banco de dados, o editor de interface gráfica dá uma surra nos disponíveis para o Java, sem falar que gera um código muito mais limpo. Talvez o Delphi só perca (em termos de produtivade) para o Visual Studio 2010. Mas como eu disse, tava atrás de uma ferramenta open source e multiplataforma e achei o Lazarus. Me pareceu uma opção interessante, possuindo inclusíve, suporte ao qt. Mas como eu não conheço a ferramenta, vim pedir a opinião dos colegas mais experientes. Será que esse suporte ao qt funciona bem mesmo?[/quote]

Realmente a IDE do delphi é ainda superior ao Eclipse, Netbeans e Cia.
Tenho um único porém ao seu comentário "alta facilidade para integrar a aplicação com banco de dados, o editor de interface gráfica dá uma surra nos disponíveis para o Java,"
O delphi é extremamente produtivo para desenvolver no padrão de Interface Inteligente. O modelo Dataware do delphi é maravilhoso para isso, porém se você vai querer desenvolver OO no delphi ele se torna um inferno. Nisso o java é nota 10.
Para quem tenta fazer uma aplicação OO em delphi o primeiro problema é questão das referencias entre os objetos. No pascal, como não existe garbage colector, você cria um objeto é obrigado a destrui-lo. Isso se torna um problema quando esse objeto é compartilhado. Aqui até tem uma solução para isso, mas não é nada elegante.

LAZARUS ? CREDOO.

Credo por quê? Tem algum argumento técnico?

Também não gostei do Lazarus, parece o Delphi de 15 anos atrás.

E o suporte a MMX, o Delphi possui, mas é o compilador que cuida disso, enquanto o Lazarus a gente programa explicitamente. Pra mim, uma vantagem do Lazarus.

Os componentes novos e os recursos novos da IDE do Delphi não estão presentes no Lazarus. Delphi evoluiu muito, principalmente da versão 2007 em diante.

[quote=x@ndy]Realmente a IDE do delphi é ainda superior ao Eclipse, Netbeans e Cia.
Tenho um único porém ao seu comentário "alta facilidade para integrar a aplicação com banco de dados, o editor de interface gráfica dá uma surra nos disponíveis para o Java,"
O delphi é extremamente produtivo para desenvolver no padrão de Interface Inteligente. O modelo Dataware do delphi é maravilhoso para isso, porém se você vai querer desenvolver OO no delphi ele se torna um inferno. Nisso o java é nota 10.
Para quem tenta fazer uma aplicação OO em delphi o primeiro problema é questão das referencias entre os objetos. No pascal, como não existe garbage colector, você cria um objeto é obrigado a destrui-lo. Isso se torna um problema quando esse objeto é compartilhado. Aqui até tem uma solução para isso, mas não é nada elegante.[/quote]

O fato de o Delphi (ou Object Pascal, chame como quiser) não ser uma linguagem gerenciada não encaro como um problema, é uma característica da linguagem, assim como o C++ e o C possuem, que também têm essa características. Além do mais, também não é certo do ponto de vista das boas práticas usar objetos compartilhados.

EDIT:
Complementando o que eu disse, esse negocio de objetos compartilhados parece aquele padrão Singleton, que eu acho horroroso. Uma instância de um objeto para ser referenciada em vários lugar, posso está errado, mas nem parece OO, parece quase uma tentativa de programar de maneira procedual dentro do OO. Como eu disse, é minha opinião e posso está errado.
Agora voltando ao tópico, mais alguém usa o Lazarus atualmente? Até agora a única pessoa que de fato usa a versão mais atual do Lazarus é o julicbq. Os outros, usaram somente versões antigas (4 anos para um projeto que sofre alterações diárias é uma eternidade).

Outra coisa, todo mundo taca o pau no OO do object pascal. Mas ele possui recursos bem interessantes, polimorfismo, interface, muita coisa que o Java tem. A única coisa que eu tenho raiva no object pascal é a referência circular não existir, quando à vezes ela é necessária para introduzir um comportamento bidirecional entre as classes. Mas no mais, eu não acho o OO do object pascal ruim ou inferior ao de outras linguagens, como Java e C#.

[quote=marcosalex]Também não gostei do Lazarus, parece o Delphi de 15 anos atrás.

E o suporte a MMX, o Delphi possui, mas é o compilador que cuida disso, enquanto o Lazarus a gente programa explicitamente. Pra mim, uma vantagem do Lazarus.

Os componentes novos e os recursos novos da IDE do Delphi não estão presentes no Lazarus. Delphi evoluiu muito, principalmente da versão 2007 em diante.[/quote]

O Delphi de 15 anos atrás era o Delphi 2, que já era ordens de magnitude superior ao Lazarus :slight_smile:

Mas agora, numa boa? Eu acredito que com um apoio maior da comunidade, o Lazarus pode se tornar um “Delphi 3” no futuro, o que em si já seria ótimo. Eu comecei no Delphi 3 e, me lembro bem, era TOP.

Um problema que eu vejo no Lazarus é que toda documentação só lista alguns bancos de dados. Ele tem suporte a ADO ou ODBC direto também? Se tiver, já começa a valer a pena pensar em trabalhar com ele. Se não… bem, desista, porque você vai estar na mão de quem for implementar drivers específicos pro Lazarus pra você.

Credo por quê? Tem algum argumento técnico?[/quote]

Sim tive diversos problemas com lazarus, ja faz um tempao nem quero argumentar e lembrar sobre isso, foram os piores momentos da minha vida rsrs

Pelo que andei pesquisando, o Lazarus já possui suporte nativo à vários bancos, como Oracle, Portgres, MySQL, SQL Server, SQLite etc. Basta adicionar o uses ODBCConn ao seu código.

[quote=matheuslmota]
O fato de o Delphi (ou Object Pascal, chame como quiser) não ser uma linguagem gerenciada não encaro como um problema, é uma característica da linguagem, assim como o C++ e o C possuem, que também têm essa características. Além do mais, também não é certo do ponto de vista das boas práticas usar objetos compartilhados.

EDIT:
Complementando o que eu disse, esse negocio de objetos compartilhados parece aquele padrão Singleton, que eu acho horroroso. Uma instância de um objeto para ser referenciada em vários lugar, posso está errado, mas nem parece OO, parece quase uma tentativa de programar de maneira procedual dentro do OO. Como eu disse, é minha opinião e posso está errado.
Agora voltando ao tópico, mais alguém usa o Lazarus atualmente? Até agora a única pessoa que de fato usa a versão mais atual do Lazarus é o julicbq. Os outros, usaram somente versões antigas (4 anos para um projeto que sofre alterações diárias é uma eternidade).[/quote]

Não tem nada haver com o padrão singleton. O que eu falei é passar um objeto como referencia para outro tipo "ObjetoA.Create(ObjetoB)"
Se você destruir o ObjetoB o ObjetoA a referencia que o ObjetoA faz para ele estará perdida e quando be chamar algum procedimento do ObjetoB vai levandar uma exceção de “Access violation”.

PS: Singleton é muito bom e só saber usar, como para factorys e objtetos de configuração.

[quote=x@ndy][quote=matheuslmota]
O fato de o Delphi (ou Object Pascal, chame como quiser) não ser uma linguagem gerenciada não encaro como um problema, é uma característica da linguagem, assim como o C++ e o C possuem, que também têm essa características. Além do mais, também não é certo do ponto de vista das boas práticas usar objetos compartilhados.

EDIT:
Complementando o que eu disse, esse negocio de objetos compartilhados parece aquele padrão Singleton, que eu acho horroroso. Uma instância de um objeto para ser referenciada em vários lugar, posso está errado, mas nem parece OO, parece quase uma tentativa de programar de maneira procedual dentro do OO. Como eu disse, é minha opinião e posso está errado.
Agora voltando ao tópico, mais alguém usa o Lazarus atualmente? Até agora a única pessoa que de fato usa a versão mais atual do Lazarus é o julicbq. Os outros, usaram somente versões antigas (4 anos para um projeto que sofre alterações diárias é uma eternidade).[/quote]

Não tem nada haver com o padrão singleton. O que eu falei é passar um objeto como referencia para outro tipo "ObjetoA.Create(ObjetoB)"
Se você destruir o ObjetoB o ObjetoA a referencia que o ObjetoA faz para ele estará perdida e quando be chamar algum procedimento do ObjetoB vai levandar uma exceção de “Access violation”.

PS: Singleton é muito bom e só saber usar, como para factorys e objtetos de configuração.[/quote]

Mas esse problema não é coisa do Delphi, é problema das linguagens não gerenciadas e cabe ao programador avaliar se uma referência aponta para um lugar válido ou criar mecanismos que impessam a aplicação desalocar um objeto compartilhado. Não vejo onde o Delphi pode ser a causa do problema.

[quote=x@ndy][quote=matheuslmota][quote=x@ndy][quote=matheuslmota]Caros, atualmente trabalho dando manutenção em um sistema legado em Delphi. Procurando por uma ferramenta Open Source para programar em Object Pascal, encontrei a IDE Lazarus. Então, tenho algumas perguntas a fazer:

  1. Como está o projeto atualmente?
  2. Ela pode substituir o Delphi 7 (as versões posteriores ao Delphi 7 são meio bugadas)
  3. Pode-se desenvolver uma aplicação comercial somente usando o Lazarus, ele dá conta do recado?
  4. Ouvi dizer que o debug dele é lento. Isso procede?
  5. Existe refactor no Lazarus?
  6. Em comparação ao Delphi, é muito difícil desenvolver componentes para o Lazarus?

[]'s[/quote]
Como desenvolvedor delphi tentei usar um tempo o lazarus e desisti.
Essa estória de que as versões mais novas são bugadas é lenda. A única versão horrível de trabalhar era a 2005 porém a partir do 2006 é tranquilo.
Mas como você só vai fazer uma manutenção não vejo necessidade de compra de uma licença, da para ir de Lazarus mesmo. Agora no dia a dia, não tem como trabalhar.
(Isso é uma opnião pessoal).[/quote]

Mas o que foi que você viu de negativo no Lazarus?[/quote]

Na época em que testei era extremamente lento, gerava um executável gigante(embora tenha como corrigir), a IDE e o refactoring eram horríveis e cheia de bugs e instalar um componente delphi era um parto.
Essa foi a experiencia que eu tive e já faz alguns anos hoje em dia não sei se melhorou ou não!
[/quote]

O executável ainda é gigante se você não estripar as informações de debug do mesmo. Existe uma opção no compilador, ou mesmo você pode usar a ferramenta strip.exe para fazer isso.

Já trabalhei muitos anos com delphi, e na minha opinião as melhores ides foram as de código nativo(até o 7). Quando o .net entrou em cena ficou tão ruim de usar a ferramente que eu fui obrigado a portar meu trabalho para java(sem nenhum arrependimento nem dor de cabeça).