"Elixir'e Geçiş"
(leemeichin.com)Elixir'e Geçiş
- Yeni iş yerinde ana backend dili olarak Elixir kullanılıyor.
- Elixir veya Erlang deneyimi yoktu, ancak Ruby'ye benzer sözdizimi sayesinde kolayca öğrenildi.
- Nesne yönelimli dillerdeki durum yönetimi sorunlarından kaçınıp, değişmezlik ve fonksiyonel programlamanın avantajlarından yararlanılıyor.
Elixir'in Avantajları
- Değiştirilebilir duruma sahip kodun bakımı zordur.
- Elixir, Ruby gibi DSL'leri destekler ancak çalışma zamanında kod üretmek yerine derleme zamanlı makrolar kullanır.
- Test yazmadan bile makro kullanım hataları derleme zamanında fark edilebilir.
Sözdizimi ve İfadeler
- Elixir'in pipeline sözdizimi beğeniliyor, ancak Clojure'un 'threading' operatörü tercih ediliyor.
- 'with' ifadesi sayesinde karmaşık fonksiyonlar başarı yolu ve hata işleme bölümlerine ayrılabilir.
İstisna İşleme
- Ruby'de istisnaları kontrol akışı için kullanmak yaygındır.
- Elixir'de istisnalar yerine Result / Either monadı kullanılarak dönüş değeri olarak ok ve error kullanılır.
GN⁺ Görüşü
Bu yazıdaki en önemli nokta, Elixir dilinin sunduğu programlama keyfi ve bakım kolaylığıdır. Nesne yönelimli dillerdeki karmaşık durum yönetimi sorunlarını çözmesi ve değişmezlik ile fonksiyonel programlama sayesinde kodun kararlılığını ve okunabilirliğini artırması dikkat çekici. Özellikle derleme zamanında hataları tespit edebilen makro sistemi, geliştiricilere daha güvenli bir kod yazma ortamı sunuyor. Bu özellikler, başlangıç seviyesindeki yazılım mühendislerinin bile Elixir öğrenmeye ilgi duymasını sağlayabilir.
1 yorum
Hacker News görüşleri
Elixir diline olan ilgi son birkaç haftada YouTube videoları sayesinde arttı.
Elixir/Erlang’ın başlıca avantajlarından biri olarak arka plan işlerinin kolaylığı vurgulanıyor.
Sasa Juric’in "The Soul of Erlang and Elixir" konuşması üzerinden dilin gücü vurgulanıyor.
1991’den beri Erlang kullanan bir deneyim paylaşılıyor.
Elixir öğrenmenin ve kullanmanın keyif verdiği, BEAM/OTP’nin sadeliği ve işlevselliğinden memnuniyet duyulduğu belirtiliyor.
Elixir’nin avantajları arasında Ruby benzeri eğlenceli yapısı ile nesne yönelimli programlamanın dezavantajlarını ortadan kaldıran değişmezlik ve fonksiyonel özellikleri öne çıkarılıyor.
Ruby’de exception’ların kontrol akışı için kullanıldığı yönündeki yanlış anlaşılmaya dikkat çekiliyor.
Bir F# kullanıcısı olarak Elixir’nin kafa karıştırıcı olduğu ifade ediliyor.
Elixir kullanma deneyiminde, öğrenmesinin kolay olduğu; pattern matching ve değişmez verinin avantajları vurgulanıyor.
Yeni teknolojilere yönelik erken aşama iyimserliğine karşı uyarıda bulunuluyor.