Bu sefer gelenekleri yıkalım. Geldiğimiz yolun tam karşısına geçelim. Programlamaya yeni başlayanlar için asıl mesele hangi programlama dilinin öğrenileceğidir. Herkes kısa zamanda öğrenip pratik olarak çalışabileceği bir programlama dili öğrenmek ister. Şikayetimiz yok ancak biz ters istikamete giderek bu kez öğrenilmesi en zor olan programlama dillerine değineceğiz.
Bu listedeki programlama dillerinin hiçbiri sizin ve benim için tasarlanmamış. Bunlar özel bir güruha, Geek’lere ait. Hiçbiri pratik olarak kullanılmıyor ancak bu dilleri öğrenmek ve programlama yapmak isteyen geliştiricilerin koltuk altlarına derece, klavyelerinin kenarına Vermidon bırakmalarını tavsiye ediyorum.
#1- BrainFuck
Adını Türkçeye çeviremedim ama sanırım siz zaten ne kadar sıkıntılı olduğunu anlamışsınızdır. Urban Müller tarafından 1993 yılında geliştirilen bu programlama dili en küçük boyutlu derleyici olmak üzere tasarlanmış. Yalnızca 8 adet komutu bulunan bu programlama dili basit bir makine modeli ile çalışıyor.
BrainFuck dilini oluşturan 8 komut ise şunlardan ibaret; > < + - . , [ ]
Hello World çıktısını almak içinse şöyle programlamanız gerekiyor;
++++++++++[>+++++++>++++++++++>+++>+<<<<-]>++.>+.+++++++..+++.>++.<<+++++++++++++++.>.+++.———.--------.>+.>.
![Mozilla Thimble: HTML, CSS & JavaScript’i Uygulamalı Olarak Mozilla’dan Öğrenin](https://cdn.wmaraci.com/blog/thumb/mozilla-thimble-logo.png)
Mozilla Thimble: HTML, CSS & JavaScript’i Uygulamalı Olarak Mozilla’dan Öğrenin
Henüz web programlamaya giriş yapmak isteyen çaylak bir Webmaster adayıysanız, Mozilla’nın size harika bir hediyesi var; Mozilla Thimble. Front-end veya back-end çalışmalar gerçekleştirecek olmanız fark etmeksizin, bir programlama dilin...
#2- Cow
Evet, Cow. Türkçesiyle inek. Bildiğimiz şu dört bacaklı olanlardan. Belki gereksiz yere kelimelerle oynayıp mevzuyu uzattığımı düşünüyor olabilirsiniz ancak bir sonraki satırda bu konunun üzerine neden bu kadar eğildiğimi anlayacaksınızdır.
Dil yeteneği üzerine kurgulanan Cow programla dili, tıpkı normal bir dil gibi çalışıyor. Bu programlama dilinde “Moo” sözcüğünün farklı varyasyonları kullanılıyor ve bu varyasyonlar birer komut olarak görev alıyor.
Karakterler yerine farklı Moo şekillerinin kullanıldığı için bu hayvani dili kullanırken boşluk koymuşsunuz koymamışsınız, yeni satıra atlamışsınız atlamamışsınız çok da fark etmiyor. Yorumlama açısından Cow programlama dilinin birçok dile oranla daha kolay olduğunu itiraf edebiliriz.
Peki, Cow’un Hello World’ü nasıl olacak derseniz;
#3- Intercal
Evrensel olarak adı Intercal ama ben ona Kibar Feyzo adını verdim. Bu programlama dili geliştiricilerini bazen üzen, bazen sevindiren bazen de gönlünü hoş tutan bir dil. Kesin olan tek şey ise Intercal’ın şimdiye kadar geliştirilmiş en kibar programlama dili olması.
Intercal geliştiricisinin gönlünü hoş tutan statments’lar kullanıyor. Bunlar da genellikle “Lütfen”, “Unut Gitsin Sorun Yok Müdür” gibi kulağa hoş gelen durumlardan ibaret. Tabii programlama dilinin derlenmesi aşamasında verdiği tepkiler de tuhaf. Eğer Script içerisinde “Lütfen” durumu yeteri kadar kullanılmamışsa hata verebiliyor.
Örnek bir kod dizgisine şöyle göz atabilirsiniz;
DO ,1 <- #13 PLEASE DO ,1 SUB #1 <- #238 DO ,1 SUB #2 <- #108 DO ,1 SUB #3 <- #112 DO ,1 SUB #4 <- #0 DO ,1 SUB #5 <- #64 DO ,1 SUB #6 <- #194 DO ,1 SUB #7 <- #48 PLEASE DO ,1 SUB #8 <- #22 DO ,1 SUB #9 <- #248 DO ,1 SUB #10 <- #168 DO ,1 SUB #11 <- #24 DO ,1 SUB #12 <- #16 DO ,1 SUB #13 <- #162 PLEASE READ OUT ,1 PLEASE GIVE UP
#4- Whitespace
Whitespace diğerleri kadar eski bir programlama dili değil. 1 Nisan 2003 tarihinde yayınlanan bu programlama dilinin herkes büyük bir eşek şakası sanmıştı. Değildi. Sizin de muhtemelen tahmin edebileceğiniz gibi Whitespace programlama dili sadece boşluklardan oluşuyor.
Bu programın yorumcusu boşluk ve boşluk olmayan karakterlerden hareket etme gibi tuhaf bir yapıya sahip. Yani Whitespace ile yaşanan bir yerde bizim Yaşar Yaşamaz durumu… Hello World'ünü eklemiyorum, zaten eklesem de göremeyeceksiniz :D
#5- Chef
Chef, yemek tarifi gibi görünmesiyle meşhur bir programlama dili. Chef’in ana sayfasında yer verilen tasarlanma prensiplerine göre bu programlama dili;
- Program çıktıları her zaman doğrulanabilir olmayabilir ancak hazırlanması kolay ve lezzetlidir.
- Tarifler farklı bütçelerle uygulanabilir.
- Tarifler metrik olabilir ancak hazırlanırken geleneksel ölçü birimleri kullanılmalıdır. Bir su bardağı ondan bir yemek kaşığı şundan gibi…
Chef’in Hello World çıktısıysa şu şekilde görünüyor;
Ingredients.
72 g haricot beans
101 eggs
108 g lard
111 cups oil
32 zucchinis
119 ml water
114 g red salmon
100 g dijon mustard
33 potatoes
Method.
Put potatoes into the mixing bowl. Put dijon mustard into the mixing bowl. Put lard into the mixing bowl. Put red salmon into the mixing bowl. Put oil into the mixing bowl. Put water into the mixing bowl. Put zucchinis into the mixing bowl. Put oil into the mixing bowl. Put lard into the mixing bowl. Put lard into the mixing bowl. Put eggs into the mixing bowl. Put haricot beans into the mixing bowl. Liquefy contents of the mixing bowl. Pour contents of the mixing bowl into the baking dish.
Serves 1.
Listemizdeki programlama dilleri sadece tuhaf. Onlar, aynı zamanda öğrenilmesi en zor olanlar. Siz bunlardan birini öğrenmeye kalkacak olsaydınız tercihiniz hangisi olurdu?