Þar sem oft virðist vera þó nokkur misskilningur á því hvað Delphi er, þá ætla ég að reyna að útskýra það fyrir þeim sem vilja vita.
Til að byrja með er rétt að koma því á hreint strax að Delphi er ekki forritunarmál, heldur forritunar umhverfi, það forritunar mál sem er notað í Delphi heitir Object Pascal. Delphi aftur á móti er nafnið á umhverfinu öllu saman, það er að segja tólið sem þú færð í hendurnar til að smíða þitt forrit. Með þessu tóli fylgir risa vaxið klasa safn, sem gengur undir skamstöfuninni VCL, eða Visual Component Library.
Ég geri ráð fyrir því að flestir sem lesa þessa grein hafi einhverja fyrri reynslu af forritun, og þá notkun á einhverju forritunarmáli, ef við tökum til dæmis Visual Basic til samanburðar, þá mætti jafnvel segja að VCL er aðferð Borland til að gera svipaða hluti og activex er oft notað til. Það er að segja að búa til endurnýtanlegan kóða og einfalda þannig vinnuna við að smíða stórt forrit. Microsoft fór svipaða leið til að einfalda c++ forriturum að gera forrit til að keyra undir Windows stýrikerfinu, það klasasafn kallast MFC, eða Microsoft Foundation Classes.
Það sem VCL hefur framyfir activex og þar af leiðandi strax fram yfir Visual Basic er að allir þessi klasar sem þurfa að vera með forritinu, eru þýddir sem hluti af EXE skránni, það er að segja þú þarft ekki að dreifa með forritinu þínu utanaðkomandi DLL skrám sem sjá um ákveðnar aðgerðir, þó hefur þú val um að þýða skrárnar ekki sem hluta af EXE skránni en ég ætla ekki að fara út í það núna.
Delphi býður þér einnig einfalda leið til að gera ActiveX hluti, COM hluti, ISAPI forrit og fleira í þeim dúr.
Inn í þetta umhverfi fléttast nokkrir pakkar sem gera forritarnum auðvelt að vinna sína vinnu, t.d. hefur gagnagrunnsforritun verið einstaklega einföld og þægileg í Delphi, Borland hefur boðið forriturum að nota BDE (Borland Database Engine) sem þjónar svipuðum tilgangi og ADO, það er að segja þú notar sama kóðann á móti hvaða gagnagrunni sem er, svo framalega sem BDE á driver fyrir þann gagnagrunn vitaskuld.
Ein staðreynd er samt sú að það eru til ógrynnin öll af gagnagrunnum og sífellt nýjir að koma fram, MySql sem dæmi um nýlegan grunn sem er farinn að láta til sín taka. Það gerir Borland ansi erfitt fyrir að halda úti driverum fyrir alla þessa grunna, því einnig er hver grunnur uppfærður reglulega og þar af leiðandi þörf á nýjum driverum. Borland leysti það með því að leyfa BDE að tengjast í gegnum ODBC og fá þannig tengingu í þá grunna sem BDE átti ekki Driver fyrir.
Samt verður að viðurkennast að BDE vélin hefur ekki verið eins örugg og ADO, það er auðvelt að gera eitthvað af sér og læsa þannig grunnum. Borland viðurkenndi þessa staðreynd einnig og í Delphi 5 Enterprise Edition komu fram nýjir klasar í VCL, sem kallast ADOExpress. Eins og nafnið gefur til kynna þá eru það klasar til að nota ADO. En það sem þeir gerðu svo einstaklega vel er að þessir klasar erfðu frá Tdataset klösunum sem voru til fyrir, þannig að forritum sem voru þegar til, þurfti lítið að breyta til að geta nýtt sér þessa klasa. Til dæmis allur kóði sem birti gögn í textaboxum, grid controli og þess háttar, gat verið óhreyfður. Það eina sem þarf að breyta er að henda inn nýjum componentum, henda þeim gömlu og gefa þeim nýju sömu nöfn og þeir gömlu höfðu.
Það hafa ýmsar nýjungar sprottið fram með hverri útgáfu af Delphi, nýjasta útgáfan er Delphi 6, og þar kom fram svar Borland við hlutum eins og Web services (SOAP) og fleira í þeim dúr. Þeir settu fram mjög einfalt umhverfi til að nýta þessa tækni. Borland er búið að gefa út þá yfirlýsingu að Delphi 7 komi til með að styðja .NET klasasafnið, og geri ég sterklega ráð fyrir að þú þurfir eingöngu að fara í File/New/.NET Application og þá getur þú búið til .NET forrit.
Í Delphi 6 kom einnig fram athyglisverð nýjung, en það er CLX, þetta CLX gegnir sama hlutverki og VCL nema það hefur einnig stuðning við Linux, ef forrit eru smíðuð með því klasasafni þá á að vera hægt að opna það project í Kylix (sem er Linux útgáfan af Delphi) og þýða það forrit og þar af leiðandi ertu kominn með forrit sem keyrir bæði á Windows og Linux, og snilldin við þetta er að þetta útbýr “native code”, það er að segja, þú þarft ekki keyrsluvél á bakvið líkt og Java þarf. Þannig er forritið hraðvirkara og öruggara.
Forritunarmálið á bakvið Delphi heitir Object Pascal eins og áður hefur komið fram. Þetta er útkoma af þróun frá Borland á pascal málinu gamla (eins og nafnið bendir til), þetta mál er orðið hlutbundið, það er að segja þú getur smíðað litlar einingar, og aðrar einingar sem erfa alla eiginleika frá hinni einingunni og allt annað sem viðkemur hlutbundinni forritun. Þetta gerir málið gríðarlega öflugt og vel samkeppnishæft við flest mál, þó pascal í sjálfu sér hafi sínar takmarkanir, þá er það ekkert sem ekki er hægt að komast í kringum.
Ef eitthvað umhverfi ætti að hafa nafnbótina Visual fyrir framan sig, þá er það að mínu mati Delphi. Það tekur skrefið lengra en Visual Basic, og gerir það mun betur að mínu mati.
Fyrir þá sem hafa áhuga á að vita meira, þá eru hér nokkri tenglar á góðar Delphi síður:
http://www.borland.com
Framleiðandinn sjálfur kemur alltaf fyrstur.
http://www.delphi3000.com
Hérna skiptast delphi forritarar á greinum. Frábær síða.
http://www.torry.ru
Gríðarlega stórt safn af componentum, lessons, sample codes og fleira.
http://delphi.icm.edu.pl
Annað stórt safn af componentum.
http://www.delphi32.com
Mjög góð síða um allt sem er að gerast í Delphi heiminum.
http://delphi.about.com
Fín kennslusíða
http://www.undu.com
Rosalega vönduð síða með frábærum greinum.
http://www.delphi-jedi.org
Open source community sem hefur gert frábærar þýðingar á windows API t.d.
http://www.geocities.com/goodberry
Já það er líka hægt að gera leiki í delphi.
http://turbo.gamedev.net
Besta síðan á netinu um leikjaforritun í Delphi.