حاسوب شخصي للأطفال من كل الثقافات

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

عنوان الكلمة هو رد على ورقة كتبها عالم الحاسوب ألن كاي في 1972م بعنوان حاسوب للأطفال من كل الأعمار، في الورقة يصف كاي طفلان يتعلمان الفيزياء من خلال برمجة حواسيبهم الشخصية، هناك رسم في ورقة كاي تتخيل الطفلين مع الحواسيب:

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

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

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

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

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

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

ثم يدخل ناصر في تفاصيل تقنية أرى أنها بحاجة لرؤيتها لكي تفهمها وغير المبرمجين في الغالب يمكنهم تجاوز هذا الجزء.

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

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

ناصر له كلمة أخرى عن لغة قلب لم أشاهدها بعد.