مفهوم – في عالم التقنية والتكنولوجيا لا مستحيلات وكذلك في عالم جوجل، مبرمج أعمى يعمل في جوجل يحكى قصته وطريقة عمله:
أنا مصاب بالعمى بشكل كامل وأعمل لدى جوجل، حيث أقوم بإدخال تغييرات على الخوارزمية الخاصة بترتيب الصفحات.
وكجزء من تجربتي، وأعتقد أن الحال نفسه ينطبق على العديد من المبرمجين المصابين بالعمى، فإن الطريقة التي نعمل بها كمبرمجين لا تختلف كثيرًا عن الطريقة التي يعمل بها المبرمجون المبصرون.
في معظم الأوقات أستخدم محررًا للنصوص (وهو emacs وإضافة له تسمى emacspeak، والتي تجعل البرنامج ناطقًا)، ومتصفحًا للنظر في صفحات داخل جوجل بغرض التوثيق والملء.
الفارق الرئيسي هنا هو أننا إما أن نستمع لما يظهر على الشاشة، أو نقرأه بمساعدة من شاشة تمكن من استخدام لغة بريل. لا يمكنني التعليق على البديل الثاني لأنني لم أجربه بسبب تكلفته الباهظة، لكن يمكنني إعطاء لمحة حول كيفية البرمجة عن طريق الاستماع.
التحدي الأكبر أمام العمل في البرمجة عبر الاستماع هو أنك تحتاج إلى تذكر العديد من الأشياء. أنت تنتقل من سطر إلى سطر عبر الاستماع إلى كل سطر بالكامل. ويمكنك التنقل من كلمة إلى كلمة، أو من حرف إلى حرف.
لا يمكنك البدء في البرمجة بالبحث في التعريف الوظيفي عن اسم المتغير الذي يجري تمريره، بل تتذكره. وإذا أردت التحقق من تعريف الوظيفة، أقوم بوضع علامة، ثم أبحث عن التعريف وأقرأه ثم أعود إليه. وكما تلاحظون، هذا سيستغرق بعض الثواني، لذا فإن تحسين قدرات الذاكرة هي أمر جيد هنا.
أحب البرمجة باستخدام برنامج emacspeak لأنه يتيح لي العديد من المميزات الرائعة عند البرمجة باستخدام لغة ++c على سبيل المثال. يوجد في هذا البرنامج أنماط مختلفة للأصوات، وسوف تقرأ المتغيرات والوظائف والعناصر المختلفة للغة بنغمات مختلفة. وهذا يسهل من التمييز بين المكونات المختلفة للغة.
وختامًا، نحن المبرمجون المصابون بالعمى لا نستخدم الفراغات في أول الفقرة، فعادة ما ننهي الكود ثم نضع الفراغات لاحقًا، لأن هذا لا يفيدنا في شيء.
يمكنكم أن تسألوا إذن: ماذا عن لغة بايثون؟
أحب لغة بايثون كثيرًا، وحتى جزئية الفراغات لا تغير شعوري حيالها. فقد ابتكرت بعض التكتيكات مثل القفز سطرًا في آخر كل فقرة، حتى أتمكن سريعًا من معرفة مكان نهاية كل فقرة. وعندما أقرأ كودًا كتبه آخرون، يمكنني ضبط خيار على قارئ الشاشة حتى يخبرني بمستوى الفراغ، ولكني أجد ذلك مزعجًا قليلًا، لأنه بالنسبة لكل سطر تقرأه، سوف ينطق عدد المسافات المتواجدة في ذلك السطر.