Publications‎ > ‎Software reviews‎ > ‎

Snel en krachtig programmeren

Borland C++ Builder 4.0 is het eerste produkt dat is uitgekomen onder borland.com, de nieuwe divisie van Inprise die ontwikkelgereedschappen en diensten aanbiedt voor software ontwikkelaars. Met de C++ Builder ontwikkelomgeving kan de kracht van de C++ programmeertaal aangewend worden in een visueel programmeermodel dat identiek is aan dat van Borland Delphi 4.0.

Borland C++ Builder 4.0 is beschikbaar in een Standard, Professional en Enterprise editie. PCM bekeek de laatste en zag vooral veel plussen.

Borland C++ Builder 4.0


Werkomgeving

Ook de Property Inspector kan bevestigd worden aan de Code Editor. Hier zijn onder meer de nieuwe Anchors, Constraints en DockSite eigenschappen te zien in de Inspector. Het Tooltip Symbol Insight hulpvenster toont hier de objectnaam van de aangewezen button. Na het opstarten van de Borland C++ Builder 4.0 ontwikkelomgeving maak je direct kennis met C++ Builder Direct. Deze nieuwe IDE add-in module verschijnt automatisch wanneer er C++ Builder nieuws of technische achtergrondinformatie is.

Veel verbeteringen aan de werkomgeving zijn rechtstreeks overgenomen uit Borland Delphi 4.0. Zo beschikt nu ook C++ Builder over een uitgebreide Docking Tool Windows implementatie, waardoor de ontwikkelomgeving nu veel beter instelbaar is dan voorheen. Je kunt bijvoorbeeld zowel de Project Manager als de ClassExplorer bevestigen aan de Code Editor zodat deze vensters elkaar niet meer kunnen overlappen. Minpunt is alleen w el dat de vensterstanden niet altijd goed bewaard blijven.

Ook de ClassExplorer is een aangename vernieuwing. Dit venster geeft alle project klassen inclusief eigenschappen en methoden in een hiërarchische boomstructuur weer. Via het contextmenu kun je onder meer naar de declaratie of de implementatie van een functie springen, zodat je altijd snel toegang tot de gewenste informatie kunt verkrijgen.

Het Project Manager venster verschaft een grafische schil om de C++ makefile. Niet alleen kun je nu bronbestanden tussen deelprojecten kopiëren, maar ook externe bestanden direct vanuit de Windows verkenner toevoegen. Het is alleen wel jammer dat het nog steeds niet mogelijk is om per project meerdere configuraties te specifieren volgens het zogenaamde debug/release concept.

Het grootste minpunt aan de C++ Builder ontwikkelomgeving is echter nog steeds het modaal uitvoeren van zowel het compilatie- als het linkproces, een onnodige tekortkoming die ook al bij de bespreking van C++ Builder 3.0 aan het licht kwam. Het is dus nog steeds niet mogelijk om tijdens het compilatieproces alvast een andere taak uit te voeren, zoals het definiëren van breekpunten voor de debugger om maar iets triviaals te noemen. Niet te geloven.

Inzicht

Dankzij de nieuwe Code Browsing optie kun je snel de klassenhiërarchie doorlopen. Het kon natuurlijk niet uitblijven: na onder meer Visual Basic, Delphi en Visual C++ is nu ook de Code Editor van C++ Builder uitgebreid met nieuwe verslavende Code Insight eigenschappen. Het Code Completion hulpvenster toont automatisch de eigenschappen en methoden van een object zodra je de punt of pijloperator typt, waarna je de gewenste methode kunt selecteren om ev entuele typfouten te vermijden. Met de Code Parameters optie kun je op ieder moment functie-parameters opvragen zonder het hulpsysteem op te hoeven starten.

Nadeel is alleen wel dat de Code Editor soms teveel tijd nodig heeft om de juiste verzameling functiemogelijkheden te bepalen. Het is dan wel een flinke opgave om dit zo snel mogelijk te tonen vanwege de enorme overervingsmogelijkheden van de C++ programmeertaal, maar deze functionaliteit is in Microsoft's Visual C++ 6.0 toch merkbaar efficiënter geimplementeerd. Niettemin zijn deze toevoegingen aan de Code Editor bijzonder welkom: wie éénmaal met deze moderne hulpjes heeft gewerkt, kan al snel niet meer zonder.

Tenslotte kan de Code Browsing optie niet onvermeld blijven. Wanneer je in de Code Editor de Control toes indrukt en vervolgens met de cursor over bijvoorbeeld een objectreferentie beweegt, verandert de cursor in een hyperlink naar de declaratie van het object. De nieuwe navigatieknoppen rechtboven in de Code Editor completeren deze welkome bladeraar-gebaseerde aanvulling. Dit is zonder twijfel de meest efficiënte manier om de objecthiërarchie te doorlopen.

Bibliotheken

C++ Builder 4.0 biedt hulp bij vrijwel ieder type programma onderdeel. De Visual Component Library (VCL), waarmee je in C++ Builder en Delphi op visuele wijze kunt ontwikkelen, bevat enkele interessante uitbreidingen. Met een Action List kun je nu de afhandeling van gebruikerscommando's centraliseren zodat je bijvoorbeeld het gedrag van de applicatiecomponenten kunt controleren. Net als de C++ Builder ontwikkelomgeving ondersteunt ook de VCL op elegante wijze het drag-and-dock concept. Behalve deze DockSite eigenschap is ook het Anchors attribuut toe gevoegd aan de visuele componenten. Hiermee kun je specificeren hoe de plaatsing van afzonderlijke elementen op een applicatieformulier bijgewerkt dient te worden wanneer het formulier vergroot of verkleind wordt. Tenslotte kun je met de nieuwe Windows NT Service componenten snel een toepassing van dit type opzetten.

Borland C++ Builder 4.0 wordt tevens geleverd met enkele andere bibliotheken. Zo kunnen ANSI C++ programmeurs nu werken met de RogueWave Standard Template Library (STL) 2.02 implementatie. Ook de Borland Object Windows Library (OWL) 5.02 is nog niet vergeten. Met behulp van het IDEtoBPR hulpprogramma kun je projecten van Borland C++ 4.0 of hoger importeren in C++ Builder 4.0.

Het WordPad Visual C++ voorbeeldprogramma kan probleemloos in Borland C++ Builder gecompileerd en uitgevoerd worden. Via de ClassExplorer kun je snel een bepaalde functie terugvinden. Met de Microsoft Visual C++ Project Conversion Utility (VCtoBPR) kun je Visual C++ 5.0 projecten importeren die gebaseerd zijn op de Microsoft Foundation Classes (MFC). Microsoft is echter alweer bij versie 6.0 aanbeland met Visual C++. Bovendien ondersteunt de Borland C++ compiler bijvoorbeeld niet het verleidelijke, maar Microsoft-specifieke #import sleutelwoord waarmee COM bibliotheken tijdens het compilatieproces automatisch worden toegevoegd. Het is daarom moeilijk in te schatten welke conversieproblemen boven water zullen komen. Het zeer uitgebreide Test Container voorbeeldprogramma bij Visual C++ 6.0 is dan ook niet eenvoudig om te zetten naar C++ Builder. Echter, het ook zeer complete WordPad programma is bijvoorbeeld wel weer zonder problemen te importeren.

COM

De vorige versie bood reeds uitstekende ondersteuning voor het ontwikkelen van ActiveX componenten, maar in C++ Builder 4.0 is vooral het toevoegen van zogenaamde event sinks sterk verbeterd. Zo genereert de Automation Wizard nu de benodigde code om gebeurtenissen te kunnen vuren vanuit ieder COM object. Met de nieuwe COM Object Wizard kun je eenvoudig nieuwe ActiveX componenten toevoegen aan het actieve project op basis van de Microsoft Active Template Library (ATL).

De Enterprise editie van C++ Builder heeft bovendien enkele nieuwe wizards voor Microsoft Transaction Server (MTS), Microsoft's omgeving waarin COM server objecten eenvoudig van transactiemogelijkheden en centrale beveiliging kunnen worden voorzien. Zo voegt de MTS Component Wizard bijvoorbeeld een nieuw COM object toe aan het huidige project met de benodigde MTS interfaces, waarna met het Install MTS Objects commando het object simpelweg toegevoegd kan worden aan het gewenste MTS package. De MTS Data Module Wizard genereert het geraamte voor een server module in een gedistribueerde database toepassing. Tenslotte is nu ook een Resource Dispenser beschikbaar voor de Borland Database Engine (BDE), zodat je in MTS componenten automatisch op efficiënte wijze van de standaard database interfaces gebruik kunt maken. De ondersteuning in C++ Builder voor MTS is kortom uitstekend.

CORBA

De ondersteuning voor het ontwikkelen van database-geörienteerde toepassingen is zeer compleet. Tot de belangrijke vernieuwingen in Borland C++ Builder 4.0 behoort zeker ook de verbeterde ondersteuning voor het ontwikkelen van gedistribueerde toepassingen op basis van de Common Object Request Broker Architecture (CORBA) specificatie. Deze functionaliteit is echter, net als de MTS ondersteuning, alleen aanwezig i n de Enterprise editie.

CORBA is een specificatie van de Object Management Group (OMG) om de complexiteit van object-geörienteerde toepassingen te vereenvoudigen door een standaard Interface Definition Language (IDL) voor de object interfaces te definiëren. Ook de communicatieprotocollen en enkele standaard diensten vallen hieronder. De CORBA standaard is geïmplementeerd op een veelvoud van besturingssystemen, wat het belangrijkste voordeel is van dit alternatief voor het Component Object Model (COM) van Microsoft.

C++ Builder ondersteunt het ontwikkelen van CORBA applicaties op basis van de VisiBroker 3.3 Event and Naming Services. Met de CORBA Server Wizard en de CORBA Client Wizard zet je snel een CORBA toepassing op. Na het opstellen van de object interfaces kun je deze vervolgens implementeren als C++ klassen met behulp van de CORBA Object Wizard. C++ Builder biedt overigens nog geen hulpgereedschap voor het opstellen van object interfaces in IDL.

Conclusie

De Borland C++ Builder 4.0 werkomgeving is sterk verbeterd dankzij onder meer de flexibele vensters, de handige ClassExplorer en nieuwe Code Insight eigenschappen waaronder de verslavende Code Completion en Code Parameters hulpvensters. Dit betekent helaas nog niet dat er geen ruimte meer is voor verbetering aan de werkomgeving. Ook de ondersteuning voor het ontwikkelen van COM onderdelen is verbeterd. Vooral de ondersteuning voor MTS is bijzonder goed. Het meest belangwekkende pluspunt is echter misschien wel de geïntegreerde CORBA ondersteuning. Borland C++ Builder 4.0 laat de ontwikkelaar de technologie kiezen.

Gegevens

Produkt:Borland C++ Builder 4.0
Producent: Inprise
Toepassing: C++ RAD omgeving
Minimale systeemeisen: Pentium 90MHz processor, Windows 95/98/NT4 besturingssysteem, 32MB intern geheugen en 175 Mb harde schijfruimte
Prijzen excl BTW: Standard: Fl 225 / BFr 4000; Professional: Fl 1475 / BFr 27000, upgrade Fl 600 / BFr 11000; Enterprise: Fl 6075 / BFr 111250, upgrade Fl 4875 / BFr 89250
Leverancier: Inprise, Telefoon Nederland en België: +31 20 503 51 00
Internet: http://www.borland.com/bcppbuilder/

Afbeeldingen

Ook de Property Inspector kan bevestigd worden aan de Code Editor. Hier zijn onder meer de nieuwe Anchors, Constraints en DockSite eigenschappen te zien in de Inspector. Het Tooltip Symbol Insight hulpvenster toont hier de objectnaam van de aangewezen button. Dankzij de nieuwe Code Browsing optie kun je snel de klassenhiërarchie doorlopen. C++ Builder 4.0 biedt hulp bij vrijwel ieder type programma onderdeel. Het WordPad Visual C++ voorbeeldprogramma kan probleemloos in Borland C++ Builder gecompileerd en uitgevoerd worden. Via de ClassExplorer kun je snel een bepaalde functie terugvinden. De ondersteuning voor het ontwikkelen van database-geörienteerde toepassingen is zeer compleet.