Neden JavaScript? sorusuna üç cevap bulduktan sonra örnek web sayfalarını biraz daha geliştirdim. Kullandıkça JS daha sevimli görünmeye başladı. Bu satırların yazıldığı 2018 ortasında, en sık kullandığımız web sayfalarının tamamının ön-yuzü (client side) JavaScript ile kodlanmış. Sadece bu bile, gençlere ne öğretmemiz gerektiğini açıkça gösteriyor.
Peki bunca senedir yazdığımız Java kodu ne olacak? Zaman içinde hepsinin JS kodu olarak GitHub’da yayınlanacağını umuyorum. Bunun için otomatik çevirme yöntemleri mevcut. Bir örnek: JSweet
JavaScript’e geçenlere (en başta kendime) bu dönüşümü elle yapmalarını tavsiye ediyorum. Hem öğretici olur hem de JavaScript yaklaşımını daha iyi anlarız. Basit bir örnek olarak, Small-Simple-Safe sayfaları içinden seçtiğim Decimal.java -> JS dönüşümünü inceleyelim:
package
kavramı yok, sil (namespace var ama şimdilik uzak duralım)public
kavramı yok, silint, float, String
gibi türleri sil (büyük rahatlık ama riskli)this.
ekle (Java’da izin var ama kullanmıyorduk)constructor
adını değiştir (class adı değişince bu metod aynı kalacak)Hepsi bu kadar :)
Java imlasının çoğu aynı kalıyor ama alışmamız gereken önemli farklar var:
String
değerleri Object
değil, primitive (neyse ki yine immutable)let
ya da const
olarak tanımlamak gerekiyor – tür bilgisini JS kendisi ayarlıyorvar
kullanımı çok sınırlı (sadece global değişkenler için)Array
yapısı dinamik olduğu için java.util.ArrayList
ayarındaPeki JavaScript dilinde ne eksik? Thread kavramı eksik ve web sayfalarına hiçbir şekilde eklenemez görünüyor. Ayrıca, güvenlik açısından, dosya erişimi çok sınırlı ve yazma hakkı vermiyor. Lakin, yazdığım programların web sayfalarında bütün dünyaya açık olması o kadar büyük bir avantaj ki, bu iki eksikliğe gönül rahatlığı ile katlanıyorum.
Yaygın kullanılan web tarayıcılarının hepsinde Developer Tools (Ctrl-Shift-I) ile başlatılıyor.
Yazılım geliştirmenin önemli bir parçası olan Debugging & Testing bu ekranda yapılıyor.
The power of JavaScript lies in its simplicity