Borlandov visoki C
Podjetje, ki je izumilo združeno razvojno okolje (IDE), je tudi prvo, ki je poleg tvorca ogrodja. net, Microsofta, ponudilo napredno razvojno orodje za prihodnost programiranja Oken.
Pred leti, ko je Microsoft še pripravljal javno razgrnitev ogrodja .net, smo se z nekaj razvijalci iz Slovenije in sosednjih držav udeležili konference, na kateri so nam predstavili krasni novi svet programiranja v ogrodju .net. Ko smo se po koncu predstavitev neobvezno pogovarjali na prijazno organiziranem srečanju, je beseda nanesla tudi na vsakdanje delo. V medsebojnem pogovoru smo z nemalo presenečenja ugotovili, da nas velika večina razvija gradnike in programe za Okna v - Borlandovem Delphiju. Seveda je bilo nekaj razvijalcev, ki so prisegali na Microsoftova Visual C/C++ ter Visual Basic, vendar je bilo naravnost neverjetno, koliko nas je uporabljalo Delphi. Še več, vsi po vrsti smo izrazili prepričanje, da ga še dolgo ne bomo zamenjali, tudi ko bo nastopila revolucija, poimenovana .net.
Borland je med programerji, posebej slovenskimi, na častnem mestu. Revolucionarni "Turbo Pascal" je bil eden najbolj razširjenih programerskih pripomočkov pri nas, s katerim je marsikdo začel že na danes pozabljenem operacijskem sistemu CP/M, nadaljeval v okolju DOS, skupaj z njegovimi grafičnimi ter pomnilniškimi razširitvami, ter se na koncu znašel v Oknih, kjer slavno preteklost orodij "Turbo" nadaljujejo Delphi in različni "graditelji", ki se jim je med zadnjimi pridružil C# Builder.
Izzivalec
Sveže Borlandovo orodje je prvi naprednejši pripomoček za programiranje ogrodja .net, ki dela družbo doslej edinemu, Microsoftovemu Visual Studiu.net (VS.net). Borland je izumitelj združenih razvojnih okolij (Integrated Development Environment, IDE), programerskih orodij, v katerih lahko tipične korake razvoja programa (pisanje, prevajanje, izgradnja, razhroščevanje) opravimo na enem mestu. Po neuspešnih epizodah s pisarniško programsko opremo in spremembo imena ter vizije v integracijo poslovanja se je Borland vrnil v dobro družbo razvijalcev ter jim ponudil nekaj izjemnih orodij. JBuilder je po zmogljivostih in tržnem deležu vodilno razvojno orodje za javo, Delphi vedno znova preseneča in razveseljuje razvijalce v Oknih, C++ Builder postaja univerzalno razvojno orodje za ljubitelje C in C++... Kot členu tako priznane druščine, C# Builderju ob njegovem rojstvu vsekakor ni lahko. Da je naloga zanj še težavnejša, je poglavitni konkurent, Microsoftov VS.net, eno najbolj izpopolnjenih razvojnih orodij sploh. Vsekakor pa od Borlanda ne želimo polovičnih odgovorov, pričakovanja so torej velika.
Borland je z nekaj zadnjimi nakupi, posebej odmeven je bil prevzem podjetja Together, enega vodilnih ponudnikov pripomočkov za modeliranje programov, zbral zavidljivo množico tehnologij, ki jih vgrajuje v svoje izdelke. Njegov cilj je preseči danes običajno okolja IDE v nekaj bolj izpopolnjenega, kar so poimenovali UDE. Kot se je izrazil Borlandov šef, Dave Fuller: "Razvoj programske opreme danes obsega več disciplin in razvijalci so poklicani, da sodelujejo v več fazah razvoja. UDE (Unified Development Environment, poenoteno razvojno okolje) naslavlja to potrebo in prinaša vse poglede na vzdrževanje življenjskega kroga programa znotraj enotnega okolja." To novo Borlandovo strategijo povzema tudi slogan "določi, načrtuj, razvij, preizkusi, namesti, vzdržuj" (Define-Design-Develop-Test-Deploy-Manage), ki nas zadnje čase pozdravlja z njihovih spletnih strani.
Združeno razvojno orodje ponuja prijazen vmesnik.
Tri različice
Borlandov C# Builder temelji na Borland Developer Studiu, ki postaja enotno razvojno okolje za Okna, v katerem se bo udomačil tudi prihajajoči Delphi 8, ki bo prav tako omogočal razvoj programske opreme za podlago .net (seveda bo ohranil tudi možnost razvoja za podlago win32).
Novo razvojno orodje je po uveljavljenem Borlandovem običaju na voljo v štirih različicah. Osnovna (Personal) je primerna zgolj za nezahteven razvoj, vendar je za razvoj nekomercialne programske opreme na voljo brezplačno in je izvrstna vaba za morebitne kupce bolj izpopolnjenih različic. Te so primerne za poklicno programiranje, vendar je njihova funkcionalnost močno povezana z debelino naše denarnice. Pravi UDE prinaša le najdražja različica, Architect, ki pa v programerskih skupinah najpogosteje ni potrebna za vse razvijalce, temveč le za vodilne načrtovalce programskih projektov. Drugi bodo našli dovolj pripomočkov v različicah Professional ali Enterprise, ki jima manjka predvsem možnost naprednejšega modeliranja programov v diagramih UML.
Nameščanje programskih paketov lahko poteka tudi nekaj ur, odvisno od programske opremljenosti našega sistema. Ogrodje .net pač zahteva cel kup nameščene sistemske programske opreme in dodatkov. Pohvalno je, da je Borland pripravil enoten namestitveni program, ki najprej poskrbi za vse potrebne dodatke, šele potem se loti nameščanja razvojnega orodja. Na koncu lahko namestimo še cel kup razširitev razvojnega okolja ter programske infrastrukture, kot so npr. podatkovni strežniki. V škatli s C# Builderjem dobimo tudi "lahki" različici podatkovnih strežnikov Interbase, SQL Server in DB2. Kot zanimivost omenimo, da Borland zagotavlja visoko učinkovitost priloženih gonilnikov za povezavo s podatkovnimi viri ADO.net, ki naj bi bili - razen gonilnika za SQL Server - najhitrejši na trgu.
S tem pa se nabor pripomočkov še ne izčrpa. S strani drugih ponudnikov lahko izbiramo med gradniki za ogrodje .net ComponentOne Studio Enterprise, prilagojeno različico orodja za pripravo poročil Crystal Reports, orodjem za pripravo namestitev, InstallShield Express, dodatkom CaliberRM, ki omogoča lažje skupinsko delo (žal je na voljo le odjemalec, ki se lahko poveže zgolj z že nameščeno zbirko podatkov Caliber, ki vzdržuje zahteve pri razvoju kode) ter mešalnikom kode (obfuscator) Wise Owl Demeanor.
Pomemben del paketa je tudi Borlandova tehnologija Janeva, ki omogoča povezovanje programov za podlago .net z drugimi podlagami. Janeva omogoča povezavo s strežniškimi gradniki CORBA in J2EE (poslovna java) ob pomoči protokola IIOP. Za rabo Janeve bomo morali namestiti tudi JDK (ki je priložen). S tem dodatkom Borland zvesto sledi usmeritvi, ki omogoča visoko stopnjo povezovanja najrazličnejših modelov porazdeljenega računalništva. Janeva bi lahko bila velika prednost C# Builderja v primerjavi s konkurenco, vendar si je Borland naredil medvedjo uslugo s tem, da je ta dodatek pripravil kot vtičnik za razvojno okolje, ki ga je mogoče vklopiti tudi v najmočnejšega konkurenta, Microsoftov VS.net.
Kot smo pri sodobnih Borlandovih orodjih že vajeni, je po namestitvi C# Builder treba aktivirati, to pa zahteva vnos ključa ter prijavo v Borlandovo centralo, bodisi prek spleta, kar je najhitreje, ali telefonsko oziroma pisno. Brez aktivacije bo orodje delovalo le sedem dni.
Bogata izbira izhodiščnih možnosti pri razvoju novega projekta se lahko še dodatno obogati z vklopom novih dodatkov.
Razvoj
Za razliko od Delphija, ki je razvit v object pascalu, in JBuilderja, ki je razvit v javi, je C# Builder razvit v mešanici delphija, C++ in C#. Že ta podrobnost priča o naglici v Borlandu in o nedozorelosti izdelka, ki bo pravo kakovost verjetno dosegel, podobno kakor njegova vzornika, v poznejših različicah, ko ga bodo skoraj gotovo v celoti prepisali v C#. Po drugi strani pa je C# Builder vzornikoma dovolj podoben, da se bodo njuni uporabniki v novem okolju hitro znašli. Hkrati C# Builder ohranja večino dobrot, ki jih je razvijalcem ponudil VS.net.
Po zagonu se znajdemo v vmesniku, ki povzema prvine spletnih dveri. Osrednje mesto je rezervirano za spletno stran s številnimi povezavami, tudi z učbenikom za C# in zgledi. Pozneje najdemo na uvodni strani tudi priročne bližnjice do nazadnje odprtih projektov. Žal priložena dokumentacija boleha za sindromom različice 1.0, ki smo ga žal opazili tudi pri drugih Borlandovih orodjih prvega rodu, cel kup je nedoslednosti, pomanjkljivih razlag in manjkajočih virov, ki še dodatno pričajo o tem, s kakšno naglico je bil izdelek potisnjen na trg.
Na srečo je preostanek orodja zgledno pripravljen. Nadvse uporabna je izbira File|New, ki nam ponudi množico izhodišč novega projekta, tudi izbiro pogovornega okna, v katerem lahko pregledno izbiramo med resnično številnimi izhodišči. Po stari dobri navadi je C# Builder zelo razširljiv in ob pomoči novih dodatkov lahko to izbiro sčasoma še popestrimo.
Čeprav C# Builder tega ne razglaša, je popolnoma uporaben tudi za delo s kodo VB.net. Javna skrivnost je namreč, da sta C# in VB.net dejansko ista jezika, le drugi narečji. V C# Builderju tako lahko brez težav prevedemo in uporabimo kodo v VB.net. Razlog, da se ta uporabna prvina orodja ne oglašuje, pa je odsotnost pomoči pri kodiranju (Intellisense), ki je na voljo le za C#. Koda v VB.net bo zgolj barvno označena, pomoči pri pisanju pa ne bomo deležni.
Pomanjkljivosti
Če ostanemo v svetu C#, ugotovimo, da je podpora kodiranju in vizualnemu načrtovanju popolnoma enakovredna tisti v VS.net. Žal pa od Borlanda upravičeno pričakujemo več. Še posebej, ker je v primerljivih izdelkih za javo in object pascal že ponudil nadvse uporabne dodatke, ki jih konkurenca šele lovi. Tako lahko z obžalovanjem ugotovimo, da C# Builder ne pozna nobenega od vrhunskih orodij za predelavo kode (refactoring), poleg tega pa ne podpira razvoja preizkusnih primerov z orodjem nUnit in izgradnje projektov z nAnt, katerih javanska ekvivalenta lahko najdemo v JBuilderju. Če bi Borlandu uspelo vključiti podporo za omenjene dobrote tudi v izdelek za podlago .net, bi brez dvoma prepričali številne razvijalce, ki jim Microsoftove podlage niso temeljne, a morajo sodelovati z njimi.
To nas pripelje do Mona in DotGNU, dveh odprtokodnih nadomestkov za ogrodje .net. Borlandovo orodje je popolnoma spojeno z Microsoftovim ozadjem in ne omogoča zamenjave prevajalnika ali programskega ogrodja. Borland bi lahko, po zgledu J- in C++ Builderja, brez posebnih težav dodal zmožnost izbire, to pa bi spet v marsičem izboljšalo njihove tržne upe.
Najprepričljivejši del C# Builderja je zmogljiv modelirnik.
Modeliranje
Kljub slabostim in izpuščenim priložnostim pa Borland v nečem dejansko blesti. Podpora modeliranju z diagrami UML in dvosmernemu programiranju, ki omogoča popolnoma neopazno prehajanje med kodo in diagramom, je brez konkurence. Vgrajena tehnologija, ki jo je Borland dobil z nakupom podjetja Together, se tudi v C# Builderju izkaže podobno kakor v drugih Borlandovih orodjih. Že zgolj dokumentacijska vrednost diagramov, ki nastajajo hkrati z razvojem kode, je velika, prijaznost modeliranja pa kar kliče po tem, da ga izkoristimo v celoti.
Microsoft še nima učinkovitega modelirnika za VS.net, a ga vztrajno napoveduje. To kar najnazorneje govori o potrebi po takem dodatku. Modeliranje je eden od odgovorov na zmanjševanje zapletenosti razvoja in predvsem vzdrževanje obsežnejših programerskih projektov in počasi postaja tako nujen del IDE, kot je že postal dvosmerni vizualni urejevalnik uporabniškega vmesnika. Borland ga je v svoja vodilna orodja že vključil in s tem pridobil pomembno prednost pred tekmeci. Skupaj s pripomočki za skupinsko delo ter možnostjo povezovanja na konkurenčne podlage za strežniške gradnike (CORBA in J2EE) je obljuba po popolnem nadzoru zapletenih programov v enem orodju skozi celoten življenjski cikel zelo blizu izpolnitvi. Žal bomo za vse dobrote morali seči globoko v žep, saj je zmogljivo dvosmerno modeliranje v UML na voljo le v najdražji različici, Architect.
Na koncu
Novi Borlandov izdelek je del ugledne družine in zato od njega pričakujemo veliko. Žal boleha za slabostmi prve javne različice, ki se včasih pokažejo tudi v sesutju delovnega okolja. Na srečo so pohiteli tudi s popravki, prvi je bil npr. nared že takoj po začetku prodaje. Obeti so vsekakor veliki. Privrženci Borlandovega pogleda na razvoj sodobne programske opreme, ki se opira na modeliranje, razslojenost in platformsko agnostičnost, bodo tudi v C# Builderju, čeprav je šele na začetku svoje poti, našli znane dobrote.
Grenak priokus ostaja zaradi sorazmerne enostavnosti, s katero bi Borland lahko izdelek naredil še boljši, predvsem z vključitvijo dodatkov, ki jih v "družini" že poznamo: naprednih orodij za predelavo kode ter odprtokodnih pripomočkov, kot sta nUnit in nAnt. Če bi razvojno okolje še ločil od ozadja, prevajalnika in programskega ogrodja, bi postal resna grožnja VS.net. Tu pa seveda potonemo v brezno tržne stvarnosti. Borland sicer že nekaj časa posluje v črnih številkah, vendar tudi z izdatno pomočjo Redmonda. Microsoftu se v današnjem položaju prav gotovo ne želi zameriti in skoraj gotovo je o dokončni funkcionalnosti izdelka odločala tudi kakšna zunanja sila. To tezo potrjuje tudi možnost izvoza projekta v VS.net, ki je vgrajen v orodje.
Če bo C# Builder v kateri od prihodnjih različic napisan v C# in se bo lahko izvajal npr. tudi v ogrodju Mono, katerega prevajalnik in knjižnice bo znal uporabiti za izgradnjo programov, pa vzamem zgornjo opazko nazaj. C# tedaj lahko postane JBuilder podlage .net, razvijalci pa bomo znova ugotavljali, da nam najlažje programiranje Microsoftovih podlag spet omogoča Borland.
Borland C# Builder 1.0
Kaj: Združeno razvojno okolje (IDE) za jezik C# za podlago .net.
Proizvajalec: Borland, www.borland.com/csharpbuilder.
Prodaja: Marand, www.marand.si.
Cena: Brezplačna osnovna različica za nekomercialni razvoj, 69 dolarjev za osnovno različico brez omejitev in do 2500 dolarjev za različico Architect.
Za: Dvosmerna orodja, predvsem modelirnik UML.
Proti: Otroške bolezni različice 1.0, najboljše je na voljo po zasoljeni ceni.