TCollection e Generics no Free Pascal - Uma breve visão sobre lista de objetos com o Lazarus
O Free Pascal pode não ser tão poderoso quanto o C++, mas em seus termos, está bem madura e tem evoluído - e para aplicações simples pode representar um excelente custo benefício, numa prova de que com ele é possível conciliar recursos poderosos com simplicidade.
Apresentação
Bem, pra começar, falar sobre os benefícios da programação orientada a objeto passa do trivial, todo programador sabe disso, e pra quem já sofreu em projetos em que o conceito não tinha prioridade, principalmente prática, nem precisa comentar, já basta o sofrimento, a certo nível desnecessário, porém inerente, à profissão. Tudo bem que nem sempre é possível primar pelos melhores métodos no nosso dia-a-dia, ainda mais num mundo em que tempo é dinheiro, mas, já que aqui a gente pode desfrutar da dádiva do open source em que as prioridades felizmente são diferentes da indústria capitalista de software, parafraseando a ironia da oposição, a gente não ganha milhões mas é feliz.
Por falar em tempo, o meu anda "mais curto que coice de porco" (ditado do pessoal aqui da minha região), mas (por falar em ser feliz) eu não iria mais conseguir dormir sem compartilhar com vocês uma nova opção que descobri, lançamento não tão recente, mas que me fez tirar o chapéu pro pessoal do projeto Free Pascal e da IDE Lazarus. Bem, todos sabem que o Lazarus é uma ferramenta open source semelhante, inclusive na aparência, ao conhecido Delphi, que muitos usam ou já usaram (inclusive eu), pra desenvolver sistemas pra Win32.
Além de ser free, o Lazarus tem a vantagem de ser multi-plataforma, e ele pode ser até mais simples e talvez ter bem menos recursos que o 'concorrente' proprietário (a propósito, um tempo atrás a empresa então dona do Delphi tinha lançado o irmão Kylix pra Linux, só que não deu muito certo), mas também o Lazarus é mais leve, etc... E não deixa de ser uma ótima opção pra programação dentro da ideia de RAD (desenvolvimento rápido). Eu sei que a linguagem Pascal em si sofre um pouco de preconceito, mas eu gosto dela - ela pode não ser tão poderosa quanto o C++ mas do Free Pascal, em seus termos, posso dizer que está bem madura e tem evoluído - e pra aplicações simples pode representar um excelente custo benefício.
Bem, deixando os circunlóquios e indo pra prática, uma prova de que com ele é possível conciliar recursos poderosos com simplicidade é quando precisamos trabalhar com listas de objetos. Vou citar dois exemplos, um mais 'arcaico' e outro bem recente e que é destaque (influência de linguagens como Java e C#) - o primeiro é o uso de coleções e o outro são os chamados generics.
Por falar em tempo, o meu anda "mais curto que coice de porco" (ditado do pessoal aqui da minha região), mas (por falar em ser feliz) eu não iria mais conseguir dormir sem compartilhar com vocês uma nova opção que descobri, lançamento não tão recente, mas que me fez tirar o chapéu pro pessoal do projeto Free Pascal e da IDE Lazarus. Bem, todos sabem que o Lazarus é uma ferramenta open source semelhante, inclusive na aparência, ao conhecido Delphi, que muitos usam ou já usaram (inclusive eu), pra desenvolver sistemas pra Win32.
Além de ser free, o Lazarus tem a vantagem de ser multi-plataforma, e ele pode ser até mais simples e talvez ter bem menos recursos que o 'concorrente' proprietário (a propósito, um tempo atrás a empresa então dona do Delphi tinha lançado o irmão Kylix pra Linux, só que não deu muito certo), mas também o Lazarus é mais leve, etc... E não deixa de ser uma ótima opção pra programação dentro da ideia de RAD (desenvolvimento rápido). Eu sei que a linguagem Pascal em si sofre um pouco de preconceito, mas eu gosto dela - ela pode não ser tão poderosa quanto o C++ mas do Free Pascal, em seus termos, posso dizer que está bem madura e tem evoluído - e pra aplicações simples pode representar um excelente custo benefício.
Bem, deixando os circunlóquios e indo pra prática, uma prova de que com ele é possível conciliar recursos poderosos com simplicidade é quando precisamos trabalhar com listas de objetos. Vou citar dois exemplos, um mais 'arcaico' e outro bem recente e que é destaque (influência de linguagens como Java e C#) - o primeiro é o uso de coleções e o outro são os chamados generics.
Meu blog www.blig.ig.com.br/mauriciobaron