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:
- Az E-nek igazán nagy előnye van más népszerű nyelvekkel szemben az osztott számítások
terén. Egy gyors példaként: az E adatcsatorna(pipeline) szerkezete biztosítja, hogy
holtpont (patt helyzet) ne jöhessen létre.
- Az E, talán legnagyobb, előnye a biztonságos osztott rendszerek. Minden kommunikáció az
E-ben szigorúan titkosított, a programozó számára átlátszóan. Ennek a biztonságosságnak
köszönhetően, egy chat-elő(beszélgető) peer-to-peer , biztonságos program (eltekintve a
felhasználói interfész kódtól), kevesebb mint 30 sorban megírható.
- Az E nyelvvel egyszerűen készíthetünk olyan rendszereket, amelyek az interneten
keresztül futnak, és amelyek olyan biztonságosak, és stabilak, mint ha az a rendszer
amibe beléptünk, egy egyszerű gépen volna, ott ahol mi vagyunk.
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ű.