Hlavní navigace

Borland má novú hviezdu (aj) pre Linux

15. 10. 2003
Doba čtení: 5 minut

Sdílet

Stručné přiblížení nového vývojového prostředí CbuilderX od Borlandu.

Možno nie všetci z programátorskej obce zaznamenali, že firma Borland v relatívnej tichosti vypustila úplne nový vývojársky produkt nazvaný CbuilderX 1.0, určený pre vývoj aplikácii v jazyku C++. Tento článok by vám chcel načrtnúť niektoré najzákladnejšie aspekty produktu.

Nejedná sa o recenziu. Tá by si vyžadovala ostrý produkt (autor mal k dispozícii iba trial verziu) a mnoho času, nakoľko ide o pomerne zložitý systém pre vývoj SW.


Na tomto mieste je potrebné poznamenať že ide o kompletne nový produkt, vystavaný takpovediac na zelenej lúke. Nemá prakticky nič spoločne s produktovou radou Delphi/Kylix. Určite budete prekvapený niektorými novátorskými funkciami. Ak by som mal opísať, ako vyzerá prostredie po spustení vlastnými slovami, povedal by som:

Klasicke Borland C++ IDE, hodne reznuté s MS Visual C, a niečo s prostredia Eclipse asi tiež.


Menu je bohaté a určite v ňom strávite prijemné chvilky. Najdôležitejšie však na tomto produkte je to čím sa odlišuje od predchodcov – prostredie je multiplatformné! Delphi alias Kylix dokázal behať okrem Win32 platformy aj na niektorých bežnejších distribúciach OS Linux. CBuilderX ide ďalej a ponúka ďalšiu platformu – OS Solaris od firmy Sun. Ale Solaristi, nech nejasajú zbytočne – ako to už býva zvykom, podporovaný je zatiaľ iba „Solaris for Sparc“. Nechapem úplne prečo, ale je to tak. I keď myslím že nie naveky. Odpoveď na otázku prečo, je jednoduchá: 99 percent CBuilderX je napísaných v jazyku Java. Ano, čítate dobre. Inšpiráciu hľadajte niekde v produkte JBuilder. Od tohto faktu za ďalej vynú ako niť ďalšie charakteristické vlastnosti. Prostredie som testoval na PC Athlon 2400+ s 512MB RAM, OS Linux RedHat 7.3 a 9.0.94 (Severn) a rýchlosť teda nebola oslňujúca, povedal by som že je taká „Javovská“. Na otvorenie dialogu v menu si niekedy nejaké tie 2–3 sekundy počkáte. Ak ste sa teraz zľakli že ako to vlastne budete kompilovať (čo projekt, to šálka Jávy, pardon Kávy) tak vás zase upokojím – vlastný prekladač už v Jave napísaný nieje. On to totižto nieje vôbec, aspoň pre Linux a Solaris to je pravda. Borland stavil všetko na jednu kartu a urobil zrejme genialny ťah – proste napísal prostredie ktoré dokáže využiť prácu iných. CBuilderX dokáže pomocou konfigurovateľných „tools“ obslúžiť virtuálne ľubovolný prekladač  z niečoho textového do niečoho spustiteľného. Ak teraz namietate že to tu už bolo tak nemáte úplne pravdu. Až teraz prišla tá chvíľa keď je tento nástroj dovedený k dokonalosti. Pre lepšiu predstavu si prezrite nasledovný obrázok s kompletným výčtom toho čo už je pre teraz vás pripravené.


Keď už si vytvorite nejaký projekt, môže ľubovoľne meniť kompilátor ako vám to použitá platforma dovolí.


Otestoval som systém s prekladačmi GCC 2.96, 3.2.2 a 3.3.0 a všetko pracovalo OK. Jedinú zmenu čo bolo potrebné urobiť pre GCC 3.x, bola zmena default cesty pre C++ include z „/usr/include/g++-3“ na „/usr/include/c++/3­.3“. To aby som urobil radosť prekladaču pri kompilácii zdrojákov používajúcich STL knižnice. Prekladač Intel C++ 7.1 pracoval taktiež bez problémov. Stačilo v menu projektu zmeniť GCC na INTEL.


Tento systém má predovšetkým tieto výhody: Firma Borland nemusí portovať vlastný kompilátor na všetky platformy, ktoré chce svojím portfolio obsiahnuť. Ďalšia výhoda je z núdze cnosť. Borland už nemusí dodávať vlastné runtime knižnice pre rôzne kombinácie OS a procesorov. Spolieha sa na iných výrobcov OS a vývojárov (GNU GCC). Zrejme si firma pri produkte Kylix3 uvedomila že nikdy nebude stačiť za vývojom OpenSource OS ako je napr. Linux. Pri súčasnom tempe vývoja dostribúcii je vývojové prostredie zastaralé už vo chvíli keď sa dostáva na trh – Kylix3 behá pod Linux RH 7.0 až 7.3, ale na RH 9.0 ho už nespojazdníte (niektorí áno :-) .  A firma nemá kapacity aby vydávala každý mesiac nové a nové opravy pre nové verzie GLIBC a podobne. Ďalšia vec je že taký kompilátor C++ od Borlandu nebude nikdy úplne porovnateľný s natívnym GCC. Určite sa vám v ňom nepodarí odladiť ovládač pre Linux a určite nikdy nezlinkujete navzájom projekt v ktorom bude použitá knižnica napísaná v C++ pod GCC – dôvodom je rozdielne ABI týchto prekladačov. S CBuilderX je toto všetko minulosťou. Dokonca sa tu otvárajú nové možnosti – neskúšal som to ale teoreticky teraz môžete vďaka plne konfigurovateľným nástrojom v IDE, vývojárom GCC a prekladaču GCJ kompilovať programy z Javy do I386 kódu. Zrejme to pojde, veď naposledy sa podarilo cez GCJ prelozit do natívneho kódu taký moloch ako je prostredie Eclipse od IBM!!!

Ladenie a teda debugger je na tradične vysokej úrovni, novinkou je, že beží ako frontend nad natívnym GDB, podobne ako to robia niektoré iné produkty. Krokovanie na úrovni zdrojového kódu aj inštrukcií (syntax ATT aj INTEL), vypis obsahu objektov v krokovanom kontexte, zásobník, backtrace, registre štandardne, koprocesor aj MMX či XMM.


Z ďalších technológii spomeniem (naozaj kompletný prehľad v angličtine je tu):

  • integracia systému správy verzií
    • Borland StarTeam and the StarTeam Microsoft SCC Integration
    • Concurrent Versions System (CVS) GUI implementations that support SCC API
    • Rational ClearCase
    • Microsoft Visual SourceSafe (Windows only)
  • CORBA
  • Mobile Development (Symbian OS)
  • dbExpress
  • UML Together Edition for C++BuilderX
  • XML
  • multiplatformný InstalShield (cez Javu)

Je nutné spomenúť, že VŠETKY konfiguračné súboru prostredia – a je ich naozaj požehnane – sú vo formáte XML a teda plne editovateľné pokiaľ viete čo robíte. Relatívne unikátna je vlastnosť vytvoriť nový projekt z už existujúceho skriptu „configure“ alebo „makefile“. Ale neskúšal som to. Konečne sme sa dočkali aj dvojitej konfigurácia Debug and Release, známej z MSVC. Ak ste si v Kylix3 zvykli na vlastnosť (ktorá nie vždy pracovala) code completion, tak zase zabudnite – nejak sa sem nedostala – žeby nestačil výkon Javy? Naopak Class browser už dorazil aj na Linux. Aspoň dačo. Zatiaľ som neprišiel nato ako krokovať aplikácie ktoré majú viacej threadov.

Záver:

Niet pochýb, že ide o úplne novú radu aplikácii. Produkt ukazuje víziu firmy zaoberajúcej sa skvelými (ak nie aj najlepšími) vývojovými nástrojmy pre programátorov v jazyku C++. Jazyku určenom pre profesionálnych vývojárov, a teda ide naozaj o vrchol toho čo na trhu je. Niektoré nedostatky sú zrejmé z návrhu – Java je na súčasných procesoroch ešte stále dosť pomalá pre tento typ aplikácii. Občas to celé zmrzne a vám neostane naozaj nič iné ako: „killall –9 java“ za súčasného 100 perc. vyťaženia procesora. Sú veci ktoré vás naozaj nadchnú a sú veci čo ešte chýbajú. Neviem ako vy, ale osobne sa najviac teším na CBuilderX 2.0. Určite nepríde neskôr ako v prvej polovici roka. Určite bude podporovať ďalšie OS a procesory. Možno bude ďalšia verzia rýchlejšia. Určite budeme mať rýchlejšie stroje, viac lacnejšej pamäte a na svetle dennom bude kernel Linux 2.6.x .. skutočne sa teším.

A ešte stručný výber z obsahu niektorých menu:






root_podpora

A nakoniec ešte neoficiálne LOGO z doby keď vývojári od Borlandu ešte tvrdo pracovali:

Byl pro vás článek přínosný?

Autor článku