2 puan yazan GN⁺ 2023-07-01 | 2 yorum | WhatsApp'ta paylaş
  • Zig projesinde LLVM, Clang ve LLD kütüphanelerinin kaldırılması öneriliyor.
  • Zig, kendi optimizasyon geçişlerine sahip olacak ve çip üreticilerinden araştırma projeleri ile katkılar çekmeyi planlıyor.
  • Zig'de C++, Objective-C ve Objective-C++ derleme yeteneklerinin kaldırılması
  • Zig tarafından üretilen makine kodu yakın gelecekte daha az rekabetçi olabilir, ancak uzun vadede LLVM ve GCC'yi yakalayabilir veya aşabilir.
  • LLVM'yi kaldırmanın faydaları arasında hata sahipliği, daha kolay build ve bootstrapping, daha hızlı derleme hızları ve özel optimizasyon geçişleri uygulayabilme yer alıyor.
  • C++ derlemeye bağımlı projeler üzerindeki etki ve Zig'in benimsenme oranının düşebileceğine dair endişeler dile getirildi.
  • DirectXShaderCompiler ve Apple'ın Metal shader derleyicisine olan bağımlılığın kaldırılması zor olabilir.
  • Uzun vadede saf Zig çözümüne geçiş hedefleniyor.
  • Bazı kullanıcılar oyun geliştirme deneyimi ile mevcut C++ kütüphaneleri ve araçlarının kullanımına etkisi konusunda endişe duyuyor.
  • Zig'in sadeliği ve çapraz platform yetenekleri övülüyor.
  • LLVM backend'inin varsayılan olarak korunması veya LLVM IR alt dönüşümü kaldırılırken C dili ailesi desteğinin sürdürülmesi yönünde öneriler sunuldu.
  • Kullanıcılar, Zig'in C/C++ kodunu sorunsuz derleyip yüksek performanslı ikili dosyalar üretebilme yeteneğinin önemini vurguluyor.
  • Mevcut kütüphanelerin olası kaybı ve JIT derleme için alternatif gereksinimi tartışıldı.
  • Öneri, kullanıcılar açısından tamamen olumsuz bir etki ve potansiyel bir yemleme olarak algılanıyor.
  • Çapraz derleme ve mevcut kütüphanelerle entegrasyon için Zig'in yeteneklerinin korunmasının önemi vurgulanıyor.
  • LLVM ve LLD bağımlılıkları kaldırılırken clang'in isteğe bağlı bağımlılık olarak tutulması önerildi.
  • Performans üzerindeki etki ve LLVM yerine geçecek bir çözümün uygulanabilirliği konusunda endişeler dile getirildi.
  • Oyun geliştirme ve diğer projeler için C++ derleme desteğinin önemi vurgulanıyor.
  • Zig'in zaman içinde LLVM'nin yeteneklerinin yerini alabileceği ihtimali dile getirildi.
  • Makul performans garantisi ihtiyacı ve optimizasyon olanaklarının potansiyel kaybı tartışıldı.
  • ImGui ve Tracy gibi belirli kütüphane ve araçlar üzerindeki etkiden söz edildi.
  • Zig'in araç zincirinden LLVM'nin kaldırılması önerisi, Zig topluluğunda bölünmeye yol açabilir.
  • Bazı kullanıcılar geçişten kaçınmak için Zig'in eski sürümlerini kullanabilir.
  • LLVM'yi sürdürmenin zorlukları ve sınırlamaları var.
  • Zig derleyicisi için bir eklenti sistemi uzun vadeli çözüm olabilir.
  • Zig programlarının diğer platformlar ve dillere derlenmesi yine de desteklenebilir.
  • Zig'in benzersiz özelliği olan Zig cc, ayrı bir proje olarak gelişmeye devam edebilir.
  • Öneri hakkında henüz nihai bir karar verilmedi.
  • LLVM'nin kaldırılmasına dair tartışma sosyal medyada yayılıyor.
  • Zig cc toplulukta yüksek takdir görüyor ve diğer araç zincirlerine kıyasla avantajlar sunuyor.
  • Zig cc'yi Clang olmadan sürdürmek mümkün olabilir.
  • Clang'i paketleyen ayrı bir proje, Zig'i kullanarak C++ kodu build etme yönündeki mevcut kullanım senaryolarını destekleyebilir.
  • Ayrı araçlara bölme veya Zig cc'yi sürdürmek için bakımcı istihdam etme, olası çözümler arasında.
  • Kaldırılan özelliklere bağımlı kod tabanları için geçiş araçları geliştirilebilir.
  • Yakın zamanda bir yazılım mühendisi, daha hızlı derleme süreleri sunan yerel kod üreteci kullanan güncel bir GHC sürümüne projesini taşıdı.
  • Silk.NET projesi, yerel kütüphaneler için yeniden üretilebilir build ortamı sağlamak amacıyla zig cc ve zig c++ kullanıyor; bu da kolay çapraz derleme ve yerel kurulum imkânı veriyor.
  • Bir yazılım mühendisi, kişisel projelerinde zig cc ve zig c++ kullanarak kütüphanelerin kolay çapraz derlenmesini ve tek bir build.zig yapılandırmasını mümkün kılıyor.
  • Intel C/C++ derleyicisi, daha hızlı derleme süreleri, daha iyi optimizasyon ve GPU ile FPGA offloading desteği sunmak için LLVM entegrasyonunu tamamladı.
  • Zig'in LLVM kısmını topluluk tarafından sürdürülen ayrı bir projeye taşıma önerisi karışık tepkiler aldı.
  • Bazı kullanıcılar Zig'den C++ desteğinin kaldırılması konusunda endişelerini dile getirirken, diğerleri bu desteğin maliyetli olduğunu ve bütçede yer almadığını savunuyor.
  • Zig ekibi, C++ desteğine önem veren kişilerin bu özelliği desteklemek için maddi veya zaman açısından katkı sunmayı düşünmesi gerektiğini öne sürüyor.
  • Bazı kullanıcılar, LLVM'nin kaldırılmasının uzun vadeli faydalar getirebileceğini ancak C++ ve Obj-C(++) desteğinin tamamen kaldırılması konusunda endişeli olduklarını belirtiyor.
  • Zig derleyicisini daha küçük ve hafif bir ikili dosyaya indirip LLVM özelliklerini eklenti olarak sunma önerisi var.

2 yorum

 
alstjr7375 2023-07-02

LLVM kadar optimizasyon veya platform desteği mümkün olur mu..

 
GN⁺ 2023-07-01
Hacker News görüşleri
  • Zig geliştirme ekibi, LLVM bağımlılığını kaldırmayı değerlendiriyor
  • Bazı kişiler, LLVM'den böyle bir geçişin Zig ekibinin odağını Zig'in kendisinden uzaklaştıracağından endişe ediyor
  • Diğerleri, Zig içinde LLVM'in bazı kısımlarını yeniden yazmanın havalı ve iddialı bir proje olabileceğine inanıyor
  • Zig'in LLVM'e bağımlı olmaması durumunda kod üretimi ve bootstrap süreciyle ilgili endişeler var
  • Bazı kişiler, LLVM'i kaldırmanın aceleci bir karar olduğunu ve Zig'in platform desteğini sınırlayabileceğini düşünüyor
  • Bir yorumcu, önerinin iş yükünü küçümsediğini ve LLVM üzerinde yapılan çalışmaları göz ardı ettiğini söyleyerek eleştiriyor
  • LLVM'i kaldırmanın bedelleri arasında C++ uyumluluğunun kaybı ve olası performans kaybı yer alıyor
  • Bazı kullanıcılar, belirli mimarilere verilen desteğin kesilmesinin Zig'in popülerliğini etkileyeceğinden endişe ediyor
  • Bir yorumcu, Zig'in popülerliğinin kısmen C/C++ uyumluluğu ve kolay kuruluma dayandığını belirtiyor
  • Zig'in debug build'lerde özel bir bytecode kullanması ve release build'lerde hâlâ LLVM'e dayanması öneriliyor
  • D dili, farklı backend'lere sahip birden çok derleyiciye sahip ve kullanıcılar bu seçeneği takdir ediyor
  • Zig'in toolchain'i beğeniliyor ve Zig cc ile Zig c++'ı kaldırmak dil kullanıcılarını tereddütte bırakabilir
  • Bazı yorumcular, C++ özelliklerini kaldırma kararının Zig'in gelecekteki başarısına zarar verebileceğine inanıyor.