A Declaração WITH-DO Perfeita

A utilização do WITH-DO pode deixar o código mais simples de ler, pois haverá menos declarações, atribuições e inicializações de variáveis. No entanto, a sintaxe atual não é perfeita. Dependendo do seu uso, o benefício pode ser o inverso.

Continue →

A função Supports pode ser traiçoeira

Quando você se acostuma a utilizar somente instancias de interfaces, pode ser difícil entender alguns erros em tempo de execução, utilizando instâncias de classes com suporte a interfaces.

Continue →

Assertions é uma boa prática

Assertions auxiliam o programador no desenvolvimento e depuração do código, sendo a primeira linha de defesa contra bugs.

Continue →

Construtores Virtuais

A linguagem Object Pascal possui uma feature que não existe em nenhuma outra linguagem mainstream do mercado.

Continue →

Listas Genéricas, sem Generics

É possível utilizarmos listas genéricas, com checagem de tipo, mas sem o uso da sintaxe com Generics?

Continue →

Namespaces Inteligentes

Na minha opinião, a implementação atual de Namespaces no Delphi poderia ser muito mais inteligente, simples e sem ambiguidades.

Continue →

Interfaces COM vs. CORBA

Existem dois tipos de Interfaces no Free Pascal definidos como COM e CORBA. No Delphi temos apenas o tipo COM. Mas será que existem vantagens ao utilizar o tipo CORBA?

Continue →

Versões Antigas dos Compiladores

A primeira versão do Delphi data de 1995, após o Turbo Pascal,enquanto o compilador Free Pascal é de 1993.

Estamos em 2018 agora. Será que vale a pena manter seu código executando nas versões antigas do compilador?

Continue →

Objetos Complexos

Um Objeto não é apenas uma instância de uma Classe. Ele pode conter instâncias (quase) infinitas de diferentes Classes combinadas.

Continue →

O Procedimento Exit

Todos os programadores Pascal conhecem o procedimento Exit() desde as primeiras versões dos compiladores. Mas será que todos sabem utilizá-lo corretamente?

Continue →

Pas2JS: Codificando em Pascal, Executando em JavaScript

A equipe do Free Pascal e Lazarus nos deram um grande presente de Final de Ano: Um Transpiler de Pascal para JavaScript.

Continue →

Mais Performance usando Argumentos "const" para Interfaces

Se você utiliza instâncias de Interfaces em todos os lugares e quer aumentar um pouco a performance do seu código, leia esse artigo.

Continue →

Herança de Formulário é para Iniciantes

Depois que você aprendeu como funciona a Herança de Formulários, pode esquecê-la.

Continue →

Eliminando Métodos Privados

A utilização de Métodos Privados é um erro comum no design do código.

Continue →

Classes Aninhadas

As Classes Aninhadas reduzem o número de Classes públicas, melhoram o encapsulamento, o polimorfismo local e a legibilidade do código.

Continue →