ECMAScript Harmony

Urban Škudnik

19. avg 2008 ob 07:18:33

ECMAScript, ki je večini razvijalcev bolje poznan pod imenom Javascript, se je že lep čas razvijal v dveh različnih komitejih ECMA standarizacijskega telesa, ki sta imela v svoji preteklosti nadvse lepo določljivo in predvsem ločeno nalogo kako se naj v prihodnosti ECMAScript razvija - EMCAScript 4 naj bi tako v prihodnosti prinesel na splet koncepte in zmožnosti jezikov, ki jih sedaj podpirajo nekoliko bolj konvencionalni jeziki.

Ker pa tako radikalen postopek ne more biti dosežen čez noč se je začel razvijati tudi EMCAScript 3.1, ki naj bi popravil manjše napake in hrošče obstoječe in danes vsem spletnim razvijalcem poznane različice 3.

Ker pa je skupina zadolžena za razvoj ECMAScript 3.1 (sestavljala sta jo Microsoft in Yahoo) hotela z časom vgraditi v jezik določene koncepte, ki bi bili nekompatibilni z četrto različico (razvijali so jo Google, Mozilla, Adobe in Opera), se je pojavilo v odboru trenje, ki bi lahko povzročilo marsikateri sivi las. A se to vseeno ne bo zgodilo, saj se je konec julija v Oslu odbor, ki ga sestavljajo vsi prej navedeni igralci odločil, da se bo delo nadaljevalo na ECMAScript Harmony.

Harmony tako predstavlja popustitev obeh strani - tako so določeni koncepti izpadli iz nadaljnega razvoja, ker se smarajo za nepotrebne in prekompleksne za splet (npr. namespace-i), se bo pa dodalo določene sintetične konstrukte (tako na primer ne bodo vključeni polnokrvni razredi s primerno sintakso, bo pa z novo metodo freeze možno poustvariti nespremenlive razrede, ki so bili načrtovani za EMCAScript 4. Brez razredov, a razredna izkušnja, je povzel glavni razvijalec jQuery-a John Resig v svojem blogu. Ali bo podprto tudi dedovanje razredov ter ali bo potrebno v prihodnosti definirati tudi tipe spremenljivk, še ni odločeno in bo znano v prihonosti. Kompleksni koncepti ECMAScripta se bodo torej lahko razbili na precej bolj osnovne kar bo olajšalo delo in razumevanje novincem.

Glavna zmaga Harmony-a je torej bolj politična in kot tehnična, saj bi ponovna razdvojitev na dva spletna standarda (vsi spletni razvijalci še pomnijo boleče in temne dni Internet Explorer-jevega JScripta in Netscape-ovega Javascript-a in za časa Netscape-a nadvse opaznih razlik med njunima implementacijama) bila nočna mora za vse.