D dili derleyici sürümü 2.100

D programlama dilinin geliştiricileri, GNU/Linux, Windows, macOS ve FreeBSD sistemlerini destekleyen ana referans derleyici DMD 2.100.0'ın sürümünü sundu. Derleyici kodu ücretsiz BSL (Boost Yazılım Lisansı) kapsamında dağıtılır.

D statik olarak yazılmıştır, C/C++'ya benzer bir sözdizimine sahiptir ve derlenmiş dillerin performansını sağlarken dinamik dillerin geliştirme verimliliği ve güvenlik avantajlarından bazılarını da ödünç alır. Örneğin, ilişkisel diziler, tür çıkarımı, otomatik bellek yönetimi, paralel programlama, isteğe bağlı bir çöp toplayıcı, bir şablon sistemi, metaprogramlama bileşenleri, C kitaplıklarını kullanma yeteneği ve bazı C++ ve Objective-C kitaplıkları için destek sağlar.

Yeni sürümdeki değişiklikler arasında:

  • D1 şubesinde kullanılan eski tip operatör aşırı yüklemesine son verilmiştir. OpNeg, opAdd_r, opAddAssign vb.'nin yerini alır. opUnary, opBinary, opBinaryRight ve opOpAssign geldi. Eski tarz operatör aşırı yüklemesi 2019'da kullanımdan kaldırıldı ve 2.100 sürümünden itibaren bir hata oluşturacak.
  • Silme anahtar sözcüğü 2018'den beri kullanımdan kaldırılmıştır. Silmek yerine destroy veya core.memory.__delete fonksiyonunu kullanmalısınız.
  • Kodun istisnaları işleyemediği durumlarda (örneğin, @nogc bloklarında) hata işlemenin alternatif bir yöntemi olarak yapı ve birleşim türlerine uygulanabilecek yeni bir @mustuse özelliği uygulanmıştır. @mustuse özelliği ile işaretlenmiş bir ifade kodda kullanılmazsa derleyici hata üretecektir.
  • Statik diziler için, dizinin her bir öğesinin değer dizisini (lvalue) elde etmek için ".tupleof" özelliğinin kullanımına izin verilir. void foo(int, int, int) { /* … */ } int[3] ia = [1, 2, 3]; foo(ia.tupleof); // analog foo(1, 2, 3); kayan nokta[3] fa; fa.tupleof = ia.tupleof; // basit atama fa = ia bir hatayla sonuçlanır Assert(fa == [1F, 2F, 3F]);

Kaynak: opennet.ru

Yorum ekle