HeadlinesBriefing HeadlinesBriefing.com

C भाषा में अनिर्दिष्ट व्यवहार को कम करना

Hacker News •
×

हम मार्केटिंग में बुरे हैं — हम स्वीकार करते हैं। हमारी ताकत उन लेखों को लिखने में है जिन पर डेवलपर्स, प्रशासक और फ्री-सॉफ्टवेयर समर्थक इस बात को जानने के लिए निर्भर करते हैं कि Linux दुनिया में क्या हो रहा है। कृपया आज ही सदस्यता लें ताकि हम उसी तरह जारी रख सकें, और इसलिए कि हमें मार्केटिंग में अच्छा होने की जरूरत न पड़े।

बायोमेडिकल इंजीनियरिंग के एक प्रोफेसर के रूप में, मार्टिन उएकर शायद Kernel Recipes के एक सामान्य प्रस्तुतकर्ता के प्रोफाइल से फिट नहीं बैठते। हालाँकि, वे एक लंबे समय से Linux उपयोगकर्ता हैं, और चुंबकीय अनुनाद इमेजिंग (MRI) स्कैनरों को नियंत्रित करने के लिए फ्री सॉफ्टवेयर पर काम करते हैं। वे C प्रोग्रामिंग भाषा, C में अनिर्दिष्ट व्यवहार की विशिष्ट समस्या, और क्या इसे अंततः एक मेमोरी-सुरक्षित भाषा बनाया जा सकता है, इसके बारे में बात करने के लिए सम्मेलन में थे।

2026 में C के साथ क्यों परेशान हों? उन्होंने कहा, यह अभी भी एक महान भाषा है। C पोर्टेबल है, दीर्घकालिक रूप से स्थिर है, तेज़ कंपाइलेशन प्रदान करता है, और परिणामी बाइनरी कोड तेज़ है। "जो आप देखते हैं वही पाते हैं"; C कोड को देखना आसान है और यह समझना कि कंप्यूटर वास्तव में क्या करेगा। भाषा के साथ काम करने के लिए बहुत सारे टूल्स हैं, और C को आवश्यक होने पर रास्ता छोड़ देता है।

C की एक लंबी इतिहास है, और इससे आज हम जैसे भाषा को देखते हैं, उस पर प्रभाव पड़ता है, उन्होंने कहा। C89 मानक को हार्डवेयर की एक विस्तृत विविधता से निपटना पड़ा, जिसमें साइन-मैग्निट्यूड या वन-कम्प्लीमेंट पूर्णांक निरूपण, खंडित मेमोरी, विचित्र पॉइंटर निरूपण, और प्रकारों के आश्चर्यजनक आकार शामिल थे। कुछ Honeywell मशीनों, उदाहरण के लिए, नौ-बिट बाइट्स थे। इसने पोर्टेबल कोड लिखने को सक्षम बनाने वाले एक मानक लिखने की कार्य को बहुत जटिल बना दिया। लिए गया दृष्टिकोण भाषा के अमूर्त मशीन के संदर्भ में उसकी अर्थशास्त्र को परिभाषित करना था। सभी संचालन ऐसे ही किए जाने चाहिए जैसे वे उस अमूर्त मशीन पर चले हों, जो वास्तविक हार्डवेयर से बिल्कुल मेल न खाता हो। प्रोग्राम का प्रेक्षणीय व्यवहार वही होना चाहिए जो अमूर्त मशीन करता।

स्रोत: Hacker News · HeadlinesBriefing द्वारा सारांशित