1 puan yazan GN⁺ 5 시간 전 | 1 yorum | WhatsApp'ta paylaş
  • 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ı üretiyor
  • xref, güvensiz işlev çağrılarını ve dokümantasyonu olmayan işlevleri bulabiliyor; ignore_xref özniteliği filtrelemesi de artık xref tarafı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-sha256 olarak 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/3 guard BIF, EEP 78 tabanlı çok değerli comprehension ve compr_assign özelliğiyle comprehension içi değişken bağlama eklendi
  • Derleyici; catch, alt ifadelerin dışına değişken aktarma, and/or ve {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_ansi ile terminale ANSI/Virtual Terminal Sequence çıktısı verilebiliyor ve ct_doctest ile Erlang modül dokümantasyonu ile dokümantasyon dosyalarındaki örnekler test edilebiliyor

1 yorum

 
GN⁺ 5 시간 전
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’ının otomatik olarak etkinleştiğini veya başladığını sanmıyorum. İki ifadenin yazımı farklı ama anlamı, SSH daemon’ı başlatıldığında listelenen bileşenlerin varsayılan olarak başlatılmaması gibi görünüyor.
      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

    • OTP = Open Telecom Platform
  • 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ı.

    • Liste var mı?
  • 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?

    • Sadece bu yıl bile var. AtomVM tabanlı yeni bir IoT işi, Erlang ile yazılmış bir uygulama sunucusu ve üzerinde hâlâ çalıştığım bir TUI framework var.
      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?

  • Record’ların ekosistemde nasıl konumlanacağını merak ediyorum.

    • “Record’lar onlarca yıldır vardı zaten?” diyecektim ama değişiklik günlüğünü okudum.
      İ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ı?

    • Evet.
      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.
    • Code BEAM Europe 2025’te yaptıkları sunuma bakılırsa hâlâ büyük olasılıkla öyle: https://www.youtube.com/watch?v=tC435RGwRCI
    • Bunu doğrudan bilmiyorum ama 2019’da ayrıldım ve WhatsApp’ın herkese açık Erlang ile ilgili depoları hâlâ aktif. Bildiğim kadarıyla Erlang Meta geneline de yayılmış değil; dolayısıyla WhatsApp Erlang’dan uzaklaşmış olsaydı sonrasında Erlang üzerinde çalışmayı sürdürmeleri için pek neden kalmazdı.
    • Evet. Eski çalışanlarımdan biri şimdi orada çalışıyor.
    • Evet. Erlang kullanıyorlar ve Rust da giderek artıyor.
  • -unsafe özniteliği desteği de eklenmiş, tam Rust’a yeniden yazmak için ideal zaman /s

  • Erlang’ı 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.

    • 2016’dan beri tam zamanlı Elixir uygulamaları yazıyorum. Müşteriler çökme görmemekten çok memnun. Gerçekten de son 10 yılda production’a aldığım tüm uygulamalar %100 çalışma süresi yakaladı. Kontrolüm dışındaki donanım, işletim sistemi ve ağ arızaları hariç.
      Biraz daha geniş bir perspektiften bakmak iyi olabilir.
    • Rails’in Phoenix’ten daha hızlı olduğu yer, geliştirme hızı açısından bence en fazla ilk gün. Sonrasında örtük mantık, method_missing gibi ş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ı.
    • Ruby Discord’un ne kullandığını tahmin etmek ister misin?
    • Phoenix’in asıl ilgi çekici tarafı çoğunlukla OTP, channel’lar ve LiveView. Ama LiveView 2026’da benim tercih edeceğim bir seçenek olmazdı; o tür özelliklere ihtiyacın yoksa çekiciliği de azalabilir.
      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.
    • “Uygulamanın kapsamı belirsizken doğrudan Go ile yazmak çok daha fazla token harcatıyor ama Rails bu konuda çok verimli” demende mutlak bir ironi var. Bu kadar uzun yazıp sonunda kodu aslında kendinin yazmadığını da ortaya koymuş oluyorsun.