Catatan Akhir Tahun : ECMAScript 4 is Dead (berkat Microsoft)
Di akhir tahun ini, saya ingin menulis kejadian di 2008 yang sepertinya luput dari perhatian orang IT di indonesia, tapi sebenernya sangat mempengaruhi perkembangan dunia IT di seluruh dunia termasuk Indonesia.
Kejadian itu adalah kejadian di bulan Agustus 2008 : ECMAScript 4 is Dead !!! Sebelum membahas tentang kematian ECMAScript 4, saya akan membahas apa sih ECMAScript terutama ECMAScript 4 dan apa pengaruhnya bagi kita.
Apa itu ECMAScript ??? Buat yang belum tau, ECMASCript adalah nama resmi dari bahasa prmrograman JavaScript. Selain di browser, sebenernya javascript dipake di banyak aplikasi lain dengan dialek yang berbeda sedikit seperti di flash (action script), embeded web server (EJavaScript) dan aplikasi web lain (biasanya melalui engine Rhino dengan Java atau IIS dengan ASP clasic). Spesifikasi bahasanya di tentukan oleh badan yang bernama ECMA, oleh karena itu bahasa pemrograman itu namanya ECMAScript. Javascript yang pertama kali muncul di browser netscape sudah berkembang beberapa kali, dengan versi yang resmi diadopsi oleh browser sampai versi 3 (walaupun yang mengadopsi setau saya baru mozilla firefox).
Dari beberapa tahun terakhir, muncul gerakan untuk melakukan evolusi besar untuk javascript, hal ini dikarenakan penggunaan javascript yang makin meluas di berbagai aplikasi web yang makin kompleks, terutama aplikasi dengan AJAX. Javascript dengan model prototypingnya dianggap sudah tidak mampu mengakomodasi kebutuhan tersebut. Gerakan tersebut paling utama disponsori oleh Adobe dan Mozilla dengan ditandai dibukanya kode virtual machine actionscript milik Adobe bernama Tamarin untuk dikembangkan bersama-sama dengan Mozilla. Tamarin sudah mengakomodasi sebagian besar fitur baru yang akan diimplementasikan di versi selanjutnya ECMAScript : ECMAScript 4.
Apa kelebihan ECMAScript 4 dibandingkan ECMAScript/Javascript sekarang ? Yang paling penting adalah penggunaan paradigma object orientation (bukan prototyping lagi), namespace, package dan strict type checking (dengan optional untuk untype variable). Dengan fitur-fitur tadi diharapkan ECMAScript 4 mampu dipergunakan untuk membangun aplikasi web yang kompleks dan mampu menghadirkan performansi yang tinggi. Buat anda progammer AJAX, ECMAScript 4 seperti jawaban terhadap keinginan anda dari dulu.
Tapi sayang spesifikasi ECMAScript ditolak dan diabaikan entah sampai kapan, dan promotor untuk menolak spesifikasi tersebut adalah perusahaan favorit kita : Microsoft. Bukan menolak secara langsung sih, tapi lewat FUD di media. Sebenernya kalau dilihat secara awam, tindakan Microsoft seperti hal yang wajar. Kenapa ? Karena ECMAScript 4 bisa dibilang revolusi bukan evolusi, karena banyaknya perubahan semantik dari javascript lama ke javascript baru. Perubahan yang besar tentu menyulitkan banyak developer yang harus belajar ulang, dan perlu effort besar untuk vendor browser.
Tapi kalau dilihat gambaran secara besarnya, tindakan Microsoft adalah tindakan yang kontradiksi. Pertama vendor browser yang harus merubah browser mereka bukan cuma Microsoft, tapi semua, dan kesemuanya tersebut (Mozilla, Google, Opera) setuju untuk mendukung ECMAScript 4, kecuali Microsoft. Dari sini kita dapat ambil kesimpulan bahwa semua pihak melihat memang perlu ada evolusi besar untuk javascript. Kontradiksi kedua adalah sebenarnya Microsoft sudah mengimplementasikan banyak fitur ECMAScript 4 di JScript.NET, Silverlight dan WPF. Aneh bukan, fitur yang sudah diimplementasikan oleh Microsoft tapi ditolak oleh Microsoft sendiri untuk dijadikan standard.
Banyak teori yang berkembang kenapa Microsoft melakukan hal ini, dan yang paling banyak berhembus tentu saja karena Microsoft ingin terus melanggengkan locked up teknologi. Teorinya begini, Microsoft kan baru saja merilis silverlight untuk jadi lawan buat flash. Silverlight yang dipromosikan secara besar-besaran (termasuk ke indonesia waktu bill gates dateng) ditujukan agar orang terus bertahan di windows dan .NET (sumber uang utama Microsoft). Tindakan menstandarkan ecmascript 4 mengancam keberadaan silverlight yang akhirnya mengancam keberadaan windows karena dengan ecmascript 4 browser mampu melakukan hal yang kurang lebih sama dengan silverlight.
Kemudian apa kerugiannya bagi kita pengguna web ? Tentu saja banyak sekali. Dengan ditolaknya ECMAScript 4, maka kesempatan kita untuk membangun aplikasi yang lebih kompleks dan modern di browser, memaksa kita harus memilih kubu antara menggunakan Silverlight atau Flash atau AJAX + CSS (dengan performansi dibawah dua teknologi tadi). Kondisi memilih ini menghambat inovasi karena banyak developer yang jadi kurang yakin untuk melangkah.
Ya, bagaimanapun juga, suatu saat nanti ECMAScript 4 pasti akan muncul juga, entah 5 atau 10 tahun lagi. Awalnya Mozilla berencana merilis Firefox dengan ECMAScript 4 diawal 2009, tapi dengan perkembangan terakhir, project tamarin sedikit di tinggalkan entah sampai kapan. Tapi ada satu komen menarik dari developer Adobe menyikapi masalah ini :
The nature of standards are that they are slow, and they follow implementation. Standards codify, they do not innovate. From this, it follows that in order for there to be progress on the web, companies and other organizations must be willing to push the web in new ways.
Jadi, mungkin saatnya kita hidupkan browser war lagi untuk menggenjot perkembangan di dunia web.
December 29th, 2008 at 9:54 pm
Wah wah wah…


Pemikiran yang sungguh luar biasa
Milih yang Open Standart ajalah.. biar semua seneng
December 30th, 2008 at 8:29 am
Open Standard emang bagus, kalo semua pihak memang menggunakannya untuk kemajuan bersama,
Kalo udah masuk politik untuk menjegal saingan…. wah males deh. Kasihan sama lead dari mozilla, yang karena hal ini diserang baik secara organisasi atau secara personal oleh pihak microsoft, akhirnya kalah juga….
Tapi tadi baru baca perkembangan project tamarin, kode-nya sudah dibilang stabil dengan kecepatan 185% lebih cepet dari VM yang dipake dalam flash 10 saat ini… Asik banget kalo tamarin tetep dimasukin ke firefox (mungkin ver 4), kita bakalan punya browser yang keren banget.
January 15th, 2009 at 8:36 am
Wah emang satu microsoft bisa ngalahin 3 browser ya?
Mungkin besok” pemilihannya pake voting aja. . .
November 18th, 2009 at 8:19 pm
Yahh…..
Ga disetujuiin lagi!!
kerjaa bakti lagi dechhhhhhh…
waktu luang jadi ga nambahhh…
March 6th, 2010 at 8:13 pm
Hi, I found this blog article while looking for help with fixing Microsoft Silverlight. I’ve recently switched browsers from Safari to IE. After the change I seem to have a issue with loading sites that have Microsoft Silverlight. Every time I browse website that needs Microsoft Silverlight, the site crashes and I get a “npctrl.dll” error. I cannot seem to find out how to fix the problem. Any aid getting Microsoft Silverlight to work is greatly appreciated! Thanks