5 Aralık 2013 Perşembe
Scala ile Fonksiyonel Programlama
Scala, yaklaşık 2 sene önce youtbe'da gezinirken videosunu izlediğim ve o andan itibaren bağlandığım bir programlama dili (https://www.youtube.com/watch?v=LH75sJAR0hc). Scala yaygın olarak kullanılan imperative sitil programlamanın dışında size fonksiyonel programlamada yapabilmenize olanak sağlayan bir dil. Scala dilini Martin Odersky (http://en.wikipedia.org/wiki/Martin_Odersky) geliştirmiş ve coursera sitesinde online olarak dili ve fonksiyonel programlamayı anlattığı "Functional Programming Principles in Scala" ve "Principles of Reactive Programming" mükemmel online dersler var. Scala dili jvm üzerinde çaılışyor ve java ile beraber çalıabiliyor. Yani java ile yazılmış kütüphaneleri scala içerisinden çaığırıp kullanabiliyoruz.
Scala, syntax olarak çok sade ve javaya göre daha expressive (anlamlı) bir yapıya sahip. Fonksiyonel programlama ile abstract fonksiyonlar yazabiliyor, var olan fonksiyonları beraber kullanarak komplike işlemleri gerçekleştiren fonksiyonlar oluşturabiliyorsunuz. Fonksiyonel programlamayı daha önce görmemiş bir programcı için bu başta karışık gelsede, birkez fonksiyonel programlamayı kavrayınca çok sade, anlamlı ve yeniden kullanılabilir kod blokları oluşturmak scala ile mümkün oluyor. Örneğin bir fonksiyonun sonunda başka bir fonksiyon döndürebiliyor, fonksiyon paremetre olarak başka bir fonksiyon alabiliyor. Bu kullanımı kavrandığında programcıya imperative sitilin sağlayamadığı bir güç sağlıyor.
Scala dilinin adı anladığım kadarıyla "scalable" kelimesinden geliyor. Çünkü dilin geliştiricisi Martin Odersky scala ile javaya göre, fonksiyonel programlama özelliklerinden dolayı, genişleyebilen sistemlerin geliştirilmesinin daha kolay olduğunu söylüyor. Bu doğru, çünkü scala fonksiyonel programlamanın yanında kolay genişlemeyi sağlayacak bileşenlere ve frameworklere sahip. Örneğin Akka (http://akka.io/) ile son derece eşzamanlı (concurrent) ve dağınık(distributed) sistemler geliştimek mümkün.
Scala ile ilgili daha fazla bilgiye http://www.scala-lang.org/ adresinden erişebilirsiniz.
Kaydol:
Kayıt Yorumları (Atom)
Hiç yorum yok:
Yorum Gönder