Erlang/OTP 29.0
(erlang.org)- SSH daemon varsayılan olarak shell ve exec servislerini devre dışı bırakıyor; böylece açıkça yapılandırılmadığı sürece kimliği doğrulanmış kullanıcılar rastgele Erlang kodu çalıştıramıyor
- SSH daemon başlatılırken SFTP subsystem da artık varsayılan olarak etkinleştirilmiyor; böylece güvenli varsayılanlar güçlendirilmiş oluyor
-unsafeözniteliği eklendi; bu sayede güvensiz işlevler işaretlenebiliyor ve derleyici, Erlang/OTP'de her zaman güvensiz olduğu bilinen işlev çağrıları için varsayılan olarak uyarı üretiyorxref, güvensiz işlev çağrılarını ve dokümantasyonu olmayan işlevleri bulabiliyor;ignore_xrefözniteliği filtrelemesi de artıkxreftarafından doğrudan işleniyor- SSL varsayılan ayarlarında x25519mlkem768 en çok tercih edilen anahtar değişim grubu oldu; SSH varsayılan anahtar değişim algoritması da ML-KEM-768 ile X25519'u birleştiren
mlkem768x25519-sha256olarak değiştirildi - Erlang sisteminin varsayılan kod yolunda geçerli çalışma dizini
.ilk sıradan son sıraya taşındı; böylece yükleme sırası değişti - Windows için 32-bit Erlang/OTP build artık sunulmuyor
- EEP-79 kapsamındaki native records hayata geçirildi ve Erlang/OTP 29'da deneysel özellik olarak kabul ediliyor
is_integer/3guard BIF, EEP 78 tabanlı çok değerli comprehension vecompr_assignözelliğiyle comprehension içi değişken bağlama eklendi- Derleyici;
catch, alt ifadelerin dışına değişken aktarma,and/orve{a,B} = {X,Y}gibi match alias pattern'ler için varsayılan uyarılar ekliyor ve her biri için devre dışı bırakma seçeneği sunuyor - Eski guard test'leri Erlang/OTP 30 ile dilden kaldırılacak; mevcut obsolete guard kullanım uyarıları uygulanmaya devam ediyor
io_ansiile terminale ANSI/Virtual Terminal Sequence çıktısı verilebiliyor vect_doctestile Erlang modül dokümantasyonu ile dokümantasyon dosyalarındaki örnekler test edilebiliyor
1 yorum
Hacker News görüşleri
İyileştirmeler oldukça iyi görünüyor. SSH daemon’ının varsayılan olarak devre dışı bırakılması ve SFTP’nin de varsayılan olarak kapatılması güvenlik açısından iyi bir değişiklik.
io_ansi modülü de oldukça hoş görünüyor. Şu anda Erlang, karmaşık komut satırı uygulamaları oluşturma konusunda pek öne çıkan bir dil değil ama bunun standart kütüphaneye girmesi gelecekte büyük fayda sağlayabilir.
fwrite’ın düğümler arasında doğal şekilde çalışması da Erlang’dan beklenen tam o avantaj.Native Records eklenmesi de ilginç. Şu anda Elixir’de duruma göre record, tuple ve map’in karışık kullanıldığı hissi var; bunun ileride nasıl kullanılacağını merak ediyorum. EEP’de dendiği gibi mevcut record’lar tamamen kaldırılmayacaktır ama önemli bir iyileştirme gibi görünüyor.
https://www.erlang.org/doc/apps/ssh/ssh.html
https://www.erlang.org/docs/29/apps/stdlib/io_ansi.html
https://github.com/erlang/eep/pull/81
SSH daemon’ında artık shell ve exec servisleri varsayılan olarak devre dışı; böylece secure by default ilkesine uyuyor. Açıkça yapılandırılmadığı sürece kimliği doğrulanmış kullanıcıların rastgele Erlang kodu çalıştırması engelleniyor.
SFTP alt sistemi de SSH daemon’ı başlatılırken artık varsayılan olarak etkinleştirilmiyor.
Erlang/OTP’deki OTP’nin ne olduğunu merak edenler için: bu aslında telekomünikasyon alanı için yüksek güvenilirlikli, hata toleranslı uygulamaları standartlaştırılmış şekilde geliştirmeyi sağlayan bir kütüphane ve ilkeler bütünü.
Temel fikir için “OTP Design Principles” giriş bölümünü kısaca okumaya değer.
https://www.erlang.org/doc/system/design_principles.html
Production uygulamanız 29’un altındaysa, mümkün olan en kısa sürede bu sürüme ya da en güncel patch sürümüne güncellemek iyi olabilir. Az önce production’a dağıttım ve otomatik güvenlik taramasında 2026 Şubat-Mayıs tarihli 2 CRITICAL CVE ile birkaç HIGH risk maddesi yakalandı.
Hâlâ yeni projelerde Erlang kullanan var mı diye merak ediyorum.
Burada Elixir seven çok kişi olduğunu biliyorum ama saf Erlang’dan bahsediyorum.
Hâlâ Erlang kullanıyorsanız, Elixir yerine tercih etme sebebiniz ne?
Elixir bana Erlang’a kıyasla somut bir avantaj sağlamıyor. Elbette avantajları olabilir ama Erlang benim düşünme biçimime daha iyi uyuyor. Öğrenmeyi ya da yardım almayı biraz sosyal bir topluluk gibi yapmak da isterdim ama bana uyan bir ortam pek bulamıyorum.
İç yapıyı biri açıklayabilir mi?
https://blog.stenmans.org/theBeamBook/
Record’ların ekosistemde nasıl konumlanacağını merak ediyorum.
İlginç. Elixir’nin bir gün map’leri native records olarak derlediği bir dünya olur mu diye merak ediyorum.
WhatsApp’ın hâlâ Erlang tabanlı olup olmadığını bilen var mı?
2010’ların başından beri Erlang kullanıyorlar ve o dönemde teknoloji dünyası, WhatsApp’ın yaklaşık 30 mühendistle 400 milyondan fazla aktif kullanıcıyı desteklediğini öğrenmişti.
O zamanlar oradaki mühendislerden birine ulaştım; ABD’de yaşadığım dönemde birkaç soruma e-postayla nazikçe cevap vermişti. Sonunda kahve de içtik ve hâlâ iletişimdeyiz.
Erlang’ın bugün de WhatsApp’ın önemli bir parçası olduğunu söyleyebilirim.
-unsafeözniteliği desteği de eklenmiş, tam Rust’a yeniden yazmak için ideal zaman /sErlang’ı kimlerin kullandığını gerçekten bilmiyorum. Rails kullandıktan sonra Phoenix denedim ama bir şeyler üretmek çok daha zordu.
Phoenix etrafındaki heyecanı anlayamıyorum.
Tek geliştirici için Rails muhtemelen en üretken web uygulaması sistemi. LLM’ler de Ruby on Rails kodunu çok iyi yazıyor. Python eğitim verisi çok daha büyük olsa da benim deneyimimde Django’dan çok daha iyi yazıyorlar.
Deneysel uygulamaları Rails ile yazıyorum, oturduğunda ise Go ile yeniden yazıyorum. Uygulamanın kapsamı belirsizken doğrudan Go ile yazmak çok daha fazla token harcatıyor ama Rails bu konuda çok verimli.
Artık React ya da Angular’a da gerek yok; Rails’te Hotwire, Go’da ise HTMX kullanıyorum.
Erlang forumunun kendisi bile Rails ile yazılmış Discourse kullanıyor.
Biraz daha geniş bir perspektiften bakmak iyi olabilir.
method_missinggibi şeylerle karşılaşıyorsun ve sistemin nasıl çalıştığını anlamaya daha fazla zaman harcıyorsun.Elixir/Phoenix bu açıdan daha açık; uzun vadeli bakımda, yani ilk haftadan sonra, çok daha rahat. Gizli durum yok,
ModuleName.method(params)’ın nereden geldiğini arayıp durman gerekmiyor ve o metodu çalıştırmak için bir şeyler kurmana da gerek yok; doğru argümanları vermen yeterli. Eksisi, hazır kullanılabilir paket ekosisteminin daha küçük olması.Ecto da fena değil.
Claude Code, Elixir kodunu gayet iyi yazıyor.
Şaşırtıcı ama LLM olsun ya da olmasın, insan zaten bildiği teknolojileri kullanırken daha üretken oluyor.