2010-11-05 19 views
5

द गो टॉक 200 पीडीएफ में यह बताने की एक टिप्पणी है कि वे जाने वाली भाषा के साथ क्यों आए:'सिस्टम भाषा' से इसका क्या अर्थ है?

 
No new major systems language in a decade. 

सिस्टम भाषा का अर्थ क्या है?

  • क्या यह ऐसी भाषा है जिसे देशी बाइनरी उत्पन्न करके लक्ष्य प्रणाली पर चलाना चाहिए?
  • क्या यह ऐसी भाषा है जो ऑपरेटिंग सिस्टम को अपने आप बना सकती है?

मैं देख सकता हूं कि सी #/जावा एक सिस्टम भाषा नहीं है, और सी/सी ++ है।

उत्तर

10

यह एक मोटा, अनौपचारिक भेद है, लेकिन विचार यह है कि प्रोग्रामर पर लक्षित "एप्लिकेशन प्रोग्रामिंग भाषाएं" हैं, जो प्रोग्रामर पर लक्षित प्रोग्रामर पर लक्षित प्रोग्रामर पर लक्षित हैं, जो अन्य प्रोग्रामर के लिए प्रोग्राम टूल्स (इस तरह के ऑपरेटिंग सिस्टम कर्नेल, डिवाइस ड्राइवर, आदि

संक्षेप में के रूप में compilers, आदि) और निम्न स्तर के सॉफ्टवेयर, सबसे अधिक (हाल ही में आविष्कार, वैसे भी) भाषाओं यह आसान विकसित करने के लिए बनाने के लिए तैयार कर रहे हैं उपयोगकर्ता-उन्मुख निपटने के लिए सॉफ्टवेयर कुछ गैर कंप्यूटिंग डोमेन --- वित्त, इंजीनियरिंग, आदि के साथ सिस्टम प्रोग्रामिंग भाषाएं हैं, जैसे कि सी, फोर्थ, गो, इत्यादि जो कंप्यूटिंग के डोमेन में प्रोग्रामिंग के लिए कम से कम उपयुक्त हैं।

ये अक्सर, लेकिन देशी कोड, ढीले प्रकार के सिस्टम को संकलित करने की सुविधा नहीं देते हैं, जो पॉइंटर्स या समकक्ष निर्माण के माध्यम से विस्तृत "पनिंग" और अप्रबंधित स्मृति पहुंच की अनुमति देते हैं।

+0

मुझे निश्चित रूप से नहीं पता कि अप्रबंधित स्मृति यहां एक सुविधा क्यों होनी चाहिए। आप स्मृति और पॉइंटर्स प्रबंधित कर सकते हैं। –

+1

@ मैथ्यूयू एम .: दाएं, लेकिन मुख्य विशेषता यहां अप्रबंधित स्मृति पहुंच थी, पॉइंटर्स नहीं। डिवाइस ड्राइवर, ओएस कर्नेल इत्यादि सोचें .--- किसी बिंदु पर आपको मनमाने ढंग से स्मृति स्थानों को पढ़ने और लिखने की क्षमता की आवश्यकता होती है। इसके अतिरिक्त, किसी भी मेमोरी-प्रबंधित भाषा पॉइंटर्स (यानी एक अंकगणित-सक्षम प्रकार मेमोरी स्थानों का प्रतिनिधित्व करने) की अनुमति देगी, इसमें कुछ प्रमुख रन-टाइम चेक लगाए जाएंगे, जो कि "पॉइंटर्स" के बारे में सोचते समय ज्यादातर लोग सोचते हैं। –

3

Look here? क्षमा करें अगर यह एक फेंकने वाला लिंक के रूप में आता है, लेकिन वास्तव में यह सब आपको चाहिए। जब तक आप कुछ और विशिष्ट नहीं मांग रहे हैं।

एक कारण सी # निश्चित रूप से एक सिस्टम भाषा नहीं है .NET पर इसकी निर्भरता है।

+0

क्या होगा यदि [एक "सिस्टम प्रोग्रामिंग" सबसेट] .NET कर्नेल का हिस्सा था (बस एक और बूट-स्ट्रैप चरण)? ;-) इसके अलावा, तकनीकी रूप से, सी # की आवश्यकता नहीं है .NET (सी # केवल एक भाषा विनिर्देश है: वीएस/.NET एक कार्यान्वयन है - उपयोगी पुस्तकालयों सहित - और मोनो एक प्रतिस्पर्धी कंपाइलर/रन-टाइम है)। –

+0

हाँ दोनों अच्छे अंक –

संबंधित मुद्दे