C++ Builder no BDS 2006

By: Adail Retamal

Abstract: Confira como ficou o suporte à linguagem C++ no Borland Developer Studio 2006

Os usuários do BDS (Borland Developer Studio), agora na versão 4.0 (2006), contam com mais uma arma no já poderoso arsenal de linguagens e ferramentas: a personalidade C++ para Win32. Ao contrário da opinião comum, o número de desenvolvedores C/C++ ainda é bastante expressivo, principalmente em áreas como software embutido em equipamentos eletrônicos, jogos, interfaceamento com hardware, protocolos de comunicação e sistemas em tempo real, entre outras.

Algumas características dessa linguagem, como sua sintaxe, a manipulação direta da memória, a utilização intensiva de ponteiros, a possibilidade de usar herança múltipla, entre outras, acabam por “assustar” aqueles que estão começando ou que estão acostumados com outras linguagens mais “amigáveis”. Por isso, um ambiente de desenvolvimento que auxilie a controlar essa complexidade é de extrema importância.

C# e Java herdaram grande parte da sintaxe do C++, embora tenham excluído várias características consideradas “perigosas”, como os ponteiros e a herança múltipla.

Só para lembrar aos mais antigos (ou para informar aos mais novos), o próprio Windows foi feito em C/C++. É por isso que quando usamos a API do Windows temos que passar parâmetros um tanto quanto estranhos, como strings terminadas com o caracter nulo (ASCII 0) e ponteiros para estruturas. E para os Delphianos, ao chamar uma DLL feita em C/C++, às vezes temos que lembrar de declarar as funções com o especificador cdecl, senão a passagem de parâmetros e a limpeza da pilha de chamada serão incompatíveis, e aí já viu, né?

    As Novidades

Para os programadores C/C++ há um mundo de novidades. Quem já era usuário do C++ Builder sentirá emoções semelhantes às dos usuários do Delphi 7 e anteriores quando experimentaram o novo IDE, que oferece inúmeras funcionalidades para aumentar a produtividade e a segurança. Alguns destaques são:

  • Code Completion: ao utilizar o operador -> para acessar membros de uma classe, o editor mostra uma lista com os possíveis símbolos. Também se pode invocar a lista a qualquer momento teclando Ctrl+Space.
  • Code Folding: o editor possibilita ocultar linhas em regiões pré-definidas, como o corpo das funções, ou em regiões delimitadas pelo usuário, entre os símbolos #pragma region e #pragma end_region.
  • Refactoring: pode-se renomear um símbolo de forma segura através do menu Refactor | Rename. As alterações podem ser visualizadas antes de serem aplicadas e até mesmo desfeitas.
  • Painel de estrutura: para navegar no código através de uma árvore com as classes, funções, macros, includes etc.
  • Histórico de versões: cada arquivo possui seu próprio histórico de versões anteriores, que pode ser acessado pela aba History, na parte inferior do editor. Ali podemos comparar versões, voltar uma versão e copiar trechos. Se estiver usando um controlador de versões, como o StarTeam, as versões do repositório também aparecem no histórico.
  • Integração com CaliberRM e StarTeam: integre sua equipe de desenvolvimento através da gerência de requisitos e de configuração, garantindo melhor comunicação e entendimento, atribuição e acompanhamento de tarefas, atendimento de solicitações de alteração e rastreamento de defeitos, além de garantir a integridade dos artefatos produzidos (código, documentação etc.).

Hide image

Figura 1: O editor de código, mostrando o Code Completion e o Code Folding

Entre os diversos tipos de projetos possíveis (DLLs, objetos COM+, aplicações console, VCL etc.) vale a pena destacar:

  • IntraWeb: criar aplicações para a Web em C++ nunca foi tão fácil e divertido! Toda a funcionalidade do poderoso framework IntraWeb agora à disposição da comunidade C++. Desenhe os formulários, codifique os eventos e pronto! Sua aplicação agora está na Web!
  • Web Services: consumir ou oferecer Web Services é muito fácil e rápido. Integre-se a outras aplicações e serviços, implemente SOA (Service-Oriented Architecture), manipule XML, entre outras funcionalidades.
  • Acesso a bancos de dados: todas as opções de acesso a dados da VCL estão disponíveis, como dbExpress, BDE, dbGo (ADO), ClientDataSet, DataSnap (multi-camadas).

Tudo isso com o excelente suporte à depuração em tempo de execução, permitindo inspecionar variáveis, objetos e estruturas, ver o código de máquina e os registradores na janela de CPU.

    Exclusividades

Além de todas as novidades para o pessoal de C/C++, o ambiente de desenvolvimento também oferece funcionalidades especiais para as exigências desse mundo, como:

  • Configurações para compilação: podem ser criadas diversas configurações (build configurations) para compilar a aplicação, com diferentes diretórios de saída e diversos parâmetros que serão passados para o compilador e linkeditor.
  • Eventos de compilação: para acompanhar ainda mais de perto o processo de compilação e realizar operações adicionais, o IDE permite que sejam criados scripts que são executados em três momentos: antes da compilação, após a compilação e antes da linkedição. Para configurar os scripts é só clicar com o botão direito sobre qualquer módulo compilável e acessar o menu Build Events.
  • Integração com CodeGuard: é uma ferramenta que permite a depuração (debugging) em tempo de execução para aplicações em C++.
  • Bibliotecas de runtime da Dinkumware: esta empresa oferece bibliotecas reconhecidas mundialmente pela qualidade e portabilidade, atendendo aos padrões ANSI e ISO.

    Conclusão

Damos as boas vindas à comunidade C/C++! Além de aproveitarem todas as comodidades do novo IDE, os desenvolvedores têm à sua disposição a experiência de 10 anos da VCL e a facilidade e rapidez para construir aplicações poderosas para Win32. E lembre-se que podemos criar projetos que utilizem módulos feitos em várias linguagens e plataformas!

Aproveitem e bons projetos!



Server Response from: ETNASC04