by Suat TUNCER
6. October 2006 10:20
Bir kaç ay evvel, web-i deryada ordan orya dolaşırken, yazılımuzmanın'dan gaz alıp ekşisözlük'te dem vurup kah msdn kah sourceforge dolaşıp, arada birde wikiye uğradığım bir esnada birden karşıma farklı bir dil çıktı, F#. Microsoft Research'den Don Syme'nin bir süredir üzerinde çalıştığı yeni bir dil, hemen # ifadesi aklımıza C#'ı getirmekte fakat C#'dan oldukça farklı bir dil yapısına sahip
Bu zamana kadar fonksiyonel dillerle pek ilgilenmemiştim F# hakkındaki ilk yazılanları okuyunca birden kod hücrelerimi bir heycan sardı, hızla okumaya devam ettim. F# isveç çakısı gibi bir dil, öncelikle fonksiyonel bir dil fakat aynı zamanda OOP yapısınıda destekliyor ve fonksiyonel bir dilin sağladığı tüm nimetler fazlasıyla mevcut,
Nedir bu nimetler diyecek olursak,
* tip/değişken belirtme ihtiyacının olmaması (isteyen belirte bilir),
* herşeyin fonksiyonlardan oluşması ve her bir fonksiyonun bir birinden bağımsız çalışabilmesi ( multi threading)
* Fonsiyonların kendini çağırabilmesi, uzar gider...
Bunların dışında birde F# ile gelen güzellikler varki buda onu diğer ML dillerden ayırıyor;
* Kendi kütüphanesiyle gelmesi,
* Derlenen kodun bir çıktısının olması, yani .exe bildiğin .exe (bir çok fonksiyonel dilde kodlar bir interperter yardımıyla çalıştırılıyor)
* Temel OCAML kütüphanesini desteklemesi,Yeri gelmişken belirteyim F# kısmen OCAML üzerine inşaedilmiştir.
* Birde işin en tatlı kısmı F# ın diğer dillerle, örneğin C# ile direk iç içe kullanılabilmesi buda .Net Framework kütüphanesinide direk kullanabilmesini sağlıyor, çokda güzel oluyor. Özellikle DB'den veriyi çekip karmaşık hesaplamlar yaparken tadına varabilirsiniz bunun
* Insanı () ve ; manyağı yapmayan bir sytanx'inin olmasıda ayrı güzel tabi :-)
ve bana herşeyin bir nesne olmadığını öğretti sağolsun OOP bakış açıma varklı bir vizyon kattı, F#'la tanışmam ile alışma serüvenimi fırsat buldukça not alamaya devam edeceğim.