2009-03-11 18 views
6

चार्ल्स सिमोनी ने कार्यान्वयन को सौंपते समय, एक सुपर डुपर uber प्रोग्रामर को शीर्ष-स्तर के कार्यों को लिखकर वास्तव में बड़ी सॉफ्टवेयर टीमों का आयोजन करना शुरू किया। आवश्यकतानुसार ग्रंट जूनियर-प्रोग्रामर की एक टीम के निचले स्तर के कार्यों में से। उन्होंने इस स्थिति कार्यक्रम प्रबंधक को बुलाया। "मैं निम्न स्तर के कार्यों और शीर्ष-स्तरीय फ़ंक्शंस के बीच अंतर जानना चाहता हूं

मैं जानना चाहता हूं कि शीर्ष-स्तरीय फ़ंक्शंस क्या हैं, और मैं इसे कैसे पहचान सकता हूं? मेरी भाषा जावास्क्रिप्ट है। अब तक यह एकमात्र भाषा है जिसे मैं जानता हूं इसलिए कृपया मुझे जावास्क्रिप्ट का उपयोग करके उदाहरण दें।

बीटीडब्ल्यू, ऊपर उद्धरण जोएल स्पॉल्स्की से लिया गया है। अपने ब्लॉग की जांच करें और एक प्रोग्राम मैनेजर कैसे पढ़ा जाए।

धन्यवाद

उत्तर

14

करीब यह मानव भाषा के लिए है, उच्च स्तर के कार्य है।

मशीन भाषा के करीब यह है कि निम्न स्तर का कार्य है।

उच्च स्तर के कार्यों:

Car.Start() 
Car.MoveTo(Home) 

कम स्तर के कार्यों:

मैं simplyfying रहा हूँ, लेकिन यहाँ कुछ उदाहरण हैं

Car.Insert(Key); 
if (Car.IsKeyInserted() == False) 
    return False; 

Car.StartEngine(); 
Car.ApplyAccelerator(0.1f); 
Car.ChangeGear(); 
Car.RotateWheel(-25); 
+0

+1 बहुत संक्षिप्त करने के लिए वापस लिंक –

0

सरल सवाल केवल कुछ शब्दों में उत्तर दिया जा सकता है लेकिन अंतर्निहित विषय में पूरी किताबें शामिल हैं। हालांकि प्रति जावास्क्रिप्ट से संबंधित नहीं है, बस जावास्क्रिप्ट का उपयोग कार्यों को बनाने के लिए किया जा सकता है।

श्री वाल्डेज़ सही है हालांकि यह सब आपके कार्य को परिभाषित करने के स्तर पर निर्भर करता है।

सॉफ्टवेयर desing और वास्तुकला नज़र उन्हें

This one has a section that answer your question quite nicely

This page discuss the subject with a broader perspective

2

जब हम "उच्च स्तर" और "कम स्तर" प्रोग्रामिंग में यह आम तौर पर करने के लिए बात कर के बारे में बात करने के लिए अन्य दृष्टिकोण हैं अमूर्तता का स्तर। एक उच्च स्तरीय समारोह, जिनमें दूर विवरण सार है यहाँ एक उच्च स्तरीय अमूर्त की एक उदाहरण है:

$('div#foo p').show('fast'); 

स्निपेट होता है jQuery जावास्क्रिप्ट ढांचे से है, यह एक बहुत जटिल काम को दर्शाता है लेकिन यह बहुत ही आरंभ करने के लिए सक्षम बनाता है आसानी से।

$('div#foo p').animate({height: 'show', width: 'show', opacity: 1}, 200); 

यह अभी भी jQuery लेकिन अधिक जानकारी के शामिल किया जा रहा है, यह निचले स्तर है: एक निचले स्तर अमूर्त कुछ इस तरह होगा। बेशक, आप भी कम प्राप्त कर सकते हैं:

animate(document.getElementById('foo').getElementsByTagName('p'), { 
    height: 300, width: 600, opacity: 1, alphaFilter: 1 
}, 200); 

(एक कस्टम बनाया चेतन विधि का उपयोग कर)

आदि आदि

अमूर्त का इष्टतम स्तर हमेशा भारी बहस के अंतर्गत है।बहुत अधिक जाकर abstraction leak का कारण बन सकता है लेकिन कम होने पर अक्षम और समय बर्बाद हो सकता है, खासकर अगर उच्च अवशोषण मौजूद हो।

1

यह संदर्भित करता है कि कॉल स्टैक फ़ंक्शन कितनी दूर स्थित है। जब कोई प्रोग्राम प्रारंभ होता है, तो ऑपरेटिंग सिस्टम मुख्य() या शीर्ष स्तर को कॉल करता है, जिसमें अगले निम्न स्तर के कार्यों को कॉल किया जाता है। प्रत्येक बदले में अन्य कार्यों को अधिक बुनियादी कार्य करने के लिए कहते हैं, जो ऑपरेटिंग सिस्टम में कॉलिंग फ़ंक्शंस को समाप्त करते हैं जैसे फ़ाइल खोलना। निम्न स्तर के फ़ंक्शंस आपके प्रोग्राम में फ़ंक्शंस हैं जो आपके द्वारा लिखे गए किसी अन्य फ़ंक्शन को कॉल नहीं करते हैं (लेकिन ऑपरेटिंग सिस्टम या उनके परिणामों की गणना करने के लिए ढांचे का उपयोग आदि)।

2

शीर्ष स्तर का फ़ंक्शन एक शब्द है जो उप-फ़ंक्शन के बाहर प्रोग्राम कोड लिखने का वर्णन करता है। वास्तव में vbs/jscript जैसे प्रोग्राम कोड चलाने के लिए सामान घोषित करने के विभिन्न स्तर हैं।

यह आमतौर पर जटिल होने की अपेक्षा की जाने वाली भाषाओं पर हतोत्साहित या अनुमति नहीं देता है। उदाहरण के लिए वीबी केवल कॉन्स और घोषणा और मंद की अनुमति देता है। सी # कुछ भी शीर्ष स्तर की अनुमति देता है।

हम आमतौर पर किसी भाषा के अमूर्तता का वर्णन करने के लिए उच्च स्तर का उपयोग करते हैं।

कुछ भाषाओं में यह शब्द शीर्ष स्तर की विधि होगी।

मुझे यह बहुत समय पहले पढ़ना याद है।

http://blogs.msdn.com/b/ericlippert/archive/2009/06/22/why-doesn-t-c-implement-top-level-methods.aspx जो इस साइट Why C# is not allowing non-member functions like C++