F# - Yeni bir dil

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.

 

Tags: ,

F#

Add comment




  Country flag

biuquote
  • Comment
  • Preview
Loading