Intro

Sidste uge sluttede på en højst uventet måde. ECMA og nærmere TC39, den tekniske komité der der har haft til opgave i snart 10 år, at udarbejde standarden for næste generation af JavaScript, bedre kendt som ECMA 4 Script, valgte at forkaste udkastet.

ActionScript har stærk forbindelse til ECMA standarten, da ActionScript 1.0 bygger på ECMA 262, og efter Adobes sammensmeltning med Macromedia, har det hele tiden ligget i kortene at ActionScript 3.0 skulle være det "draft" som ECMA 4 standarden skulle færdiggøres ud fra.

En pludselig ud-melding

Fra ECMA kommer ud-meldingen om forkastelsen af ECMA 4 blandt andet efter at Microsoft har udmeldt at de aldrig vil implementere ECMA 4 i deres Internet Explorer (læs Exploder). Det er klart at bliver næste version af JavaScript ikke implementeret i IE, som (desværre) stadig udgør 80 % af anvendte browsere world wide, giver det ikke mening at tale om en ny version af JavaScript.

En af udmeldingerne fra Microsoft har været at det er for omfattende at implementere ECMA 4, men mange kilder tættere på forløbet mener at det udelukkende handler om at Microsoft ser ActionScript og JavaScript som en konkurrent, og derfor benytter de deres magt til at bremse udviklingen, til fordel for egen vinding (f.eks. bedre fundament for Silverlight). - en interessant sammenligning her, er Microsoft's egen kamp for at få deres OOXML standard presset igennem som standard, (med alle midler mulige, lige fra forsøg på køb af stemmer der i mit univers burde kaldes bestikkelse). - morsomst er det dog at denne "standard" de selv ønsker fremelsket, er for svær at implementere for dem selv, og derfor er deres eget Office 07 ikke bygget på standarden.

Intermezzo

Så altså ingen ECMA 4 standard, og JavaScript 2.0 og standardiseret AS3 i denne omgang. - der er kræfter der frygter for den udvikling web standarterne ville have fået med ECMA 4. - et meget ærgerligt skridt for web udviklingen. Når jeg skriver web, så er det fordi det som sagt langt fra kun involvere AS sproget. Siden 1999 har JavaScript stort set ud som det gør i dag. Kun få og mindre dot releases har raffineret sproget gennem de 10 år der er gået. JavaScript 2.0 ville have taget HTML og det klassiske web med ind i næste fase, med et sprog der er modnet, og har vokset sig større og stærkere med de nye og solide OO egenskaber og finesser vi kender dem fra AS3. Adobe var tidligt ude og overdragede code basen til Flash Playeren til Mozila foundation og startede samarbejdet om deres bud på den virtuelle maskine der skulle eksekvere ECMA 4.0 sproget (JavaScript 2.0) under kodenavnet Tamarin.

I stedet har man valgt at gå efter en langt mere beskeden ny standard ECMA 3.1 som går under kodenavnet "harmony". For mig at se, er det mere vist som et sørgeligt spil fra galleriet, for at det ikke skal se ud som om der lige frem er modarbejde om en ny og forbedre standard. - det lugter dog en del af at det ikke er standardens indhold, der bremser udvikling, mere at det er kommercielle interessekonflikter der har stoppet ECMA 4.0.

Det skal retfærdigvis siges at ECMA TC39 har været splittet i over et år, med en part bestående af blandt andet Adobe, Mozilla, Opera og Google på den ene side, ivrige for at tage ECMA Script 4.0 til det næste stadig og blandt andre Microsoft og Yahoo på den anden side med beklagelser over at ECMA 4.0 var for drastisk, og at det var bedre med 3.1, altså et lille skridt, med nogle få bugfixes og mindre ændringer.

Så hvad nu

ActionScript 3.0 gik altså fra i sidste uge at være udkastet og basis for en kommende standard til at være et proprietær sprog, i sin egen blodgade. Adobe har implemneteret et hav af features i AS3 som stammer fra ES 4.0 standarden - en standard der nu ikke længere er. 3.1 har allerede en række ting som er i modstrid med AS3 hvilket gør det svært for ECMA standarden og AS at mødes lige foreløbigt.

ECMA Script 3.1 vil fortsætte med at blive defineret, og det lyder til at flere gode ting fra ECMA Script 4.0 nu også vil blive tilføjet til ES 3.1. Adobe har også udmeldt at de stadig vil bidrage med samme interesse og engagement i ECMA TC39 i samarbejdet om den nye standard.

Afslutning

ActionScript 3.0 ER jo født, og eftersom det nu viser sig at være lidt af en bastard, uden "rent standard" blod i årene, giver det selvfølgelig stof til eftertanke. ActionScript er jo et stærkt klient sprog, der, efter min mening, sagtens kan klare sig uden en standard som ECMA i ryggen (se på f.eks. Ruby, Python - ja selv Java, var også deres "egen" uden standard i ryggen indtil for få år siden). Der spekuleres nu i om AS skal gå i retning af haXe som er et ideen om et universielt web sporg. I hvert fald siger Adobe at de stadig vil presse ActionScript til at stå mål med hvad vi forventer af et nymodens sprog, og måske er det kun en fordel at vi ikke skal holdes nede af ECMA standarden. Jeg forestiller mig at der i fremtiden ville kunne laves dot releases med lagt mindre intervaller, som er mere sammenhørige med Flash/Flex communitiet og deres behov (giv os de private constructors tilbage Smile ). - men det er ren spekulation fra min side.

ActionScript's store styrke ligger langt fra i at have en standard i rygge, ActionScript's styrke ligger i du og jeg. For et kæmpe community der anvender, nyskaber og presser sproget til grænserne er langt mere værd end hvad en standard kan bidrage med.

Keep On Coding!

Disclaimer

I det ovenstående er der personlige holdninger, meninger og spekulationer der helt og holdet står for min egen regning. Jeg opfordre til at alle der måtte ønske at vide mere om emnet, selv søger dybere ind i emnet. Et godt sted at starte er kilderne herunder

Kilder:

http://whydoeseverythingsuck.com/2008/08/ru-roh-adobe-screwed-by-ecmascr...

http://blogs.adobe.com/open/2008/08/blog_entry_dated_81408_715_pm.html

https://buzzword.acrobat.com/#d=*NvtMq4kSE2-jR2AqeHgyA

http://joshblog.net/2008/08/13/how-will-ecmascript-harmony-affect-action...

https://mail.mozilla.org/pipermail/es-discuss/2008-August/003400.html