Az E programozási nyelv

Tervezés alapelvei

Feltehetnénk a kérdést, hogy nincs még mindig elég nyelvünk a világban? Hiszen ott van a Java, Perl, Python, C++, TCL, ADA, és a többi, de mégis itt van mégegy. Mi ad neki létjogosultságot, ennyi nagyszrűen elkészített nyelv mellett? Valójában az az ok vezeti oda a nyelvtervezőket, hogy újabb és újabb nyelveket készítsenek, hogy bonyolultabb programokat készíthessünk. Ráadásul egyre több egymástól függő program bonyolult rendszerét írják, ami még komplikáltabbá teszi a világot. Beléptünk a globális osztott számítások korába. Bárki aki próbált már összhozni nagyobb(főbb) rendszert Web szerver, Java, JSP, SQL, CGI, CORBA, RMI, XML és Perl egy „keverékével”, az tudja, hogy nem lehetséges olyan eszközökkel, amelyeket már 20 éve használunk. Minél előbb túllépünk a 20 éves korlátokon, annál hamarabb jobb helyzetben leszünk. Ebbe a helyzetbe vezetjük be az E-t: A nyelv további tervezési alapelvei: Azonnali felhasználhatóság (ismerősség), nagyobb kifejezőerő, egyszerűség. Az azonnali felhasználhatóság érdekében törekedtek arra, hogy a programozás mikéntje, a szintaxis, a szemantika (ahol lehet) hasonlítson a legelterjedtebb programnyelvekre (pl.: Java, C, Perl, stb.). A nagyobb kifejezőerő érdekében számos „szintaktikus cukormáz” (syntactic sugarcoating) jellegű elemet tartalmaz az E. (Ld. később Kernel E vs. E.) Emellett a script nyelvekből számos nagy kifejezőerejű, népszerű elemet átvettek – pl. regex matching, stb. Végül az egyes programkonstrukciók „mesterséges” megszorításainak eltörlésével, absztakcióval, a programkonstrukciók használhatóságának kibővítésével segítik a gyors programfejlesztést. Az egyszerűség érdekében a nyelv elemeit egy szűkebb, jól-definiált résznyelvre a Kernel-E nyelvre lehet kibontani. A Kernel-E egyszerű, az E nagy kifejezőerejű.