سؤال

كنت أستمتع "المبرمج المتواضع" في وقت سابق من اليوم وواجه هذا الاختيار: اقتباس:

لذلك ، في الوقت الحالي وربما إلى الأبد ، تقدم قواعد النوع الثاني نفسها كعناصر من الانضباط المطلوبة من المبرمج. بعض القواعد التي أفكر فيها واضحة لدرجة أنه يمكن تعليمها وأنه لا يحتاج أبدًا إلى أن تكون هناك حجة حول ما إذا كان برنامج معين ينتهكهم أم لا. ومن الأمثلة على ذلك المتطلبات التي لا ينبغي كتابة حلقة دون تقديم دليل على الإنهاء أو دون ذكر العلاقة التي لن يتم تدميرها من خلال تنفيذ البيان القابل للتكرار.

أنا أبحث عن أي من كتابات Dijkstra التي يبلغ عددها 1300 كتابًا أفضل تصف بمزيد من القواعد التفصيلية مثل وصفها أعلاه.

هل كانت مفيدة؟

المحلول

صفحة من 5 إلى 18: http://userweb.cs.utexas.edu/users/ewd/ewd02xx/ewd249.pdf
منتصف. الصفحة 3 حتى النهاية: http://userweb.cs.utexas.edu/users/ewd/ewd04xx/ewd473.pdf
نهاية الصفحة 5 حتى النهاية: http://userweb.cs.utexas.edu/users/ewd/ewd06xx/ewd641.pdf
الجميع: http://userweb.cs.utexas.edu/users/ewd/transcriptions/ewd02xx/ewd261.html (الهولندي ، الترجمة = أدناه)

ملاحظة: أرقام Dijkstra صفحاته بدءًا من 0. تبدأ أرقام الصفحات في 1 ورقم صفحة PDF ، وليس أرقام الصفحة المكتوبة.


ترجمتي لـ EWD261 باللغة الإنجليزية:

كيفية البرمجة رياضيا

يتم تنظيم برنامج (محدد جيدًا) تمامًا مثل النظرية الرياضية (المعرفة جيدًا). لا يختلف عمل المبرمجين عن عمل عالم الرياضيات الإبداعي.

هناك اختلافات صغيرة ولكنها مهمة ، على الرغم من:

  1. لا يوجد الكثير من المفاهيم الأساسية للبرمجة وليس من الصعب فهمها (على الرغم من أنها بسيطة بشكل مضلل) ؛ هذا هو السبب في أنها مثالية لممارسة التنمية. (إلى جانب ذلك ، هناك حقيقة أن الطلب على الصواب ، يجب أن ينجح البرنامج حقًا!)
  2. مع معظم التعليم الرياضي يتعلم المرء عن النظريات الحالية ، بمعنى. تجهيز الطالب بمجموعة محددة (مفصلة) من المفاهيم ؛ ومع ذلك ، يتعين على المبرمج تطوير المفهوم المطلوب بنفسه. تتطلب البرمجة التجريدات التي تؤدي إلى نوع من الإبداع ، في حين أن نفس الشيء في الرياضيات يقتصر على تطبيق النظريات الحالية.
  3. لأن البرامج كبيرة ، ومع ذلك يتعين على العمل أن يتعلم المبرمجون كيفية التطوير بعناية ووعي. هذا هو بالضبط ما يجب أن يعلمه! لتعليم المعرفة الواسعة ، بالنسبة لي ، ليس مبررًا.
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top