A Genie programozási nyelv

Bevezetés

Bevezetés

A Genie egy objektum-orientált programozási nyelv, szintaxisa leginkább a Python által képviselt irányvonalba sorolható be.
A nyelvet kidolgozta és közzétette Jamie McCracken 2008-ban.

Történetileg megelőzte a Vala nyelv (2006), aminek fordítójával mind a mai napig közös. Ez azt jelenti, hogy a két nyelvi szimbiózisban élt, és fog élni ezután is. A kettő között egyébként csak token illetve szintaxis szintű különbség fedezhető fel, mind utasításokban, mind képességekben és könyvtárakban teljesen azonosak. Tehát az egyik nyelven írt példák mind triviálisan átírhatók a másikra és viszont. A különbség pusztán esztétikai: míg a Vala a C# programozóknak kedvez a kapcsokkal és zárójelekkel, addig a Genie a Python és Haskell behúzás alapú nyelveket szeretőknek lehet kedves. Ez a leírás a Genie nyelvi dialektusában tárgyalja a kettőst.

Bár a 2006-os nyelv még valamelyest fejlesztési életszakaszában van, már több projekt átállt illetve íródott elejétől fogva ezen a nyelven. Leírásokat hozzá jelenleg csak kevés helyen lelhetünk fel, és azok sem számítanak teljesnek, azért egy kis kísérletezéssel és a megfelelő kereshető függvényreferenciákkal könnyen programozható.

A kezdetektől fogva a GObject portolható objektum keretrendszerhez kötést tartották szem előtt, így a Genie nagyon hatékonyan tud C-re fordítani. Gyakorlatilag amikor idiomatikus Genie kódot írunk, a fordító végeredményben szinte ugyanazt a C forrást fogja legenerálni mint amit nekünk jóval nagyobb erőfeszítések árán kézzel kellett volna megvalósítanunk. Ezáltal egy nagyon vékony, de ugyanakkor magas szintű és korszerű megoldást kapunk. További előnyként könyvelhető el, hogy a GNOME GLib, GObject és más kapcsolódó referencia leírások mind használhatóak Genie tanulmányainkhoz és munkánkhoz.

A nyelv létrehozásakor fő cél volt egy korszerű, magas szintű nyelvet létrehozni, mely megkönnyíti helyes és kompozícionálható rendszerek létrehozását, a C hatékonyságának megtartása mellett.

Néhány kiemelt tulajdonság: