الثلاثاء، 7 أغسطس 2012

تعقيبٌ علي مقال (تلخيصٌ لفكرة موسوعة الألسن و محتوياتها)

تعقيبٌ علي مقال 
(تلخيصٌ لفكرة موسوعة الألسن و محتوياتها)

عقَّب أحد الفضلاء علي مقالي ( تلخيصٌ لفكرة موسوعة الألسن و محتوياتها) في وادي التقنية بقوله (بتَصَرُّفٍ):


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

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

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


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

فكان ردي ما يلي:

الأساس في الموسوعة أنها ستكون ذات إصداراتٍ رقميةٍ بإذن الله تعالي، و بالنسبة للكتاب الورقي فأنا أيضاً لا أحبه و أُفَضِّل أن تكون الأمور كلها إلكترونيةً صرفة بكل ما يعنيه هذا من سهولة التعديل و التحديث و النشر و الوصول. و لكن لو قَدَّر الله تعالي للمشروع أن يكبر و تصير الموسوعة واقعاً فربما يريد محبو الكتب الورقية الحصول علي أجزاء الموسوعة بشكلٍ ورقي (و أنا أثق أن هذا الموقف سيحدث).
بالنسبة لمحتويات الموسوعة فلا يمكن ضم الشرح الذي يحتاج إليه المبتدئون إليها؛ فأصلاً فكرة الموسوعة هو أن تكون "تلخيصاً" يحل محل الإسهاب الموجود في الشروحات المعتادة، و الشيء الوحيد الذي سيُسْتثنَي من هذه القاعدة هو: شرح القواعد الصعبة بإيجاز عند أول ذكرٍ لها. و علي المبتديء أن يستعين بالشروحات المتخصصة أولاً  ثم يلجأ للموسوعة لتذكر ما فهمه بالفعل من قبل.
أما الفرق بين الموسوعة و بين توثيقات لغات البرمجة المعتادة فهو الإيجاز في ذكر القواعد في الموسوعة، و كذا الأبواب الإضافية التي نتحدث فيها عن تاريخ اللغة و إصداراتها المختلفة و ربما أفضل بيئات التطوير المتكاملة IDE المتاحة لها (باختصارٍ بطبيعة الحال)، بالإضافة إلي توحيد الشكل بين تلخيصات اللغات المختلفة في الموسوعة، و الأهم أن كل هذا سيكون باللغة العربية و بأسلوب سلسٍ موحَّد.

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

هناك تعليقان (2):

  1. السلام عليكم
    مرحبا أخى وائل
    فكرة موسوعة الألسن فكرة ممتازة وهى قابلة للتوسع والتطوير فيما بعد اصدارها لاننى شخصيا لن أستطيع الحكم على شىء الا اذا كان موجودا بالفعل وجربته بنفسى
    توقعت أن المادة العلمية موجودة لديك أصلا من تلخيصاتك أثناء تعلمك لتلك اللغات هى فقط تحتاج الى المراجعة والتحديث والتنظيم وهذا ما افعله انا ايضا فى تعلم أى لغة لان عناء البحث عن المعلومات اثناء تعلم اللغة يكون كبيرا ويحتاج الى توثيق وتحديث ويوفر عليك متاعب كثيرة فى المستقبل وما أفضل من أن تقدم ثمرة هذا الجهد الى الاخرين حتى يستفيدوا منه
    وكان لى تصورا أحببت أن أعرضه عليك
    وهو أن الكتاب الذى سيحتوى على كل تلك اللغات إما أن يكون ضخم جدا يعنى عدة الاف من الصفحات أو تكون معلوماته مختصرة جدا
    فيمكن فى هذة الحالة عمل أكثر من موسوعة كل منها تضم عدة لغات برمجة متشابهة معا فى القواعد واستراتيجية العمل
    يعنى مثلا عمل موسوعة تضم اللغات التالية
    Java - C# - VB.NET
    وموسوعة أخرى للغات أخرى
    هذا على سبيل المثال
    المقارنة بين اللغات ستكون أفضل وأيسرعلى المتعلم عندما تكون اللغات متشابهة الى حد كبير مع بعضها البعض
    فيمكن مثلا تعلم لغتى السى شارب والجافا معا فى وقت واحد اذا وجد مرجعا يضم قواعد اللغتين ويقارن بينهما مع الاستعانة بالأمثلة وروابط للاستزادة فى كل جزئية لا يسمح بالتوسع فيها

    ردحذف
  2. و عليكم السلام و رحمة الله و بركاته

    فكرةٌ جميلةٌ بالفعل و أري أنها تستحق العمل بها عند إخراج الموسوعة بإذن الله تعالي، و قد قمتُ بنشرها في مدونة مشروع الموسوعة:
    http://alson-enc.blogspot.com/2012/08/suggestion1.html

    جزاك الله خيراً ^_^

    ردحذف