Pisano’da Neden Clojure’u Seçtik?

Ertuğrul Çetin
Oct 17, 2019 · 3 min read

Clojure Hakkında

Clojure, Lisp’in bir türevi olan fonksiyonel programlama dilidir. JVM (Java Virtual Machine), CLR (Common Language Runtime) ve JavaScript platformlarında çalışabilmektedir.

Image for post
Image for post

Clojure Seçimi

Teknik ekipte sadece 2 kişi daha önceden Clojure tecrübesine sahipti. Radikal ve cesur bir kararla Dashboard’umuzu ClojureScript (Clojure’un JavaScript üstünde çalışan versiyonu) ile yeniden yazmaya karar verdik. Bu da ekibin sıfırdan yeni bir dil ve platform öğrenmesi demekti fakat biz bu riski aldık ve yola koyulduk.

Image for post
Image for post
Clojure’a geçiş sonrası junior programcıların ilk durumu :)

Takım Kurma Süreci

Tabii ki ilk etapta endişeler vardı, çünkü ekibin farklı bir paradigmayı öğrenmesi ve ardından production kodu geliştirmesi süreci söz konusuydu. Beklediğimden kısa sürede cengaver junior programcılarımız platformu ve dili hızlıca kucakladılar. Yazdıkça dili daha çok seviyorlar ve daha da fazla yazıyorlardı :) Tabii her şey ilk etapta idiomatic (o dile özgü modelde) kodlanmıyor.

Bu orta/uzun vadeli bir yatırımdı ve biz bunun çok farkındaydık. Gördük ki ekipteki arkadaşlar eski kodda geliştirme yapma konusunda pek istekli değillerdi. Sanıyorum her Clojure programcısı gibi dilin yalınlığı karşısında büyüleniyorlardı.

Türkiye’de hali hazırda Clojure bilen bulabilmek çok zor, tahminim bizlerle birlikte production’a kod yazmış 10 kişi ya vardır ya yoktur. Eğer bu platforma geçmeyi düşünecek olursanız ekibinizi eğitmeniz gerekecek ya da yurtdışından Clojure programcısı tutabilirsiniz.

Geri Dönüşler

Clojure’u niş veya vizyoner bir dil diye seçmedik, daha önceki projelerde çok ciddi zamansal ve üretkenlik avantajları sağladığı için Pisano’da da kullanmaya karar verdik. Enterprise bir ürün geliştirdiğimiz için bu avantajları kesinlikle göz ardı edemezdik.

Teknik Kazanımlar

Bir Sonraki Adım

Hali hazırda 2 servisimiz Clojure’da çalışıyor; Dashboard (ClojureScript), Event Analytics (Clojure). Bundan sonraki süreçte tüm servislerimizi Clojure’a geçirip tek bir dil kullanarak hem backend hem frontend’i daha optimize bir şekilde yönetmeyi hedefliyoruz.

Clojure’un bize sunduğu avantajlar işlerimizi son derece rahatlattı, özellikle Enterprise ürününüz olunca bu tarz etkilerin çıktıları çok net gözüküyor. Yazıyı sonlandırırken bizimle aynı kaderi paylaşıp Clojure’u kullanan birkaç ünlü firmanın bulunduğu ufak bir liste sunmak istiyorum.

Teşekkürler Muhammet S. AYDIN, Sabire Avcı, Burkay Durdu, Oguzhan Aydin, ergenekon yigit ve Alican Çelik.

Not: Clojure hakkında derinlemesine daha fazla bilgi sahibi olmak için bu yazımı okuyabilirsiniz.

Ertuğrul Çetin, Software Development Team Lead @Pisano

pisanoeng

Pisano Engineering

Medium is an open platform where 170 million readers come to find insightful and dynamic thinking. Here, expert and undiscovered voices alike dive into the heart of any topic and bring new ideas to the surface. Learn more

Follow the writers, publications, and topics that matter to you, and you’ll see them on your homepage and in your inbox. Explore

If you have a story to tell, knowledge to share, or a perspective to offer — welcome home. It’s easy and free to post your thinking on any topic. Write on Medium

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store