سؤال

جئت عبر هذا المقال حول أساليب البرمجة، يرى Edsger Dijsktra.لإعادة الصياغة بسرعة، الفرق الرئيسي هو موزارت، عندما يتم القياس على البرمجة، يفهم المشكلة بالكامل (قابلة للنقاش) قبل كتابة أي شيء، بينما يتخذ بيتهوفن قراراته أثناء كتابة الملاحظات على الورق، مما يؤدي إلى العديد من المراجعات على طول الطريق.مع برمجة Mozart، سيكون الإصدار 1.0 هو الإصدار الوحيد للبرنامج الذي يجب أن يهدف إلى العمل بدون أخطاء وبأقصى قدر من الكفاءة.أيضًا، يقول ديكسترا إن البرامج التي ليست على هذا المستوى من التحسين والاستقرار لا ينبغي طرحها للعامة.

وبناء على آرائه سؤالان.هل برمجة موزارت ممكنة حتى؟هل ستستفيد البرامج التي نكتبها اليوم حقًا إذا اعتمدنا أسلوب موزارت بدلاً من ذلك؟

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

يحرر:تشير إلى الرد أدناه للحصول على شرح أكثر دقة لآراء Dijsktra.

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

المحلول

لا مقياس.

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

الآن، حاول أن تتخيل فريقًا من موزارت.فقط لبضع ثوان.


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

على السطح، فإنه يتجنب العودة إلى لوحة الرسم لأنك لم تفكر في حالة حافة واحدة تتطلب واجهة مختلفة تمامًا.

المعنى الأعمق ‏(رئيس وهمية؟) يمكن تفسيره من خلال تعلم لغة بشرية أخرى.لفترة طويلة كنت تفكر في الكلمات التي تمثل أفكارك، وكيفية ترتيبها في جملة صحيحة - وهذا النسخ يكلف الكثير من الدورات الأمامية.
في يوم من الأيام ستلاحظ الشعور المتحرر بأنك تتحدث فقط.قد يبدو الأمر وكأنك "تفكر بلغة أجنبية"، أو كما لو أن "الكلمات تأتي بشكل طبيعي".سوف تتعثر أحيانًا أثناء البحث عن كلمة أو مصطلح معين، ولكن في أغلب الأحيان تكون الترجمة يعمل في الموارد الهائلة لـ "وحدة المعالجة المركزية اللاواعية".


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

ليس لدي أي فكرة عن كيفية تدريس ذلك، ولكن "معرفة أكبر قدر ممكن قبل البدء في كتابته" يبدو وكأنه ممارسة برمجة جيدة لتحقيق هذا الهدف.

نصائح أخرى

وأسلوب البرمجة موزارت هو أسطورة كاملة (الجميع لديه لتحرير وتعديل جهودهم الأولية)، وعلى الرغم من أن "موزارت" هو في الأساس الاستعارة في هذا المثال، ومن الجدير بالذكر أن موتسارت كان إلى حد كبير أسطورة نفسه.

وكان موزارت والمفترض الطفل المعجزة السحرية الذي يتألف الأول سوناتا له في 4 (كان في الواقع 6، وأنه امتص - فلن أي وقت مضى سماع ذلك أداء أي مكان). ونادرا ما مذكور، بطبيعة الحال، أن والده كان يعتبر أعظم معلم الموسيقى في أوروبا، وأنه اضطر كل من أبنائه لممارسة اللعب وتكوين لساعات كل يوم في أقرب وقت لأنها يمكن أن تلتقط أداة أو قلم.

كان

وموزارت نفسه حريصا على إدامة الوهم بأن موسيقاه ظهرت كلها من عقله من خلال تدمير معظم مسودات له، على الرغم من أن يكفي البقاء على قيد الحياة لإظهار أنه كان محررا مثل أي شخص آخر. كان بيتهوفن فقط أكثر صدقا عن عملية (ربما لأنه كان أصم، ولا يمكن معرفة ما إذا كان أي شخص كان يتسلل في وجهه على أي حال).

وأنا لن أذكر حتى نظرية أن موزارت حصلت الألحان له من الاستماع إلى الطيور المغردة. أو <م> حقيقة ومن آياته أن خلق نظام استخدام النرد لتوليد عشوائيا الموسيقى (الذي هو في الواقع بارد جدا، ولكن قد يفسر أيضا كم من الموسيقى موتسارت يبدو أن تأتي من أي مكان).

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

يناقش Edsger Dijkstra وجهات نظره حول برمجة Mozart vs Beethoven في مقطع الفيديو هذا على YouTube بعنوان "الانضباط في الفكر".

alt text

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

  • Dijkstra ضد الشركات بشكل أساسي "اختبار" برامجها على عملائها. إصدار الإصدار 1.0 ثم التصحيح على الفور 1.1.لقد شعر أن البرنامج يجب أن يكون مصقولًا إلى حد أن بقع "الإصلاح الساخن" غير أخلاقي.
  • هو فعل لا أعتقد أنه يجب كتابة البرنامج بضربة واحدة وإلا فلن يلزم إجراء تغييرات أبدًا. غالبًا ما يناقش مُثُل تصميمه، أحدها هو النمطية وسهولة التغيير.كان يعتقد في كثير من الأحيان أنه يجب كتابة الخوارزميات الفردية بهذه الطريقة، بعد أن تفهم المشكلة تمامًا.كان ذلك جزءًا من انضباطه.
  • لقد وجد، بعد كل خبرته الواسعة مع المبرمجين، أن المبرمجين لن يكونوا سعداء إلا إذا تجاوزوا حدود معرفتهم.قال إن المبرمجين لا يريدون برمجة شيء فهموه بالكامل وفهموه بنسبة 100% لأنه لا يوجد أي تحدي فيه. أراد المبرمجون دائمًا أن يكونوا على حافة معرفتهم. وبينما كان يفهم سبب كون المبرمجين هكذا، فقد ذكر أن هذا لا يمثل برمجة ذات تحمل منخفض للأخطاء.

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

وهناك قصة كلاسيكية من الأعضاء، حول البرمجة الحقيقية موزارت.

<اقتباس فقرة>   

والمبرمجين ريال مدريد الكتابة في فورتران.

     

وربما يفعلون الآن، في هذا منحط   عصر ايت البيرة، والآلات الحاسبة وجهة   "سهل الاستعمال" البرمجيات ولكن مرة أخرى في   الخير قديم الأيام، عندما المدى   "البرمجيات" بدا مضحكا وريال مدريد   وقدمت أجهزة الكمبيوتر من الطبول و   الأنابيب المفرغة، كتب المبرمجين ريال مدريد   في رمز الجهاز. لا فورتران. ليس   راتفور. لا، حتى، لغة التجميع.   كود الآلة. الخام، وغير مزين،   أرقام ست عشرية غامض.   مباشرة.

     

ولئلا جيل جديد من   المبرمجين يكبر في الجهل   هذا الماضي المجيد، أشعر الواجب يحتم   لوصف، قدر استطاعتي من خلال   الفجوة بين الأجيال، كيف يمكن لمبرمج ريال مدريد   كتب التعليمات البرمجية. سأتصل به ميل، ل   هذا كان اسمه.

     

والتقيت للمرة الأولى ميل عندما ذهبت للعمل   رويال مكبي الحاسوب كورب ل   شركة تابعة المنحلة لل   شركة الآلة الكاتبة. شركة   تصنيع LGP-30، صغير،   رخيصة (وفقا لمعايير اليوم)   الكمبيوتر طبل الذاكرة، وكان مجرد   بدأت في تصنيع RPC-4000، ل   كثيرا المحسنة، أكبر وأفضل وأسرع   - الكمبيوتر طبل الذاكرة. تكلفة النوى كثيرا، وكانت لا البقاء هنا،   على أي حال. (لهذا السبب لم تكن قد سمعت   للشركة، أو جهاز الكمبيوتر.)

     

وكنت قد تم التعاقد مع لكتابة فورتران   مترجم لهذا أعجوبة جديدة وميل   كان لي دليل على ما فيه من عجائب. ميل   لم يوافق على المجمعين.

     

و"إذا كان البرنامج لا يمكن إعادة كتابة تلقاء نفسها   كود "، وتساءل:" ما هو جيد؟ "

     قد

وميل مكتوبة، في عشري، و   معظم برامج الكمبيوتر شعبية   تملكها شركة. وتجلى ذلك على LGP-30   ولعب لعبة ورق مع إمكانية   العملاء في المعارض الكمبيوتر. انها   كان تأثير دائما مثيرة. وLGP-30   كانت معبأة كشك في كل عرض، و   بلغ الباعة IBM حول الحديث   لبعضها البعض. أم لا هذا   وكانت أجهزة الكمبيوتر المباعة في الواقع سؤال   نحن أبدا مناقشتها.

     

وكانت مهمة ميل لإعادة كتابة   برنامج لعبة ورق لRPC-4000.   (بورت؟ ماذا يعني ذلك؟) الجديد   وكان جهاز الكمبيوتر الخاص زائد 1-1 معالجة   المخطط، الذي كل جهاز   التعليم، بالإضافة إلى   كود التشغيل وعنوان   المعامل المطلوب، وكان العنوان الثاني   التي أشارت فيها، على الدوار   طبل، كان التعليمة التالية   تقع. وبتعبير معاصر، كل   وأعقب تعليمة واحدة من قبل   اذهب إلى! وضع <م> أن في الأنابيب باسكال و   تدخينها.

     

وميل يحب RPC-4000 لأنه   يمكن تحسين التعليمات البرمجية له: هذا هو،   تحديد الإرشادات التي تظهر على طبل ذلك   أن مجرد واحدة الانتهاء من مهمتها، و   سوف المقبل أن يكون مجرد وصوله الى   "قراءة الرأس" والمتاحة لل   التنفيذ الفوري. كان هناك   برنامج للقيام بهذه المهمة، وهو "تحسين   المجمع "، ولكن ميل رفض استخدامها.

     

و"أنت لا تعرف أبدا حيث انه سيكون ل   وضع الأمور في نصابها "، وأوضح" لذلك كنت   لديك لاستخدام الثوابت منفصلة ".

     

وكان الأمر وقتا طويلا قبل أن يفهم   تلك الملاحظة. منذ ميل عرف   القيمة العددية من كل عملية   الرمز، وتعيين له طبل الخاصة   عناوين، كل التعليمات وكتب   ويمكن أيضا أن يعتبر العددية   ثابت. ويمكن أن تلتقط في وقت سابق   "إضافة" تعليمات، مثلا، وتتكاثر   قبل ذلك، إذا كان لديها رقمية الصحيح   القيمة. كان رمز له ليس من السهل ل   شخص آخر لتعديل.

     

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

     

وميل أبدا كتب حلقات التأخير الزمني،   EITلها، حتى عندما يكون حرون   مطلوب Flexowriter تأخير بين   الأحرف الإخراج إلى الحق في العمل. هو   تعليمات يقع على الطبل   لذلك كل واحدة لاحقة للتو الماضي   رأس القراءة عند الحاجة اليها. ال   كان طبل لتنفيذ كامل آخر   ثورة للعثور على القادم   التعليمات. صاغ ل   مصطلح لا تنسى لهذا الإجراء.   على الرغم من أن "الأمثل" مطلقة   المدى، مثل "فريدة من نوعها"، أصبح من الشائع   ممارسة لفظية لجعله قريب:   "ليس الأمثل للغاية" أو "أقل الأمثل"   أو "غير الأمثل للغاية". دعا ميل لل   أقصى قدر من التأخير الزمني مواقع "أكثر   pessimum ".

     

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

     

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

     

وبعد ميل قد غادر الشركة ل   أكثر اخضرارا سنويا $ تلح $، طلب من مدرب كبير   لي أن ننظر إلى رمز ومعرفة ما اذا كان   يمكن العثور على اختبار وعكس ذلك.   إلى حد ما على مضض، وافقت على   نظرة. كان شفرة تتبع ميل في حقيقي   المغامرة.

     

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

     

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

     

وكان جهاز الكمبيوتر RPC-4000 حقا   منشأة حديثة يسمى مؤشر   تسجيل. فإنه يسمح للمبرمج ل   إرسال حلقة البرنامج الذي يستخدم ل   تعليمات مفهرسة الداخل؛ كل مرة   من خلال الرقم في مؤشر   تمت إضافة السجل إلى عنوان   أن التعليم، لذلك سيكون الرجوع إلى   مسند المقبل في سلسلة. وقال انه   فقط لزيادة سجل مؤشر   في كل مرة من خلال. ميل أبدا استخدامها.

     

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

     

وجاءت فكرة حيوية عندما لاحظت   مؤشر قليلا السجل، بت التي تكمن   بين العنوان والعملية   التعليمات البرمجية في تدريس الكلمة، كان   تحولت on-- بعد لم تستخدم قط ميل لل   مؤشر السجل، تركها الصفر كل   الوقت. عندماذهب الضوء على ذلك   أعمى ما يقرب لي.

     

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

     

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

     

وعندما ترك الشركة، لعبة ورق   أن البرنامج لا يزال الغش إذا كنت   التفت على اليمين مفتاح المعنى، و   أعتقد أن هذا ما ينبغي أن يكون. أنا   لم تشعر بالراحة القرصنة حتى   مدونة مبرمج ريال مدريد.

أعتقد أن قصة موزارت تخلط بين ما يتم شحنه وكيفية تطويره.لم يقم بيتهوفن باختبار سمفونياته بشكل تجريبي على الجمهور.(سيكون من المثير للاهتمام أن نرى مدى تغييره لأي من النتائج بعد الأداء العام الأول).

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

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

ملاحظات اضافية:

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

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

حتى بدون الحاجة الملحة للتسويق، أعتقد أننا نفهم الآن بشكل أفضل بكثير أن أنواعًا مهمة من البرامج تتطور جنبًا إلى جنب مع تجربة المستخدمين معها والغرض النفعي الذي لديهم لها.ومن الأمثلة الواضحة على ذلك الألعاب (فكر أيضًا في كيفية تطوير الصور المتحركة المسرحية).هل تعتقد أن بيتهوفن كان يستطيع أن يكتب السيمفونية رقم 1؟9 دون كل ما سبق من خبرات واستكشافات؟هل تعتقد أن الجمهور قد سمعها على حقيقتها؟هل كان عليه أن ينتظر حتى يحصل على السوناتا المثالية؟أنا متأكد من أن ديكسترا لا يقترح هذا، لكنني أعتقد أنه ذهب بعيدًا مع موزارت بيتهوفن لتوضيح وجهة نظره.

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

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

أنا من أشد المعجبين بـ Dijkstra، لكني أعتقد أن موضوع Mozart-Beethoven هو أمر تبسيطي للغاية وغير مناسب.أنا من أشد المعجبين ببيتهوفن أيضًا.

وأعتقد أنه من الممكن أن <م> تظهر لتوظيف البرمجة موزارت. أنا أعرف شركة واحدة، عاصفة ثلجية، هذا لا يعفي منتج البرنامج حتى انهم جيدة وجاهزة. هذا لا يعني أن ديابلو 3 والربيع كله وكاملة من عقل شخص ما في جلسة واحدة من الترميز الرائعة بتألق. أنه لا يعني أن هذه هي الطريقة التي سوف تظهر للبقية منا. سوف عاصفة ثلجية اختبار هيك من لعبتهم داخليا، لا يظهر لبقية العالم حتى أنها قد حصلت على كل مكامن الخلل عادمة. معظم الشركات لا تأخذ هذا النهج، وفضلت بدلا من ذلك إلى إطلاق سراح البرنامج عندما انها جيدة بما فيه الكفاية من أجل حل المشكلة، ثم إصلاح الخلل وإضافة ميزات لأنها تأتي. هذا النهج يعمل (بدرجات متفاوتة) بالنسبة لمعظم الشركات.

حسنا، نحن لا يمكن أن يكون كل جيدة مثل موزارت، يمكن لنا؟ ربما البرمجة بيتهوفن أسهل.

إذا اعتمدت آبل "موزارت" البرمجة، لن يكون هناك أي ماك OS X أو اي تيونز اليوم.

إذا اعتمدت جوجل "موزارت" البرمجة، لن يكون هناك أي Gmail أو Google القارئ.

إذا اعتمدت المطورين SO "موزارت" البرمجة، لن يكون هناك أي SO اليوم.

إذا اعتمدت مايكروسوفت "موزارت" البرمجة، لن يكون هناك أي ويندوز اليوم (حسنا، أعتقد أن سيكون من الجيد).

وهكذا فإن الجواب هو ببساطة NO. لا شيء على ما يرام، وليس هناك من أي وقت مضى من المفترض أن يكون مثاليا، ويتضمن البرنامج.

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

وهذا صحيح مع أي نوع من الكتابة. عدد قليل جدا من الكتاب مجرد الجلوس على الآلة الكاتبة مع أي أفكار وبدء ضجيجا بعيدا حتى يتم إنتاج الرواية الأكثر مبيعا. هيك يا الأب في القانون (أ مدرسا للغة الانجليزية في المدرسة الثانوية) يكتب في الواقع الخطوط العريضة لله <م> رسائل .

والتقدم في مجال الحوسبة يستحق التضحية في مجد أو عبقرية هنا وهناك.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top