العربية
مدارج

النسخة التي خرجت إلى العالم

النسخة التي خرجت إلى العالم

F19 · 16–18

Scene 1

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

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

Scene 2

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

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

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

Scene 3

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

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

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

Scene 4

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

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

بعد ذلك تتبع حذف المهمة المنجزة. كانت القائمة العامة تتغير، بينما يعرض المنجز قائمة قديمة لم تُحدّث. جعل العرضين يقرآن الحالة الحالية نفسها، ثم أعاد مثال «رسم مربع»: إضافة، وإنجاز، وحذف، وفتح القائمتين. لم يجد الاسم في أي منهما. كرر الخطوات بمهمة أخرى، وأغلق التطبيق وفتحه مرة إضافية. لم تعن هذه النتائج أن البرنامج خالٍ من كل عيب؛ عنت أن الحالتين اللتين سجلهما الأربعاء لم تعودا تظهران بالخطوات نفسها. كتب رقمًا للنسخة الجديدة، وأبقى النسخة السابقة منفصلة كي يعرف ما الذي اختبره.

Scene 5

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

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

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

Scene 6

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

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

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

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

تحميل القصة PDF

Read in English

جميع المقالات