JavaScript’in qısa tarixi
Gəlin birlikdə 90-cı illərdən indiyədək JavaScript’in hansı yollardan keçdiyinə və necə indiki vəziyyətə gəlib çatdığına bir nəzər salaq.
Hər şey 90-cı illərdən başladı
1992-ci ildə Illinois Universitetində bakalavr təhsili alan, internet və World Wide Web ilə yaxından tanış olan, Marc Andreessen yeni bir brauzer yaratmaq fikrinə düşür. Həmin vaxt bir neçə veb brauzer mövcud olsa da, onlar yalnızca Unix maşınları üzərində fəaliyyət göstərir və yalnız bəzi mühəndislər və araşdırmaçılar üçün əlçatan olurdu. Bununla belə, həmin brauzerlərin user interfeysləri də bir o qədər də ürək açan deyilmiş. Və Marc, eyni universitetdə magistr təhsili alan Eric Bina ilə köməkləşərək, gecə gündüz çalışıb, Mosaic adlı yeni bir brauzer buraxırlar.
Yazdıqları yeni brauzer (incognito modu olmasa da) user interfeys baxımından, digər brauzerlərdən əməlli başlı fərqlənirmiş və FTP, NNTP kimi o vaxtın xod gedək protokollarını da dəstəkləyirmiş. Onu da qeyd edək ki, Mosaicə qədər, HTML-in içərisinə şəkil əlavə etmək olmurmuş.
1993-cü ildə artıq Mosaic brauzer NSCA (o vaxtı Marc orda part-time asistant imiş) serverlərində pulsuz yüklənmək üçün paylaşılıb və 5000-dən artıq yüklənərək əməlli başlı populyarlaşıb.
Mosaic brauzerin xəbərləri artıq New York Times qəzetində yayımlanmağa başlayır, brauzer NSCA-in adından təqdim edilir ancaq nə Marcın, nə də ki, Ericin adı bir yerdə qeyd edilir.
Marc və Eric, başları dərslərinə qarışdığı müddətdə, Mosaicin NSCA tərəfindən özəlləşdirildiyini bilirlər. Həmin ilin Dekabr ayında isə Marc artıq məzun olur və Silikon Vadisinə yollanır.
Netscape Communications Corporation
Daha sonra Marc, Silicon Graphics’in qurucusu olan Jim Clark ilə birlikdə Mosaic Communications Corporation adlı şirkət qururlar və məşhur Netscape Navigator brauzerini (Mosaic’ə rəqib olaraq) yaradırlar. Şirkət sonradan Netscape Communications Corporation adlandırılır.
Həmin vaxtlar Marc, Netscape vasitəsilə webi daha da genişləndirmək və yeniliklər gətirmək niyyətində idi. Fikirləşirdi ki, web, animasiyalar, istifadəçinin səhifə ilə qarşılıqlı əlaqəsi və digər formalarda daha dinamik ola bilər. Və webdə DOM ilə qarşılıqlı əlaqədə ola biləcək kiçik bir skiripləşdirmə dili çatışmırdı.
Sözügedən dil, sadə, dinamik olmalı və developer olmayan şəxslər üçün də əlçatan olmalı idi. Və bununla da Mocha ideyası meydana gəldi.
Branden Eich’in birinci yürüşü ✊
Bu missiyanı yerinə yetirmək üçün Brendan Eich ilə müqavilə bağlanır və Eichdən Scheme’ni (proqramlaşdırma dili) brauzerdə tətbiq etmək istənilir.
Scheme, sintaksisi asan öyrənilə bilən, yüngül və funksional bir proqramlaşdırma dili idi və buna görə də Eich, sevdiyi bir şeyin üzərində işləyəcəyini bilərəkdən vaxt itirmədən komandaya qoşulur və işə başlayır.
Həmin vaxt, Mocha’nın tez bir zamanda işlək prototipini təqdim etmək üçün şirkət daxili təzyiq çox idi. Java çox məşhur idi və Sun Microsystems tərəfindən çox güclü reklamı getməkdə idi. Netscape isə, Java-nın brauzerə qoşulması ilə razılaşmanı ləğv etmək üzrə idi. Bəs niyə Java var ikən başqa bir proqramlaşdırma dili yaratmaq istəyirdilər? Çünki, Java çox böyük və “enterprisy” bir dil idi və Java ilə məşğul olmaq üçün müəyyən proqramlaşdırma təcrübəsi vacib idi. Lakin, Netscape, Mocha’nın daha sadə, yüngül, eyni zamanda güclü və development prosesini sürətləndirəcək bir dil olmağını istəyirdi.
Bir neçə həftə ərzində Mocha’nın işlək prototipi artıq hazır idi və Netscape Communicatora inteqrasiya edilmişdi. Lakin, “Scheme brauzerdə” kimi gözlənilən bu dil, Məşədi İbadın gəlini kimi, sonda tam başqa bir şey çıxdı.
Sun Microsystems ilə razılığın pozulması və Mocha’nı Java’ya “skirpt yoldaşı” seçmək qərarı, Brendanı Java’ya oxşar sintaksis istifadə etməyə məcbur etdi. Mocha, Scheme və Selfin xüsusiyyətlərini özündə birləşdirən, lakin sintaksisi demək olar ki, Java ilə eyni olan bir proqramlaşdırma dili idi.
Brendanın dediyinə görə Mocha, first-class functions xüsusiyyətinin Scheme’dən, prototype’ları isə Self’dən götürmüşdür.
I’m not proud, but I’m happy that I chose Scheme-ish first-class functions and Self-ish (albeit singular) prototypes as the main ingredients. The Java influences, especially y2k Date bugs but also the primitive vs. object distinction (e.g.,
string
vs.String
), were unfortunate.
1995-ci ilin May ayında, Mocha, Netscape Communicatorun növbəti versiyasına inteqrasiya edildi və bir müddət LiveScript adlandırıldı. Daha sonra həmin ilin Dekabr ayında (Sun ilə razılaşma ləğv edildikdən sonra) JavaScript adlandırıldı. Belə ki, JavaScript kiçik client-side tapşırıqları yerinə yetirmək üçün skriptləşmə dili olduğu halda, Java daha böyük və geniş web komponentlər hazırlamaq üçün istifadə olunacaqdı.
Fərqli implementasiyalar
Həmin vaxtlar, Netscape ən çox istifadə olunan brauzer olsa da, artıq Microsoft da öz brauzerini develop etməkdə idi. Və JavaScript, user experience’də ciddi fərqliliklər yaratdığı üçün, Microsoftun, JavaScript kimi bir dil yaratmaqdan başqa bir seçimi yox idi. Microsoft, artıq müəyyən bir prototipin üzərində işləməyə başlamışdı və həmin dövrdə web standartlar güclü olmadığı üçün, dili özləri bildiyi kimi formalaşdırmışdılar. 1996-cı ilin Avqust ayında JScript’in (kommersiya səbəblərindən “Java” adını istifadə etməmişdilər) ilkin versiyası Internet Explorerin 3.0 versiyasında istifadəyə verildi.
1996-ci ilin payız ayında, Brendan, tələsik yazdığı JavaScripti yenidən, daha təmiz və səliqəli şəkildə yazır və Netscape, yeni JavaScript motorunu SpiderMonkey adlandırır.
Bir müddət, JScript və SpiderMonkey, öndə gedən JavaScript motorları olaraq tanındı. Lakin, bu iki engine arasında yaranmış fərqliliklərin, sonradan webin gələcəyini formalaşmasında böyük bir qatqısı oldu.
Beləliklə, sizinlə JavaScriptin 29 (hətta daha çox) illik tarixinin üzərindən keçdik. Ümid edirəm ki, oxuyarkən sıxılmadınız və oxuduqlarınızın sizə bir xeyri dəydi.
JavaScript özü maraqlı dil olduğu kimi, gördüyünüz kimi, tarixi də çox maraqlıdır. Bu səbəbdən, onun dərinliklərinə enməyə çalışın və Brendan Eich və Kyle Simpsonun dediyi kimi “Always bet on JavaScript”.
Müəllif: Orxan Hüseynli
ATL Tech / Proqramçı