مشروع التبادل DentExch – ما بعد النهاية

22/09/2010

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

إن أردنا تلخيص ما سمعناه من الجميع فهو كالتالي:

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

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

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

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

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

مشروع التبادل DentExch – القصة الكاملة – من البداية إلى النهاية

15/09/2010

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

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

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

كيف بدأ مشروع التبادل

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

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

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

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

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

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

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

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

بداية إيقاف المشروع

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

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

تحدي مشاركة المستخدمين

الغالبية العظمى من المستخدمين سيكتفون بالتلقي واستهلاك المعلومات دون المساهمة في صنع تلك المعلومات. هذه القاعدة فهمتها منذ زمن وسمعت عنها مراراً أثناء مشاركتي في المجتمعات البرمجية على الإنترنت Online communities.
تقول هذه القاعدة والمسماة 90-9-1 أن معظم المستخدمين (حوالي 90% من مستخدمي الموقع) هم مجرد مستهلكين، مستخدمين يترددون على الموقع لتلقي وقراءة ورؤية ما يقوم به الآخرين. إن فرضنا أن عدد مستخدمي الموقع سيصل إلى 500 مستخدم (وهو رقم كبير جداً في بدايات الموقع)، فيمكننا أن نقول بكثير من التفاؤل أن عدد المستخدمين الذين سيقومون بأي تفاعل لن يزيد عن 50 مستخدم.
9% من المستخدمين سيقومون بتفاعل مع المحتوى الموجود أصلاً، هذا التفاعل هو تعديل أو إضافة معلومات في قسم المعلومات، والاستجابة لإعلان تبادل في قسم التبادل، 9% تعني أن حوالي 45 طالب فقط سيتركون أثر طفيف ما على الموقع.
1% فقط من المستخدمين (5 فقط!!) من سيقومون بخلق المحتوى، أي أنني وعدد قليل جداً من أصدقائي لن يتجاوز عدد أصابع اليد الواحد من سنقوم بإضافة المعلومات في قسم المعلومات، ووضع بعض الإعلانات في قسم الإعلانات.
لا أريد أن أخدع أحداً، لن يقوم بخلق المحتوى سوى فريق صغير جداً من الطلاب، هذا الفريق اعتبر ذلك هدراً لجهده ووقته، صحيح أن هناك عدد جيد عرض المساهمة، ولكنه يتوقع من المشروع أن يفيده بشيء ما في المقابل، معه حق في ذلك ولكن المشروع لن يستطيع أن يحقق له فائدة تناسب جهده للأسف.
هذه القاعدة صحيحة وتسير عليها جميع المواقع الجماعية على الإنترنت، ابتداءً بالصغيرة منها وانتهاءً بالكبيرة. لنأخذ بعض الأمثلة:

  • 0.2% فقط من زوار Flickr قاموا بوضع أي صورة عليه.
  • 0.07% فقط من مستخدمي Wikipedia هم من قام بأكثر بخلق وتعديل أكثر من 50% من محتوى ويكيبيديا.
  • 0.16% فقط من زوار YouTube قاموا بوضع أي فيديو عليه.

نلاحظ أن هذه الأرقام تصبح أقل بكثير من 1% مع ازياد حجم الموقع.

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

النهاية

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

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

لنا لقاء قريب آخر إن شاء الله، وكل عام وأنتم بألف خير :)

رغم أشواك الطريق، الورود تملأ المكان…

12/07/2010

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

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

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

Education is what remains after one has forgotten what one has learned in school.  –Albert Einstein

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

مقاطع الفيديو التعليمية:

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

المقاطع الصوتية التعليمية:

  • iTunes U: خدمة المقاطع التعليمية من شركة Apple العتيدة.
  • Odeo: القسم التعليمي لموقع المقاطع الصوتية الشهير، Odeo.

مواقع لتعلم اللغات:

  • Livemocha: موقع ذو شعبية كبيرة وواسعة باعتباره أضخم موقع لتعليم اللغات، يعتمد الموقع على مساعدة الناس لبعضهم البعض لتستطيع تعلم اللغة التي تريدها بمساعدة أحد المتكلمين الأصليين للغة.
  • BBC Languages: موقع تعليم اللغات من شبكة BBC العملاقة، موقع رائع يحوي مصادر تعليمية أكثر روعة.

مصادر تعليمية متنوعة:

  • Open Culture: موقع فخم بكل المقاييس، يهتم بجمع وسرد المصادر التعليمية المجانية من الويب، يحوي الموقع قوائم كبيرة من الكتب والأفلام والبودكاست والكورسات ومقاطع الفيديو. وهم مفيد جداً لمن يرغب بتعلم إحدى اللغات. نقطة البداية الأولى إن أردت رأيي.
  • موقع DOAJ ـ (Directory of Open Access Journals): موقع يحوي أكثر من خمسة آلاف نشرة ودورية تتضمن ما يزيد عن 400 ألف مقالة تغطي جميع المجالات الأكاديمية.
  • Khan Academy: منظمة غير ربحية تهدف إلى توفير المصادر التعليمية مجاناً، للجميع.
  • لا يمكنني أن أختم هذه التدوينة دون أن أرفع قبعتي احتراماً لمقالة Technophilia: Get a free college education online. المقالة تحتوي عدد مثير للإعجاب من الروابط لدروس وكورسات مجانية من عدد من الجامعات المرموقة. وتعطيك نصائح لتجد المزيد بنفسك.

Real education must ultimately be limited to men who insist on knowing, the rest is mere sheep-herding.  –Ezra Pound

الحمد لله، فرغم أشواك الطريق، الورود في كل مكان… إلى اللقاء قريباً…

إنه لطريق طويل، ولكنك بدأته، وعليك أن تكمله، لا مجال للتراجع، التقدم هو خيارك الوحيد، رغم أشواك الطريق…

04/07/2010

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

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

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

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

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

You are an uncultured idiot who could learn so much from having four years to do nothing but learn, but you won’t get that immersion in culture if you study nothing but computers

مقالة أخرى رائعة هي مقالة بعنوان 10 نصائح للانتقال من مطور مبتدئ إلى مطور متوسط، وهي مقالة ستساعدك أن تترك لقب مبرمج “مبتدئ” (إن كنت تعتبر نفسك من حملة هذا اللقب) وتنتقل إلى “متوسط” ثم “متقدم”.

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

أخيراً، هناك قسم مايكروسوفت للبحث العلمي، وهو يحوي مجموعة هائلة من الأوراق البحثية في العديد من المجالات، موقع رائع يحوي معلومات دسمة عن مختلف مجالات الكمبيوتر.

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

إلى لقاء قريب في التدوينة السادسة إن شاء الله…

إنه لطريق طويل، ولكنك بدأته، وعليك أن تكمله، لا مجال للتراجع – الجزء الرابع – مدخل إلى الخوارزميات وبنى المعطيات

12/02/2010

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

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

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

أول كتاب أنصحك بقراءته إن كنت مبتدئ في مجال الخوارزميات هو Data Structures and Algorithms in Java، وهو – كما لابد أنك لاحظت – يعلمك الخوارزميات مترافقة مع بنى المعطيات، جمال الكتاب وبساطته في أنه يتلافى الدخول في تعقيدات تحليل الخوارزميات والغياهب الرياضية المرافقة لذلك، فيمكنك قراءة الكتاب لفهم مبادئ الخوارزميات وبنى المعطيات ثم تتعمق في دراسة تحليلها من الكتاب السابق. أنصحك بنفس هذا الكتاب إن كنت مبرمج #C، فرغم الاختلافات بين اللغتين إلا أن تشابه Syntax الكود سيجعل من السهل فهم الكتب لمبرمج #C، فلا يوجد أي كتاب خوارزميات بلغة #C يستحق القراءة، حتى لو وجدت أن دار النشر تتبع جامعة محترمة كجامعة كامبريدج، فستجد أن كتابهم #Data Structures and Algorithms Using C مليء بالأخطاء من كل الألوان، عار عليهم فعلاً!
كتاب بديل عن الكتاب السابق بلغة ++C بدلاً من لغة Java هو
++Data Structures and Algorithms in C، وهو يدرس في أغلب الجامعات في منطقتنا وكثير من جامعات العالم، الكتاب بسيط الفهم وقوي المعلومات وهو كتاب جيد للبدء في تعلم الخوارزميات مثله مثل كتاب جافا السابق.

بالإضافة إلى “معجم الخوارزميات”، أي كتاب Introduction to Algorithms، هناك العديد من المواقع التي تلعب دور “دليل” لسرد تفاصيل عن الخوارزميات وبنى المعطيات المختلفة، أذكر بعضها:

من المواضيع الهامة عند دراسة الخوارزميات هو فهم الطريقة المسماة Big O notation المستخدمة لتحليل تعقيد الخوارزميات مما يسمح بمقارنة سرعة تنفيذها في الحالات المختلفة، من أبسط ما وجدته عن شرح هذه الطريقة هو A Beginners’ Guide to Big O Notation الذي يشرح الأمر باستخدام كودات بسيطة جداً، و Plain English Explanation of Big O Notation وهو شرح يعتمد على اللغة المجردة السهلة في إيصال الفكرة.
طبعاً ستجد الكثير من الحديث عن الـO الكبيرة هذه في “معجم الخوارزميات” الضخم الذي ذكرناه مراراً اليوم، لذلك تأكد من فهم مبادئها قبل البدء بالخوض في الكتاب.

إنه لطريق طويل، ولكنك بدأته، وعليك أن تكمله – الجزء الثالث – مدخل إلى علوم الحاسوب

10/02/2010

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

معظم الجامعات تبدأ تعليم طلاب كلية علوم الحاسوب CS مبادئ البرمجة عن طريق لغات برمجة غير حقيقية لا تستعمل في البرمجة اليومية، معظم هذه اللغات مطورة أصلاً لتعليم الأطفال مبادئ البرمجة، أشهر هذه اللغات لغة تدعى Scratch مطورة في MIT وتستعمل كمقدمة للبرمجة في عدد من الجامعات المحترمة أمثال Harvard و MIT نفسها، وهي لا تعتمد على كتابة الأوامر، بل تعتمد على السحب والإفلات Drag-and-Drop.

تنتقل الجامعات بعد ذلك إلى إحدى لغات البرمجة الحقيقية، لغة Java أو C أو – مؤخراً – Python، باعتبارها لغات قوية ويمكن البدء باستعمالها بسرعة. لتعلم نفسك إحدى هذه اللغات لن تحتاج إلى الكثير، اختر أحد الكتب وستتعلم مبادئ اللغة بسهولة، سأذكر هنا الكتاب الأبرز والأسرع لتعلم مبادئ كل لغة من اللغات المستعملة في الجامعات :

  • Python: كتاب Python Programming for the Absolute Beginner هو الأشهر للبدأ بتعلم لغة Python، اللغة الفعالة القوية والسهلة بنفس الوقت، الكتاب لا يفترض أنك مبرمج سابق، فحتى لو كنت جديداً على البرمجة فيمكنك قراءة هذا الكتاب للبدء بتعلم البرمجة.
  • C: الكتاب العتيد والعتيق لتعلم لغة C هو C Programming Language، بالرغم من قدم الكتاب إلا أنه يبقى الكتاب المفضل لتعلم أساسيات لغة C بسرعة وسلاسة، كتاب رائع فعلاً.
  • Java: لم أقرأ الكتاب، ولكن كتاب Head First Java حظي بسمعة حسنة وشهرة كبيرة لتعليم لغة جافا للمبتدئين.
  • ++C: أغلب الجامعات تقوم بتعليم لغة C أو ربما Java قبل أن تنتقل إلى ++C. من كتب ++C الذائعة الصيت كتاب The C++ Programming Language، كون المؤلف هو مبتكر اللغة نفسه، Bjarne Stroustrup.

ننتقل الآن إلى القسم الرائع من التدوينة (كما آمل أن تجده).
محاضرات الكورس التعريفي Introductory-course بعلوم الحاسوب في جامعة هارفارد ويدعى Computer Science 50 ـ (CS50.NET) من إلقاء الأستاذ David J. Malan متاحة كمقاطع فيديو هي وجميع المواد المرافقة له للتحميل مجاناً، من موقع التحميل الخاص بالكورس CS50.TV.

كذلك الأمر بالنسبة لكورس جامعة MIT، حيث يحوي موقع MIT OpenCourseWare الخاص بالجامعة على الكثير جداً من المصادر التعليمية المجانية لمئات الكورسات، والكثير منها متوفرة كمحاضرات فيديو بالإضافة إلى الملاحظات والوظائف والأوراق العلمية وأسئلة امتحانية وغيره، موقع رائع جداً يحبس الأنفاس إذا تذكرنا أن MIT هي إحدى أبرز الجامعات التقنية في العالم، ومن الكورسات المتاحة على الموقع والمتوافرة كمقاطع فيديو الكورس التعريفي بعلوم الحاسوب والبرمجة في MIT، ويسمى Introduction to Computer Science and Programming.

من الجامعات التقنية العريقة أيضاً لابد أن نذكر جامعة Stanford، ولها موقع تعليمي مجاني مشابه لموقع MIT ويسمى Stanford Engineering Everywhere أو SEE اختصاراً، وفيه ثلاث كورسات تعريفية لمجال علوم الكمبيوتر، هذه الكورسات هي Programming Methodology وهو الأهم، ثم Programming Abstractions وأخيراً Programming Paradigms.

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

إنه لطريق طويل، ولكنك بدأته – الجزء الثاني

07/02/2010

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

بالنسبة لجامعة دمشق وبقية الجامعات السورية التي تحوي كلية هندسة تقنية المعلومات Information Technology Engineering، يتلقى جميع الطلاب نفس المواد في السنوات الثلاثة الأولى من فترة الدراسة في الكلية، وهي خمس سنوات، ثم يختص الطالب في أحد ثلاثة مجالات، هذه المجالات هي هندسة البرمجيات Software Engineering and Information Systems، الذكاء الصنعي (أو الاصنطاعي كما يطلق عليه في بقية الدول العربية) Artificial Intelligence، وهندسة الشبكات والنظم Networks and Systems Engineering.

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

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

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

طبعاً يختلف هذا التقسيم بين جامعة أو أخرى، ولكن هذه هي الخطوط العامة…

لاحظ أن الدراسة في تلك الكلية تعطيك فكرة واسعة في كثير من المواضيع، وهذه الفكرة سطحية في كثير من الأحيان، وهناك كثير من المواد التي لا تفيدك في مستقبلك كمبرمج بشكل مباشر، أو لا تفيدك على الإطلاق، أي أنك تدرس في الجامعة مواد *لن* تهمك في حياتك المهنية، فمثلاً، لن يساعدك فهم أنصاف النواقل في أن تكون مبرمجاً أفضل، ولن يضرني عدم دراستها! ولكن -أعترف- ذلك يبقى ضمن مجال الثقافة التي ستبني قاعدتك العلمية كمهندس، ولكن من جديد، المبرمج ليس مهندس بالضرورة، فلن أضيع وقتي فيما لن يفيدني في البرمجة بشكل مباشر! باختصار، سيكون تركيزنا على البرمجة وعلومها وما يصب في مصلحتها، من فروع الرياضيات مثلاً، أليس هذا ما نحتاجه فقط في البرمجة؟ :)

إنه لطريق طويل – الجزء الأول

05/02/2010

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

هذا السيناريو يتكرر كثيراً جداً، هناك الكثيرون ممن يعشقون البرمجة ثم لا يدرسون – لسبب أو لآخر – في كلية علوم الحاسوب CS (أو ما يطلق عليه، وبشكل غريب، هندسة المعلوماتية)، يبتعدون إلى كليات تقنية أخرى (كهندسة الإلكترون، الاتصالات، الحواسيب Computer Engineering، …)، أو ما هو أبعد من ذلك، كليات هندسية غير تقنية (هندسة مدنية، تصميم معماري، …)، أو ما هو أبعد من ذلك…

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

هنا يتخذ صاحبنا القرار، لن أضيع كل ذلك الوقت الذي قضيته حتى وصلت إلى ما أنا عليه الآن، هذا الوقت الذي سأُسأل عنه مرتين يوم القيامة، مرة حين أُسأل عن عمري، ومرة أخرى حين أسأل عن شبابي، وكلاهما أمضيت قسماً لا بأس به منهما في “البرمجة”…

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

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

ما الأخبار؟! الجديد في سيلفرلايت 4

03/02/2010

قبل أسبوع وصلتني رسالة من أخ من المغرب العربي يسألني عن تلك “الغيبة” الطويلة عن المدونة، راجعت تاريخ آخر تدوينة فوجدت أنها من خمسة أشهر تماماً! لقد تفاجأت فعلاً، لم أكن أتوقع أن كل تلك الفترة قد مرت منذ بدأت حالة الخمول التي مرت بها المدونة.

هذا الأخ اللطيف أحد المتحمسين لتقنية سيلفرلايت، وهو يسألني إن كنت أنوي أن أتابع الدروس التي بدأتها عن تلك التقنية، والتي توقفت – أي الدروس – قبل عامين!! لم أصدق أيضاً، ثم وجدت أن آخر ما كتبت عن سيلفرلايت كان في الشهر الثاني من العام 2008، قبل سنتين تماماً، واجهت صعوبة في تصديق الأمر ثم أقنعت نفسي أن النصر هو لدورة الزمن!

حسناً، إذن سنلخص أهم الأخبار التي حصلت خلال هذه الأشهر الطويلة التي مرت:

- بعد أن طرح سيلفرلايت 3 بشكل نهائي في التاسع من يوليو \ تموز 2009، استمرت مايكروسوفت بطرح تحديثات دورية لهذا الإصدار، آخرها كان قبل أيام باسم Silverlight 3 GDR 3 وهو يحمل الرقم 3.0.50106.0.

- أعلنت مايكروسوفت قبل حوالي أربعة أشهر عن سيلفرلايت 4، وطرحت منه النسخة Beta 1. في هذا الإصدار العديد من التحسينات الرائعة والتي تجعل المنصة منصة ناضجة متكاملة يمكن الاعتماد عليها، وهو ما لم يكن الحال عليه سابقاً لو أردت رأيي، هناك قائمة طويلة من الميزات الجديدة، سألخصها بـ:

  • البداية مع دعم اللغة العربية ودعم الكتابة من اليمين إلى اليسار في التطبيقات، بالإضافة إلى الكثير من تحسينات الـLocalisation.
  • تحسينات في التعامل مع البيانات عن طريق WCF، وتحسين ربط البيانات Data binding.
  • دعم متصفح غوغل الجديد، غوغل كروم.
  • دعم الطباعة.
  • دعم التعامل الكامل مع لوحة المفاتيح Keyboard في وضع ملء الشاشة Full-screen وتحسين التعامل مع الماوس بدعم الزر الأيمن وعجلة الماوس Wheel/Scroll.
  • تحسين الواجهات عن طريق تحسين المؤثرات الحركية Animation effects ودعم الـThemes لأدوات الواجهة Interface Controls، بالإضافة إلى تحسينات في بعض الأدوات وأبرزها الـDataGrid والـRichTextBox.
  • طريقة أكثر ملاءمة لعرض الرسائل والتنبيهات للمستخدم.
  • دعم التعامل مع المايكروفون وكاميرا الويب Web-cam.
  • دعم الحافظة Clipboard والسحب والإفلات Drag-and-drop.
  • دعم تعدد اللمس Multi-touch.
  • دعم MEF ـ (Managed Extensibility Framework) والذي سأتحدث عنه قريباً إن شاء الله.
  • دعم حماية محتوى H.264.
  • دعم التعامل مع عناصر COM المحلية (Local COM objects).

هاه! أشعر بارتياح نفسي إذن عدت إلى التدوين، سأحاول أن أستغل هذه العطلة القصيرة بكتابة تدوينة كل يوم (لا وعود هناك :) ).

هل ستدمر مايكروسوفت مشروع مونو؟

03/09/2009

مشروع مونو هو مشروع حر ومفتوح المصدر ينتج أدوات للمطورين تحاكي المواصفات القياسية لبعض تقنيات مايكروسوفت المنشورة ضمن جمعية مصنعي الكمبيوتر الأوروبية ECMA، فعلى سبيل المثال هناك Compiler للغة #C يخضع لمواصفات Ecma-334.

يضيف هذا المشروع ميزة ثقيلة جداً لا توفرها أدوات مايكروسوفت الأصلية هي أن أدواته تعمل على العديد من الأنظمة (Cross-platform)، وتشمل الأنظمة التي يدعمها Linux, BSD, UNIX, Mac OS X, Solaris بالإضافة إلى نظام Windows الذي تدعمه أدوات مايكروسوفت طبعاً.

المشكلة هي أن مونو اعتمد في بعض أجزائه (كـWindows Forms و ADO.NET) على تقنيات لم تشارك مايكروسوفت مواصفاتها مع جمعية ECMA واستأثرت بها لنفسها دون مجتمع المطورين، مما وضع مشروع مونو تحت مرمى نيران مايكروسوفت، والأغلب أن مايكروسوفت تستطيع أن تدمر مونو لو أرادت بدعوة قضائية بسيطة.

ما صرح به ريتشارد ستالمان Richard Stallman، مؤسس مشروع GNU، هو أنه من الخطر الاعتماد على مونو في المشاريع البرمجية، كونه معرض للزوال بإجراء بسيط من مايكروسوفت، وقد لقي رأيه ضجة في أوساط مستخدمي مونو، وهو ما استجابت له مايكروسوفت بأنها وضعت مواصفاتها Ecma-334 (للغة #C) و ECMA 335 (للـCLI) ضمن وعدها للمجتمع، بأنها لن ترفع أي دعوة قضائية ضد أي شخص ينتج، يوزع أو يستخدم أي إصدار بديل لتقنية NET. عن إصدار مايكروسوفت الأصلي، والواضح من هذا أن كل ما تريده مايكروسوفت هو انتشار أكبر لتقنياتها في مجتمع المطورين، وهو ما يعني حتماً نفع وربح أكبر للشركة، فمشروع مونو يصب حتماً في فائدة مايكروسوفت، فلماذا عليها أن تحاربه؟ فجوابي الشخصي عن سؤال “هل ستدمر مايكروسوفت مشروع مونو؟” هو ببساطة لا، وهو ما يختلف عليه الكثيرون، فرغم هذا الوعد لم تطمئن منظمة البرمجيات الحرة FSF، وقالت في موقعها أن هذا الوعد فارغ ولا يحمي مونو ولا غيره، كون الوعد لا يشمل إلا بعض أجزاء مونو، وجددت تحذيرها بعدم الاعتماد على مونو، فهو سيظل عرضة لتدمير مايكروسوفت.

[المصدر:ويكيبيديا]


Follow

Get every new post delivered to your Inbox.