Por que VISUAL C++

Autor:: Pedro Luis Kantek Garcia Navarro– GPT

:

 
Este texto vai desenvolver a idéia (particular, é claro, e certamente adoraria debater este tema com quem não concorde com minhas colocações) de que quem pretende desenvolver software no século XXI (só faltam 5 anos e meio) precisa se livrar de umas coisas que atendem pelos nomes vagamente exóticos de COBOL, CLIPPER, PASCAL, DBASE, BASIC, etc., etc. e focar seu interesse em algo mais substancial e robusto.

Quem fizer isto, estará seguindo na esteira das grandes software houses (Microsoft à frente), e com certeza estará na linha de frente no que diz respeito a facilidades de criação (programação) de software.

Quem, entretanto, fizer esta opção, pode preparar a moleira para alguns (muitos) momentos de estudo e reflexão. E cada vez mais complexa a plataforma mínima de conhecimentos, conceitos e técnicas a dominar para criar um programa por mais simples que este seja.

Mas, ... vamos por partes. Primeiro o ambiente de operação. Creio que ninguém duvida mais de que estamos caminhando para um mundo completamente imerso em Windows. Embora existam alguns (poucos) concorrentes buscando um lugar ao sol, o volume massacrante de vendas (ouvi falar em 2.000.000 cópias/ semestre) do Windows deixa qualquer um para trás. Na vida de alguns software, chega um momento em que o volume de sua venda é tão grande, que a despeito de suas qualidades ou defeitos, ele passa a monopolizar os esforços da comunidade de desenvolvimento e utilizadores. Este momento já chegou para o Windows.

Neste ambiente, existem diversas possibilidades de linguagens. Uma que goza de um grande prestígio é o Visual Basic. No argumento a seguir, há uma boa dose de preconceito, mas vamos lá: eu me recuso a considerar seriamente uma linguagem profissional que atenda pelo nome de BASIC. Certamente, a ênfase da Microsoft (leia-se Bill Gates) com o BASIC se deve a razões sentimentais: foi o primeiro - e durante alguns anos, o único - produto vendido pela Microsoft nos seus primórdios, quando ainda estava em Albuquerque no Novo México. Não tem meio termo: se o VB mantém compatibilidade com os velhos BASICs, ele é linguagem de principiantes e crianças. Se ele agregou as facilidades de POO, estruturação rígida e projeto modular, então ele não é um BASIC. Quando penso em VB lembro-me de uma limusine construída com a lata de um fusca. Deve ficar horrível.

Tem o Pascal for Windows, mas claramente começa a faltar fôlego ao seu time de desenvolvimento. Seus releases são cada vez mais espaçados, e quase ninguém fala dele. Note-se, entretanto, (ele está instalado aqui na CELEPAR) que é um excelente produto. Meu primeiro programa for Windows foi feito nele, e o software deixou ótima impressão.

O Clipper faz uns 3 anos que promete sua versão for Windows para o próximo semestre. Haja semestre comprido. De qualquer maneira, seus fabricantes optam por deixar o Clipper cada vez mais parecido com o C, e parecido por parecido, que tal usar o original?

Na programação sob Windows, não há como fugir da família de produtos VISUAL, é meio caminho andado para lidar com a complexidade inerente ao ambiente. Só o programa "ALO MUNDO" - programa famoso no universo C, e que simplesmente imprime esta mensagem no vídeo (em Clipper seriam 2 comandos: CLEAR e WAIT "ALO MUNDO") - em visual C++ ocupa quase 200 linhas fonte, antes de expandirem-se as macros e constantes.

O segundo argumento a favor de C++ atende pelo nome de POO (programação orientada ao objeto). Objetos, no mundo da programação, são a modularidade levada a extremos. Diversos conceitos do mundo POO auxiliam a fazer programas. Vejamos os primeiros:

  • O próprio conceito de objeto é um achado e tanto. Trata-se de um módulo de software composto por dados (ou, mais formalmente, por estruturas de dados) e por métodos (os antigos procedimentos ou funções). O detalhe é que todos estes componentes ficam escondidos do resto do mundo, e só são acessíveis ao próprio objeto, limitando-se rigorosamente a interface deste objeto com os demais àquilo que é indispensável ao funcionamento do conjunto.
  • A herança permite reaproveitar código, usando tudo o que já foi feito, escrito e depurado e acrescentando-se apenas as particularidades de um dado problema (os objetos herdam dados e métodos de seus pais). No limite, este conceito permite criar uma biblioteca de objetos, e construir um software passa a ser como uma visita a um supermercado: pega um objeto aqui, outro ali, mais outro acolá, junta-se tudo e, voilá, está pronto um programa complexo.
    Aliás, a programação sob Windows só é possível graças a esse mecanismo. Se cada programador tivesse que começar do zero, até hoje nenhum programa sob Windows teria ficado pronto.
    Funcionar então, ... só para o século XXII.
  • Sobrecarga de funções: Funções parecidas, que atuam sobre dados semelhantes são definidas igual, e só no momento de sua chamada é que o ambiente decide qual função exatamente ser chamada para aquele caso particular. Este conceito permite dar generalidade às funções. Diminui o seu número e a preocupação necessária para invocá-las. Parece pouco, mas é uma senhora descoberta. Que no entanto, a bem da verdade, não é invenção do mundo POO. No longínquo ano de 1965, o APL já fazia sobrecarga de funções extensivamente (no comando APL A+B, A e B podem ser escalares, vetores,
    matrizes de até 256 dimensões, um pode ser escalar e o outro matriz, etc., etc.).

Finalmente, o uso de C para construir software é o "estado da arte". Parafraseando a propaganda, 9 entre 10 desenvolvedores usam C, e 9 entre 10 usuários de C usam C++. Tem desempenho próximo ao dos Assemblers, é portável (tanto quanto possível), mas é de alto nível, estruturada e comportada. Certamente, ainda vamos ouvir muito sobre Visual C++. Quem viver, verá.

kantek@celepar.gov.br

Copyright@2003 / Companhia de Informática do Paraná - CELEPAR
links: