jump to navigation

C++ Coding Pains 18/Jun/2009

Tal como referi num artigo anterior, PolyglotProgramming: Scala, vou neste artigo enumerar as diversas “dores” que tenho sentido ao codificar sistemas em C++.

Antes de mais, saliento que os problemas que vou enumerar não são porque a linguagem de programação C++ seja péssima ou porque outras linguagens de programação são melhores ou porque eu seja um guru em C++, muito pelo contrário. Os pontos negativos que aqui enumero têm todos origem na minha experiência (e são portanto totalmente pessoais e subjectivos) em codificar em C++, a maioria das vezes com código legado por outros programadores.

Historicamente, foi na Universidade que tive contacto com C++ pela primeira vez e foi num projecto da cadeira de Programação Orientada a Objectos que codifiquei pela primeira vez em C++, procurando perceber minimamente os conceitos do paradigma OOP. Até então, as linguagens que conhecia e usava eram, por ordem cronológica: Basic, Assembly, Pascal e C. O projecto dessa cadeira demonstrou-me que eu era mais fluente em C do que em C++. Só anos mais tarde, ao aprender Java, é que comecei a perceber as vantagens de programar segundo o paradigma OOP.

O sistema ao qual actualmente dou suporte técnico enquanto programador é um sistema baseado em C++ e Oracle Pro*C, numa arquitectura cliente/servidor. Todo o sistema foi legado à equipa actual, e a maioria dos pontos que aqui enumero têm como ponto de origem este código legado.

Uma nota para salientar que alguns destes pontos negativos são também eles pontos positivos, dependendo da opinião pessoal de cada programador. Nomeadamente se a linguagem é estaticamente ou dinamicamente tipificada.

Update 2009.06.23: Actualizei a listagem dos pontos “dolorosos” a nível dos warnings de compilação e da inexistência de um nível de abstracção no acesso a base de dados.

Comments»

no comments yet - be the first?