No mundo do software existe uma clara tendência para adicionar funcionalidades sem pensar nas consequências, é o
feature creep.
Esta tendência parece ser desencadeada pela necessidade de criar razões para os utilizadores fazerem
upgrade, ou pela vontade de levar o software para o nível
enterprise. Mas independentemente dos motivos, o resultado é sempre o mesmo: o software torna-se demasiado pesado e perde a utilidade. Pode dizer-se que cresce até se tornar insustentável, e colapsa.
Na realidade os utilizadores não querem mais funcionalidades, querem mais qualidade. Querem que o software faça aquilo para que foi desenhado, de uma forma progressivamente mais eficiente.
Um exemplo... Os
web services começaram a ganhar popularidade pela simplicidade e atitude
no frills. No entanto, seguindo aquela velha história «
dado um martelo suficientemente grande todos os problemas parecem pregos», estão rapidamente a tornar-se numa espécie de
CORBA... complexos, cheios de terminologia obtusa e funcionalidades duvidosas. A qualquer momento vai aparecer uma alternativa a prometer o mesmo que os
web services prometiam no início, e o ciclo recomeçará.
Outro exemplo, o
Apache... Durante anos, para a comunidade
open-source, era como se não existisse mais nenhum servidor web. Curiosamente, agora que o Apache é uma solução madura, flexível, e rica em funcionalidades, é que as pessoas começam a levar cada vez mais a sério a ideia de usar alternativas mais leves, como o
lighttpd. Pode não ser já amanhã, mas um dia destes o Apache também vai implodir.
Existe esta mania irritante de pensar que
enterprise significa automaticamente complexidade e
bloat...
Enterprise significa ser fiável, servir para resolver os problemas, e não dar chatices. Em 90% dos casos as soluções mais simples conseguem preencher os três requisitos em simultâneo, para quê complicar?
Se calhar é mesmo só para a cagança... para poderem dizer que estão a desenvolver uma aplicação que vai correr num
Appserver com
EJBs*,
WS-*, integrado numa arquitectura
SOA, quando na verdade não passa de um site interno merdoso que podia perfeitamente ser desenvolvido em
Python** ou PHP, sem complicações e com muito menos problemas no futuro.
Mas já estou a começar a divagar... E pensar que isto era para ser um
post acerca de quanto o C++ é
bloated, desnecessariamente complicado e globalmente feio...
* Eu sei, já estão démodé...
** BTW, o site do Python está com um novo visual há um mês, mas o mirror no LISA ainda tem o visual antigo. Ai ai estes mirrors portugueses... É por estas e por outras que a malta por cá continua a ignorá-los.