Visite também: Currículo ·  Efetividade BR-Mac

O que é LinuxDownload LinuxApostila LinuxEnviar notícia


Nostalgia: Nova versão do Free Pascal Compiler

Na semana calma pós-reveillon, finalmente realizei o há muito adiado plano de testar o Lazarus, que de fato cumpriu o prometido: reativou sinapses que estavam desligadas desde a primeira metade da década de 1990, e em meia hora eu estava usando as recordações dos meus tempos de programador Pascal (e, brevemente, Delphi) para, com ajuda da variada biblioteca de componentes prontos para usar, desenvolver rapidamente um pequeno (e inútil) cliente HTTP que carrega o conteúdo das páginas diretamente em um campo memo.

Embora a aplicação seja inútil para mim (mas talvez evolua para algo divertido no contexto de um projeto pessoal), a ferramenta fez bem mais do que eu esperava (além de cumprir o objetivo essencial: gerar código nativo para a minha plataforma), embora a minha expectativa para IDEs esteja ainda firmemente plantada nos anos 1990.

E a minha experiência ainda me deu a oportunidade de descobrir uma boa notícia: o lançamento da versão 2.4.0 do compilador Free Pascal, parte integrante do Lazarus e continuando na sua proposta de compilar o mesmo código em uma grande variedade de plataformas, em cuja longa lista foram inseridas, nesta nova versão, o Mac OS X de 64 bits, o IPhone e o Haiku.

O Pascal não seria minha escolha hoje para iniciar uma carreira em desenvolvimento de software, mas para quem tem idéia de um projeto hobbysta e mais lembranças do que proghramava nos anos 1990 do que talentos em modelos mais correntes, o Free Pascal (e o Lazarus) podem ser um impulso para a retomada – e a lista de projetos construídos usando este compilador pode dar uma idéia do que ele pode (ou não) fazer.

Saiba mais (freepascal.org).


• Publicado por Augusto Campos em 2010-01-05

Comentários dos leitores

Os comentários são responsabilidade de seus autores, e não são analisados ou aprovados pelo BR-Linux. Leia os Termos de uso do BR-Linux.

    Renato (usuário não registrado) em 5/01/2010 às 4:53 pm

    Solta o código ae, pra quem quiser começar a usar o lazarus ter uma base

    Nostalgico (usuário não registrado) em 5/01/2010 às 5:32 pm

    O Augusto anda nostálgico mesmo. Primeiro falou sobre clipper, depois pascal (fora que postaram aqui sobre o gambas/basic recentemente)… tá faltando ainda Cobol, MSX e Prince of Persia para a nostalgia ficar completa ehehehe

    Weber Jr . (usuário não registrado) em 5/01/2010 às 6:33 pm

    “O Pascal não seria minha escolha hoje para iniciar uma carreira em desenvolvimento de software”

    A ressalva é válida. Eu tenho usado para portar e ampliar um projeto feito em Delphi.

    Não recomendo para quem está começando porque faltam muitas facilidades das linguagens mais modernas.

    Além disso, para aproveitar mesmo o que tem de novo, é necessário usar os snapshots. Daí acho que é muita emoção para um iniciante.

    Para desenhar GUIs rapidamente é muito prático. Só que a separação estilo MVC é por conta do usuário. Daí complica, não é obrigatório, não fazem.

    Curioso (usuário não registrado) em 5/01/2010 às 7:24 pm

    A equipe do Freepascal e o Lazarus estão de parabéns, mesmo remando contra a maré, construíram um ótimo projeto, eles conseguiram fazer o que a talentosa e toda, poderosa Borland não consegui, migrar o Delphi para o Linux.

    O Freepascal roda em tantas arquiteturas que acho que fica somente atrás do C.

    As facilidades das linguagens modernas são modinhas, que vão e vem, em poder de funcionalidades o Freepascal não perde para nenhuma.

    Weber Jr.
    Um desenvolvedor que tem problemas de instalar um “snapshots” não é e nunca vai ser desenvolvedor.

    Como ja foi dito aqui, o importante é dominar a linguagem e fazer dela uma ferramenta para te auxiliar, e não seguir modismos.

    Rodrigo Robles (usuário não registrado) em 5/01/2010 às 7:27 pm

    Estou tocando um projeto de 3D MMORPG em FreePascal/Lazarus:

    http://www.futurosistemas.net/Mundo/index.html

    http://sourceforge.net/projects/gamemundo/

    Quando decidi por esta ferramenta, estava entre o FreePascal e o gcc. Escolhi o FreePascal pelos seguintes motivos:

    1 – O FreePascal tem um bom suporte a muitas plataformas.

    2 – A velocidade de compilação do FreePascal é muito superior ao gcc (O build deste projeto leva apenas 1 segundo).

    3 – A RTL e a FCL são muito poderosas e amigáveis.

    4 – A IDE é poderosa (Embora “fraca” em comparação ao Delphi atual e ao Visual Studio)

    Até hoje não encontrei **nenhuma** limitação nesta ferramenta, nada que eu não pudesse fazer em C++. O único ponto negativo que eu poderia ressaltar seria o recurso de debugagem da IDE que ainda é fraco.

    Dorival (usuário não registrado) em 5/01/2010 às 8:07 pm

    Cara, que saudade dos estudos no Pascal e C++. Tenho ainda um sistema de controle de chamados técnicos rodando em Pascal no Wine. Fiz todas rotinas de menu up-down e telas. Tinha todas minhas functions e procedures,…, que trabalheira e que cachaça. Deixa eu ligar meu MSX aqui e jogar um pouco !!! Valeu a lembrança.

    Durval (usuário não registrado) em 5/01/2010 às 8:24 pm

    Por mais incrível que possa parecer, a linguagem pascal ainda é e dificilmente vai deixar de ser uma boa opção para iniciantes, por suas características didáticas e seu formato estruturado, ela dá ao programador novato critérios para a programação que ele vai usar em qualquer outra linguagem moderna.

    Durval – http://www.hotmastersound.com.br

    Weber Jr (usuário não registrado) em 5/01/2010 às 9:01 pm

    @Curioso

    “Weber Jr.
    Um desenvolvedor que tem problemas de instalar um “snapshots” não é e nunca vai ser desenvolvedor.”

    Eu afirmei(tentei ao menos) que não é recomendado para iniciantes usar os snapshots.

    Não me referia a instalação, isso é simples.

    Me referia justamente a depois, existem bugs estranhos por se tratarem de versões bem instáveis. É o esperado quando se pega versões assim.

    Não dá para esperar de um iniciante em programação que vá debugando(e entenda) todo o fluxo do código de uma biblioteca, por exemplo.

    Aliás, quem puder, faça isso e reporte os bugs. Eu já cooperei com alguns bug reports, mesmo com meu inglês tosco. Basta boa vontade e investir um tempinho para debugar e dar informações suficientes.

    @Curioso,

    “eles conseguiram fazer o que a talentosa e toda, poderosa Borland não consegui, migrar o Delphi para o Linux.”
    O Lazarus tem bem menos recurso que o Delphi AINDA. Pra eles se gabarem de conseguir o que a Borland conseguiu, falta muita, muita coisa. Sem falar que hoje é possível desenvolver em Delphi e compilar pra Mono, pra executar no Linux.

    “As facilidades das linguagens modernas são modinhas, que vão e vem, em poder de funcionalidades o Freepascal não perde para nenhuma.”
    Menos de novo, né? Ainda falta bastante feijão pra comparar com o C#, Java e Ruby. E as ‘modinhas’ são as que empregam, remar contra a maré pode até ser bom como algo a mais, mas fujir das linguagens de mercado só vale se você vai ter seu próprio produto.

    Igor Cavalcante (usuário não registrado) em 5/01/2010 às 9:57 pm

    Sou desenvolvedor, e procuro evitar ao máximo o uso de snapshots das ferramentas que uso, pois prefiro as releases estáveis.

    Vai que na hora de entregar uma release do meu sistema a minha IDE pifa e aí? quem paga a conta? O desenvolvedor que não instala uma snapshot não é só um desenvolvedor mas um desenvolvedor precavido.

    É claro, existem situações que você vai querer testar uma snapshot, mas não recomendo isto para uso profissional.

    Weber Jr (usuário não registrado) em 5/01/2010 às 11:06 pm

    “remar contra a maré pode até ser bom como algo a mais, mas fujir das linguagens de mercado só vale se você vai ter seu próprio produto.”

    Como queria que seguissem esse conselho de estagnação com relação a .Net / Silverlight .

    “Desiste, todo mundo usa Java/Flash.”

    A diferença aí é que por trás delas, quando havia 0% de mercado, tinha uma empresa berrando que era melhor coisa do mundo. E no dia seguinte, Icaza e outros fãs de primeira hora repetindo isso.

    Não, não acho que Lazarus sirva para todo mundo. Meio instável mesmo.

    Mas esse discurso de “não remar contra maré” leva a uma mesmice, uma estagnação… e projetos monstrengos implementando tudo com PHP ou Java pelo mais nobre motivo de que o desenvolvedor considerar a única linguagem que sabe como a solução definitiva, que não deve ser questionada.

    Magno (usuário não registrado) em 5/01/2010 às 11:23 pm

    Muitos cursos de informática usam Pascal/Delphi como linguagem de programação de introdução (disciplina de lógica de programação, p. e.), mesmo porque o mercado é enorme para quem as domina, queiram ou não. Todo dia tem oferta de emprego. Só por esses motivos ter o lazarus disponível já é grande coisa.

    Marco Vasconcelos (usuário não registrado) em 6/01/2010 às 1:52 am

    Não recomendo para quem está começando porque faltam muitas facilidades das linguagens mais modernas.

    O que você chama de facilidade? Garbage Collector por exemplo? Ensinar programação numa linguagem com essa facilidade é criar um programador que vai levar anos até desenvolver algo que preste em C ou C++ devido aos vazamentos de memória que vai deixar.
    Acho Pascal uma linguagem bastante conveniente para o ensino de programação. Foi prá isso que ela foi criada, afinal.

    Feliz 2010 a todos.

    devnull (usuário não registrado) em 6/01/2010 às 7:36 am

    “A diferença aí é que por trás delas, quando havia 0% de mercado, tinha uma empresa berrando que era melhor coisa do mundo. E no dia seguinte, Icaza e outros fãs de primeira hora repetindo isso.”

    É assim que as modinhas começam, por fim tomam o mercado, quem chega por último é mais um na multidão padronizada que sai das “universidades”, acaba devidamente mal pago e preso numa carreira que é tecnicamente um dead end evolutivo…

    Acho engraçado alguém dizer para não remar contra a maré em um site de notícias sobre Linux. Então todos deveriam usar Windows só para não remar contra a maré?

    Não é só usar o que está na moda, mas não usar o que está na moda e se restringir ao que não tem mercado esperando que um dia ele possa ‘vingar’, se é que vai chegar.

    Quem trabalha com Linux hoje não ficou restrito a ele desde que saiu a versão 1.0. Trabalhou com outros sistemas de mercado até que existisse um mercado onde ele possa trabalhar.

    “O que você chama de facilidade? Garbage Collector por exemplo? Ensinar programação numa linguagem com essa facilidade é criar um programador que vai levar anos até desenvolver algo que preste em C ou C++ devido aos vazamentos de memória que vai deixar.”

    Então programe exclusivamente em Assembly e seja feliz ;) Porque qualquer outra linguagem que você utilizar, você está tendo facilidade que não existirá em outra linguagem. Não é preciso trabalhar de forma primitiva todo dia pra provar que sabe. Quem é, se basta.

    Alexsander (usuário não registrado) em 6/01/2010 às 10:05 am

    Os desenvolvedores da geração atual são muito preguiçosos, ninguém mais se preocupa em otimizar código para poupar ciclos de CPU ou memória. Eles partem do princípio de que os computadores de hoje são rápidos o suficiente e memória é barata. Com o uso de “garbage collection”, então, alguns chegam a ficar relapsos.

    Tenho visto programas que são verdadeiros monstros em termos de tamanho e desempenho, aplicativos que requerem centenas de megabytes em bibliotecas com binários de dezenas de megabytes. É mais fácil exigir um computador mais rápido e com mais HD para o cliente do que se esforçar para otimizar o código.

    O resultado? Já vi clientes incrédulos vendo meu ERP (cujo binário nativo tem menos de 5 Mb) rodando dezenas de vezes mais rápido que a concorrência DEPOIS de importar as bases de dados.

    Alex

    Curioso (usuário não registrado) em 6/01/2010 às 10:06 am

    Weber Jr.
    Desculpe, entendi que um iniciante não conseguiria instalar um “snapshots”, agora compreendi.

    Igor Cavalcante
    Realmente usar uma “snapshots” é complicado para desenvolver aplicativos para botar em produção, mas no caso do Lazarus estas “snapshots” são diárias, corrigindo bugs dos releases estáveis, e claro implantando novos recursos, ai sim pode ser um grande problema, mas como você mesmo falou vale para ver as novidades que vem pela frente.

    Marcosalex
    Claro que o Delphi é um produto bem acabado, mesmo na versão 3 ja era considerado uma IDE muito produtiva e estável. O mérito do Lazarus é ter conseguido fazer um produto estável no Linux, coisa que a Borland anunciou como grande trunfo no Delphi 6 e fez aquela aberração do Kylix. Mas a Borland mais uma vez trocou os pés pela mãos, a última versão boa foi o Delphi 7, depois foram pro lado negro da força, .NET, ai a coisa foi a baixo, tanto que venderam o mesmo. Agora usar Delphi para desenvolver em MONO no Linux é tu ta de brincadeira…

    A Borland tem um história de ótimos produtos, principalmente compiladores, mas é impressionante como não conseguem dar continuidade. Ta certo que brigar com Microsoft não é fácil, eles jogam bem sujos, a Borland conseguiu fazer um compilador para plataforma win32 melhor que os produtos da própria Microsoft, mas dai a mesma contratou o criador do Delphi para desenvolver o C#, é assim que eles jogam, não tem pessoal qualificado, contrata, este é o nosso mundo, capitalista, onde os grandes ficam cada vez maiores e os médios / pequenos quebram.

    Isso aumenta os méritos da comunidade do Freepascal / Lazarus e do software livre em geral.

    O problema das linguagem da “moda” para iniciantes é que não aprendem o básico da programação, como as coisas funcionam por baixo do pano, e qualquer problema mais cabeludo que encontram ficam sem base para poder resolver.

    Como foi dito, quando se aprende uma linguagem estruturada, como C, C++, Pascal,… aprende a se programar de verdade, se tem estrutura. Depois fica fácil programar em qualquer outra linguagem mais “moderna” ou “fácil”.

    devnull (usuário não registrado) em 6/01/2010 às 10:20 am

    “Não é só usar o que está na moda, mas não usar o que está na moda e se restringir ao que não tem mercado esperando que um dia ele possa ‘vingar’, se é que vai chegar.”

    Respirar é vital, mas ninguém vai ter dar uma medalha porque você respira bem…

    Ozzy (usuário não registrado) em 6/01/2010 às 10:32 am

    Usei o FreePascal (mas nunca o Lazarus) em dois projetos que precisavam de um cliente multi-plataforma. Mesmo naquele tempo, (ainda era a versão 1.04 salvo engano), já era uma implementação muito estável, consistente, rápida e bem documentada. Acompanhei a lista de desenvolvimento do FPC por um tempo e realmente a equipe faz um trabalho brilhante !!

    O.O.

    tenchi (usuário não registrado) em 6/01/2010 às 11:11 am

    A Embarcadero anunciou que em 2010 lançará versões do Delphi para Linux e Mac OS X. Isso já faz um tempo. Tomara que não façam como o Kylix.

    http://computerworld.uol.com.br/tecnologia/2009/11/26/delphi-tera-em-2010-versoes-para-linux-e-mac-os/

    Então o pessoal do Lazarus está aprendendo como fazer seu software ter sucesso:

    Of course there is an alternative approach. Remove versions (on windows) or lower their visibility. Brand the next version of Lazarus as “Lazarus 2010 Edition”.
    And offer it in different packages:

    - 30 days Free Trial
    - Gold Edition, 1 User unlimited
    - Platinum Edition, Multi user unlimited (if the SVN package/component is ready and can be pre-installed)

    Quem já teve algum professor de engenharia de software chato e vendido à tecnologias proprietárias (eu! eu! eu!), sabe que colocar um nome pomposo (se lembram do LinuxFX Megazord Edition?) do no seu software é o segredo do sucesso :-)

Este post é antigo (2010-01-05) e foi arquivado. O envio de novos comentários a este post já expirou.