Yazılım Geliştirme Trendleri 2017/4: JavaScript
“Bir gün her şey JavaScript ile yazılacak” dedi, hiçkimse.
JavaScript’in hayatı önemli derslerle dolu. Ancak serüvenini okuyan herkes farklı dersler çıkarabilir. Benim çıkardığım ders şu: Tamam, çalışacaksın, ortaya birşeyler koyacaksın, ama başarılı olmak için en önemli şey şans!
3 haftada ilk versiyonu yazılmış olan JavaScript, önce VBScript’i, sonra Java Applet’leri ve son olarak Flash’ı ebediyete yolcu ettikten sonra, tarayıcı tarafındaki mutlak iktidarını ilan etti. Ancak en iyi JavaScript motorlarından olan (Chromium) V8 ile libuv’yi birleştirerek ortaya çıkan NodeJS, JavaScript’i bir anda sunucu tarafında da en güçlü oyunculardan biri haline getirdi.
NodeJS’in başardıklarını şöyle listeleyebiliriz:
- JavaScript’i sunucu, konsol, desktop (örnek: Visual Studio Code, PopCorn) ve mobile (Native Script) taşıdı. Böylece JavaScript en geniş spektrumda faaliyet gösteren dil oldu. Bugün JavaScript, neredeyse her alanda en güçlü diller arasında. (Machine Learning, AI, VR .. hariç)
- JavaScript’i sadece sunucuya taşımakla kalmadı, aynı anda Non-Blocking IO paradigması ile (Önceki yazım: Async programming), sunucu tarafındaki en etkili (verimli) ortamlardan biri haline getirdi.
- Java’nın 20 yıllık “write once, run everywhere” (zamanla “write once, debug everywhere” olarak güncellenen) hayalini gerçekleştirmek JavaScript’e kısmet oldu.
Bugün JavaScript, üzerine en çok yatırım yapılan diller arasında muhtemelen ilk sırada. Neredeyse bütün taraflar arkasında. Hiçbir rakibi / düşmanı yok. Kimse karşısına bir dil çıkarmayı tasavvur bile etmiyor. Bunun sonucu olarak büyük bir ortak çalışma ile hızla olgunlaşıyor. Bunun sonuçlarını zaten gözlemliyoruz:
- ECMAScript 5 (ES5): 2009 yılında çıkan ve tüm tarayıcılarda bulunan.
- ES6 (ES 2015): 2015 yılında çıkan, modern JavaScript (Nesne, Modül ..)
- ES7: çok yakında…
Özellikle ES6 ile birlikte artık JavaScript büyük projeler için de ideal bir dil olma özelliği kazandı. Classes, Arrow Functions, Modules, Generators, Iterators, Symbols, Reflect API, Promises … bütün ihtişamı ile JavaScript’in bir parçası oldu bile.
Ancak daha önceki yazımda anlattığım Sürekli İnovasyon konsepti en çok JavaScript ortamı için geçerli. Kimse ES6'i bile yeterli bulmuyor. Kimileri (benim gibi) JavaScript’e transpile olan TypeScript’i kullanarak, kimileri ise Babel ile transpile ederek bugünden geleceğin JavaScript’ini kullanıyor. Bu transpilation sayesinde JavaScript, diğer dillerden çok daha hızlı bir gelişim içerisine de girmiş oluyor. Henüz daha dil gelişirken, yeni özellikler büyük çapta görücüye çıkarıyor. Büyük bir deneyim paylaşımı yaşanıyor. Muhtemelen ES7 çıktığında biz zaten ES8 özelliklerini kullanıyor olacağız. Aynı şeyi diğer diller için düşünmek bile mümkün değil. Java 9 çıktıktan ne kadar süre sonra geniş bir kullanıcı kitlesine ulaştığını düşünün. JavaScript’te ise durum tam tersi. Henüz çıkmamışken bile kullanımı genişliyor.
**
Eğer sıfırdan yazılım kariyerine başlamak istiyorsanız, 3 aylık yoğun programlar düzenliyorum. Bilgi için: https://www.yenikodyazilimkursu.com/
—
Test Invite online sınav sistemi ile tanışın: İşe alım sınavları, Genel Yetenek Testleri ve İngilizce Seviye Tespit Testleri
Video kayıtlı ve zorunlu tam ekran ile güvenli online sınavlar yapmak için: https://www.testinvite.com/lang/tr/online-sinav-sistemi.html