2010-08-09 16 views
6

मैं कार्य पर कोडर पढ़ रहा हूं।डिजस्ट्रा के पेपर के बारे में

मैं डोनाल्ड Knuth के साक्षात्कार में इस अनुच्छेद में आया था।

सेबेल: ऐसा लगता है कि मैंने बहुत से लोगों से बात की थी जब वे शुरू कर रहे थे जब मशीन तक सीधी पहुंच थी। फिर भी डिजस्ट्रा का एक पेपर है, मुझे यकीन है कि आप परिचित हैं, जहां वह मूल रूप से कहता है कि हमें कंप्यूटर-विज्ञान के छात्रों को अपने प्रशिक्षण के पहले कुछ वर्षों के लिए मशीन को छूने नहीं देना चाहिए; उन्हें अपने सभी समय में छेड़छाड़ करने वाले प्रतीकों को खर्च करना चाहिए।

मुझे उस पेपर से लिंक चाहिए। वह कौन सा पेपर है? (उन्होंने बहुत सारे लिखा :-)

उत्तर

7

शायद this one?

अंश, अंत के पास से:

इससे पहले कि हम हिस्सा है, मैं आपको आमंत्रित करने के एक परिचयात्मक प्रोग्रामिंग कोर्स में कंप्यूटिंग के कट्टरपंथी नवीनता के साथ न्याय करने की निम्नलिखित तरीके पर विचार करना चाहते हैं।

एक तरफ, हम भविष्यवाणी कैलकुस की तरह दिखते हैं, लेकिन हम इसे दार्शनिकों से बहुत अलग करते हैं। नौसिखिया प्रोग्रामर को बिना किसी परिभाषित सूत्रों के हेरफेर में प्रशिक्षित करने के लिए, हम इसे बूलियन बीजगणित के रूप में अधिक पढ़ते हैं, जो लॉजिकल कनेक्टिव्स के सभी बीजगणितीय गुणों के साथ छात्र को परिचित करते हैं। अंतर्ज्ञान के लिंक को आगे बढ़ाने के लिए, हम बूलियन डोमेन के {सत्य, झूठे} मानों को {काला, सफेद} के रूप में नामित करते हैं।

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

शुरुआत से ही, और सभी के माध्यम से, हम तनाव देते हैं कि प्रोग्रामर का कार्य सिर्फ एक कार्यक्रम लिखना नहीं है, लेकिन उनका मुख्य कार्य औपचारिक प्रमाण देना है कि वह जिस कार्यक्रम का प्रस्ताव करता है वह समान औपचारिक रूप से मिलता है कार्यात्मक विनिर्देश। साक्ष्य और कार्यक्रमों को हाथ में रखने के दौरान, छात्र को अनुमानित गणक के साथ अपनी कुशलतापूर्ण चपलता को पूरा करने के लिए पर्याप्त अवसर मिलता है। अंत में, इस संदेश को घर चलाने के लिए कि यह प्रारंभिक प्रोग्रामिंग कोर्स प्राथमिक रूप से औपचारिक गणित में एक कोर्स है, हम देखते हैं कि प्रश्न में प्रोग्रामिंग भाषा परिसर में लागू नहीं की गई है ताकि छात्रों को उनके कार्यक्रमों का परीक्षण करने के लिए प्रलोभन से संरक्षित किया जा सके। । और यह ताजा लोगों के लिए एक प्रारंभिक प्रोग्रामिंग पाठ्यक्रम के लिए मेरे प्रस्ताव के स्केच को समाप्त करता है।

4

मुझे डिजस्ट्रा के "क्रूरता" व्याख्यान का manuscript मिला।

+0

अच्छा काम दोस्त! Stackoverflow में आपका स्वागत है। :) –

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