-
C के स्पष्ट सुधार बिंदु
- C23 मानक: C भाषा में नियमित रूप से सुधार होते रहे हैं और यह अब C23 तक पहुँच चुकी है। फिर भी कुछ समस्याएँ अब भी अनसुलझी हैं।
- Dlang कम्युनिटी का प्रयास: D प्रोग्रामिंग भाषा के compiler में C compiler (ImportC) को एम्बेड करके इन समस्याओं को हल करने का एक अवसर दिया गया है।
-
स्थिर expression का मूल्यांकन
- समस्या: C compile time पर सरल expressions की गणना कर सकती है, लेकिन functions को execute नहीं कर सकती।
- ImportC का समाधान: ImportC compile time पर functions के execution की अनुमति देता है, जिससे यह सीमा दूर होती है।
-
compile time unit test
- C में समस्या: C कोड में unit test के लिए अलग build target चाहिए होता है, जिससे प्रक्रिया झंझटभरी हो जाती है।
- ImportC का लाभ: ImportC function evaluation के जरिए compile time पर unit test आसानी से चलाने योग्य बनाता है।
-
declarations का forward reference
- C की सीमा: C declarations के क्रम के प्रति संवेदनशील है और forward reference की अनुमति नहीं देती।
- ImportC का लाभ: ImportC declarations के क्रम से बंधा नहीं है और किसी भी क्रम में global declarations की अनुमति देता है।
-
declarations import करना
- मौजूदा तरीके की समस्या: हर external module के लिए .h file लिखनी पड़ती है, जो झंझटभरा है।
- ImportC का समाधान: ImportC .h file के बिना भी declarations import कर सकता है, इसलिए यह अधिक efficient है।
-
संदर्भ सामग्री
- ImportC दस्तावेज़: ImportC के बारे में विस्तृत जानकारी प्रदान करते हैं।
- D भाषा दस्तावेज़: D भाषा के बारे में अतिरिक्त जानकारी प्रदान करते हैं।
1 टिप्पणियां
Hacker News राय
C भाषा में header files का public और private, interface और implementation को साफ़ तौर पर अलग कर पाना अच्छा है।
.hfiles के ज़रिए library का उपयोग कैसे करना है, यह आसानी से समझा जा सकता है.hfiles में documentation केंद्रित होने से वे.cfiles से अलग दिखती हैं.cfiles में भी रखा जा सकता है, लेकिन इससे interface पढ़ना असुविधाजनक हो जाता हैकुछ लोगों का मानना है कि C भाषा में compile time पर functions चलाना संभव होना चाहिए, लेकिन जिन functions का execution time लंबा हो, वे समस्या बन सकते हैं
busybeaverfunction हैconstant expression evaluation, compile-time unit tests, declarations के forward reference, और declarations import करने जैसे मुद्दों के समाधान को लेकर जिज्ञासा है
C code के लिए unit tests लिखना एक अच्छे build system और थोड़े boilerplate के साथ संभव है
npylibrary का test code हैजब constant expression evaluation जटिल हो जाती है, तो compiler की speed धीमी पड़ सकती है और VM की ज़रूरत हो सकती है
compile-time unit tests developer के control को कम कर देते हैं और काम पूरा करने के लिए अनावश्यक प्रक्रियाएँ मांगते हैं
इस पर चर्चा कि function definitions को "top-down" तरीके से करना बेहतर है या नहीं
C भाषा में जो features जोड़े जाने चाहिए
deferजैसे feature का standardizationC का simple implementation उसकी ताकत है, और उसके दायरे को बहुत बड़ा बढ़ाना अच्छा विचार नहीं है
function definitions को ऊपर से नीचे लिखना बेहतर होने के कारण