ستانفورد ، يبدو أننا نواجه مشكلة ...

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


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


كمهندسين ذوي خبرة ، نحن سادة التجريد. لذلك ، لن يكون من الصعب علينا تقديم مبرمج مشروط يدعى Leslie Lampport (جميع الأسماء والمطابقات ليست عشوائية) وأداته الرئيسية هي آلة Turing. إنه سيد مهنته ، ويرجع الفضل في ذلك إلى حد كبير إلى تاو الحديد:


  1. حدد ما يجب أن يفعله البرنامج.
  2. حدد كيف يجب أن تؤدي مهمتها بالضبط.
  3. اكتب الكود المناسب.

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


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


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


يشبه البطة الدج مثل البطة ، وحتى من المؤكد أن البطة من المرجح أن تكون. إذا كنت قد طورت لغة TLA + للمواصفات ، فصرخًا بكل مظاهره وسلوكه ، إنه رمز. حقيقة أنك استخدمتها في مرحلة مواصفات البرنامج ، أي النقطة 1 من "القرار بشأن ما يجب أن يفعله البرنامج" ، لم تتخلص من الحاجة إلى النقطة 3 "لكتابة الكود المناسب".


دعنا أقحم ليزلي لمدة عشر سنوات قادمة ، استخدم خلالها TLA + بشكل منهجي لكتابة المواصفات. أعتقد ، بصرف النظر عما إذا كان المحللون ، نحن والمهندسون المعماريون أو مهندسو قواعد البيانات ، نعترف على مضض أننا أصبحنا شيئًا من المبرمج بالمعنى الأكثر روتينًا للكلمة. لهجات مختلفة ، قواميس مختلفة ، ولكن نفس الجهاز المنعكس ، الذي يعطي بنظرة بالملل أنماط تصميم أو مخططات أو مواصفات ER في حالة شخصيتنا. والآن ، تحت البند رقم 1 المضلل ، يخفي مؤلف الأطروحة أن "الترميز ليس مهمًا للغاية" هذا الترميز للغاية.


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


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


لن أحمل العشرات من الأمثلة المتطابقة ، لكنني سأحاول تقديم بعض الملخصات إلى محكمة الزملاء. الترميز هو نبض التنمية. إنه موجود في جميع المراحل بشكل أو بآخر. يبدو مخطط القلب مملًا ، لكنه مؤشر ضروري على أن المشروع لا يزال حياً. لذلك ، ظهرت الصيغة * -as-a-Code بشكل متزايد.


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


الفرق هو أن البعض منا سوف يرى شيئًا لم يلاحظه الآخرون ويضيف قيمة لهذه العملية. مكارثي - LISP ، Lampport - LaTeX و TLA +. وعندما تقوم بالفرز بين رموز مثل نظام الأرقام العشرية ، أو طريقة برايل ، أو الراديو ، أو الرموز ، فإن لسانك لا ينطق بالقول إن "البرمجة يجب أن تكون أكثر من الترميز".


ملاحظة: ربما يريد شخص من زوار المؤتمر طرح الأسئلة المثارة. إذا بدت سخيفة للمتحدث وللجمهور ، فأحضر كل شيء إليّ.


PPS لقد حدث أن لدي الكثير من المواد حول موضوع الكود والتشفير ، وإذا كان هذا الموضوع موضع اهتمام ، فسأشاركه بكل سرور.

Source: https://habr.com/ru/post/ar455214/


All Articles