Francisco Almeida

estudante de Engenharia Informática na Universidade de Évora. Partilhando o estudo com a moderação do fórum Portugal-a-Programar e a participação na Revista Programar, como um dos redactores mais activos, ainda tem tempo para explorar algumas das suas linguagens preferidas: Java, PHP e a recente D.

O próximo padrão de C++

Quem quer que já tenha programado em C++, decerto já possui conhecimento suficiente da linguagem e das bibliotecas padrão para ter familiaridade com os seus múltiplos paradigmas. Objectivamente, o C++ é uma linguagem complexa e muito abrangente: permite facilmente programação procedimental (que muitos chamam programar a la C), permite o uso de polimorfismo, tanto dinâmico como estático, e finalmente, permite também metaprogramação. Na realidade, C++ pode ser igualmente utilizado tanto por iniciados como por peritos, possui um certo grau de flexibilidade, uma sintaxe por vezes particularmente dúbia, e de uma curva de aprendizagem desproporcionalmente íngreme para os programadores mais ambiciosos.

São as imperfeições, as limitações, e as potencialidades sub-aproveitadas da linguagem que levam a Comissão do Padrão de C++ a reformá-la quando necessário. Entre as figuras mais proeminentes desta Comissão, encontra-se por exemplo, o autor da linguagem, Bjarne Stroustrup, bem como diversos profissionais de tecnologias de informação que trabalham com, ou para, diversas empresas que ao longo dos anos têm promovido a linguagem e proposto extensões. Para tornar o C++ uma linguagem mais intuitiva e de mais simples aprendizagem, e ao mesmo tempo manter compatibilidade com código existente, eis algumas das muitas interessantes alterações e novas funcionalidades que nos esperam.

Continuar a ler

Metaprogramação em C++

Introdução

Toda a gente que conhece minimamente a linguagem C++ já ouviu falar em templates. O conceito inovador de template foi oficialmente introduzido no standard de implementação em 1998 e trouxe uma lufada de ar fresco, tanto ao C++, como a um número de outras linguagens mais recentes (por exemplo, também linguagens como o Java ou C# foram enriquecidas com as suas próprias técnicas de programação genérica). Neste artigo, iremos rever os templates, bem como as suas propriedades, e explorar algumas das possibilidades raramente consideradas com templates.

Continuar a ler