Makale Özeti

Fonksiyonel programlama bir programın tamamen fonksiyonlardan oluşmasını öngören programlama yöntemidir. Microsoft'un fonksiyonel programlama alanındaki çözümü ise nesneye yönelik programlamanın kararlılığını ve kütüphanelerini, fonksiyonel programlamanın kabiliyeti, üreticiliği ve güçlü kod yapısı ile birleştiren, F Sharp dır.

Makale

F Sharp (fonksiyonel programlama)

Fonksiyonel programlama bir programın tamamen fonksiyonlardan oluşmasını öngören programlama yöntemidir.

Fonksiyonel Programlama adının konulmasının sebebi tamamen fonksiyonlardan oluşan bir program olmasıdır.Fonksiyonel programlamlar kendi sonucunu hesaplamaktan başka bir etki üretmez.

Fonkiyonel programlar, atama deyimleri içermedigi gibi değişkenlere verilen bir değer bir daha değiştirilemez.Bir fonksiyonun kendi sonucunu çıkarmaktan başka bir yan etkisi yoktur demiştik.Bu bir çok bug in oluşmasını engelledigi gibi,hiç bir yan etkinin önceden tanımlanmoş deyimlerin değerini değiştirememesini ve fonksiyonların istenilen her hangi bir zamanda çalıştırılmasını sağlar ve sıralı işlem mantığınında dışında kalır. Fonksiyonel programlarin en iyi örnekleri, MATLAB, OCaml ve ML dir.

Microsoft'un fonksiyonel programlama alanındaki çözümü ise nesneye yönelik programlamanın kararlılığını ve kütüphanelerini, fonksiyonel programlamanın kabiliyeti, üreticiliği ve güçlü kod yapısı ile birleştiren, F Sharp dir.

 

F Sharp, .Net framework'e altyapi olmasi için tüm .Net dilleri ile beraber çalisacak sekilde Microsoft tarafindan gelistirilen fonksiyonel programlama dilidir.Örnegin C# ile F# birbirlerini direk çağırabilirler.Bu demek oluyorki F#, Windows Presentation Foundation ve DirectX gibi tüm .Net Api'lerine ulaşabilmektedir.Benzer olarak F# tarafından geliştirilen kütüphaneler diğer .Net dilleri tarafındanda kullanılabilir.

Daha sonraki makalelerimizde F# i derinlemesine incelemek üzere simdilik sadece F# in kurulum ve arayüzleri inceleyip bir kaç deneme yapmak üzere alt yapiyi hazirlayalim.

F# hakkında daha geniş bilgi ve döküman bulabileceğimiz Microsoft Research sitesinden bu linke tiklayarak F# in en son sürümünün kurulumunu indirip yüklemeye baslayabiliriz.F# in çalistirabilmesi için bilgisayarinizda .Net framework 2.0 veya daha üstünün yüklü olmasi gerekmektedir."F# Interactive" F# in derlenmesi için kullanilan konut satiridir.Bunun yaninda Visual Studio içinden de çesitli samplelar ve intellisense ile desteklenerek F# derlenebilinmektedir.Onun için size C# için Visual Studio 2008 in express sürümünüde indirip kurmanızı tavsiye ederim.

Gerekli kurulumları yaptıktan sonra başlat menüsüne Microsoft Research F# 1.9.3.14 diye bir alt dizinin geldiğini göreceksiniz.Buradan "F# Interactive (console)" i tıklayarak F#'i açalım.Gördüğünüz gibi karşımızda konsol çıkmıştır ve F# programlarımızı bu pencereden yazmaktayız.Burada ;

 

 let x = 5 ;

 

yazarak ilk değişkeninizi tanımlayabilirsiniz.Visual Studio'nun bir çok kolaylık sağladığından bahsetmiştim.Bunuda inceliyecek olursak, daha önce F#'i açmak için kullandığıimiz kısa yolun altındaki "F# Interactive (Visual Studio)" i tıklarsaniz karşınıza bir yardım dosyasının çıkmış olduğunu göreceksiniz.

Burda anlatılanları özetlersek, "F# Interactive" i Visual Studio içinde araç penceresi olarak kullanabileceğimizden bahsediyor.F# i yüklediğimiz için bu otomatik olarak Visual Studio nun içine entegre olmuştur."F# Interactive" i aktifleştirmek için Visual Studio menülerinden "Tools->AddIn Manager" dan F# in seçili olduğundan emin olun.(Eger "F# Interactive for Visual Studio" listenmiyorsa tekrar yüklemeyi deneyin) "File->New->Project" yolunu izleyerek "New Project" penceresinden "Other Project Types " altında "F# Projects" seçip aşağıdan isim vererek yeni F# projemizi açalım.İlk başta ekrana herhangi bir şey gelmemektedir.Sağ taraftaki "Solution Explorer" (eğer yoksa View altından Solution Explorer'i tıklayarak açabilirsiniz)da uygulamamızın adına sağ tıklayarak "Add->New Item dedikten sonra karşımıza çıkan seçeneklerden şimdilik "F# Source File" i seçelim.

Karşımıza bir çok kod ve açıklamalar gelmektedir.Burda yazılan kodları oldugu gibi değil de "F# Interactive Tool Window" da çalıştıracağız.Onun için şimdi "Alt+Enter" tuş kombinasyonu ile "F# Interactive" i açalım. Kodlarımızı, bu komut penceresinin emulasyonu olan bu pencerede çalıştıracağız.Öncelikle daha rahat bir çalısma ortamı için bu pencereyi bir yere konumlardırın.(en alta iyi gidiyor). Yukarıda komut pencerisi için yazmış olduğumuz tanımlamayı burda da denersek çalıştığını göreceksiniz(kodlari çalıştırırken komut satırında her satır sonunu mutlaka çift notkali-virgül ile bitirken Visual Studio da otomatik olarak konulmakta.). Projemize yeni bileşen eklerken "F# Source File" yerine diğer seçenekleri seçerseniz hepsinin farklı bir şey anlattığını göreceksiniz.Buradaki kodları çalıştırabilmek için işlenmesini istediğiniz kodları seçim haline getirerek "Alt+Enter" tuş kombinasyonlari ile veya kopyala-yapıştır ile komut satırı emülasyonuna yapıştırarak çalışmasını sağlayabilirsiniz.

Genel olarak bu makalemizde fonksiyonel programlamanın ne olduğundan, F# in ne olduğundan ve temel kurulumlardan bahsettik.

 

Ö. Faruk Terzioglu , Trabzon

 

Kaynaklar ;

Microsoft Research

Fonksiyonel Gezegen

Wikipedia

F # Manual

 

www.farukterzioglu.com