-
C’deki bariz iyileştirmeler
- C23 standardı: C dili düzenli olarak geliştiriliyor ve şu anda C23’e ulaştı. Ancak hâlâ çözülmemiş sorunlar var.
- Dlang topluluğunun çabası: D programlama dili derleyicisine bir C derleyicisi olan ImportC’yi gömerek bu sorunları çözmek için bir fırsat sunuyor.
-
Sabit ifade değerlendirmesi
- Sorun: C, derleme zamanında basit ifadeleri hesaplayabiliyor ancak fonksiyon çalıştırmak mümkün değil.
- ImportC’nin çözümü: ImportC, derleme zamanında fonksiyon çalıştırılmasına izin vererek bu sınırlamayı aşıyor.
-
Derleme zamanı birim testleri
- C’deki sorun: C kodunda birim testleri ayrı bir build hedefi gerektirdiği için zahmetli.
- ImportC’nin avantajı: ImportC, derleme zamanında fonksiyon değerlendirmesi sayesinde birim testlerinin kolayca çalıştırılmasını sağlıyor.
-
Bildirimlerin ileri referansı
- C’nin kısıtı: C, bildirimlerin sırasına duyarlıdır ve ileri referansa izin vermez.
- ImportC’nin avantajı: ImportC, bildirim sırasına bağlı değildir ve global bildirimlere herhangi bir sırayla izin verir.
-
Bildirim içe aktarma
- Mevcut yöntemin sorunu: Her harici modül için .h dosyası yazma zahmeti vardır.
- ImportC’nin çözümü: ImportC, .h dosyaları olmadan da bildirimleri içe aktarabildiği için verimlidir.
-
Referans materyalleri
- ImportC belgeleri: ImportC hakkında ayrıntılı bilgi sunar.
- D dili belgeleri: D dili hakkında ek bilgi sunar.
1 yorum
Hacker News görüşleri
C dilinde header dosyaları kamusal ve kamusal olmayan kısımları, arayüz ile implementasyonu net biçimde ayırabildiği için iyi.
.hdosyaları sayesinde bir kütüphanenin nasıl kullanılacağını kolayca anlamak mümkün.hdosyalarında yoğunlaştığı için.cdosyalarından farklı görünüyor.cdosyalarına da konabilir, ancak bu arayüzü okumayı zorlaştırırC dilinde fonksiyonların derleme zamanında çalıştırılabilmesi gerektiği yönünde bir görüş var, ancak çalışma süresi uzun olan fonksiyonlar sorun yaratabilir
busybeaverfonksiyonu veriliyorSabit ifade değerlendirmesi, derleme zamanı unit testleri, bildirimlerin ileri referansı ve bildirim içe aktarma gibi sorunlara nasıl çözüm bulunacağı merak ediliyor
C kodu için unit test yazmak, iyi bir build sistemi ve biraz boilerplate ile mümkün
npykütüphanesinin test kodu veriliyorSabit ifade değerlendirmesi karmaşıklaştığında derleyici hızı düşebilir ve bir VM gerekebilir
Derleme zamanı unit testleri geliştiricinin kontrolünü elinden alır ve işi tamamlamak için gereksiz prosedürler dayatır
Fonksiyon tanımlarını "yukarıdan aşağıya" yapmanın daha iyi olup olmadığı tartışılıyor
C diline eklenmesi istenen özellikler
deferbenzeri bir özelliğin standartlaştırılmasıC'nin basit implementasyonu bir avantaj ve kapsamını büyük ölçüde genişletmek iyi bir fikir değil
Fonksiyon tanımlarını yukarıdan aşağıya yapmanın daha iyi olmasının nedenleri