الثلاثاء، 28 يوليو 2009

هل لغتنا قاصرة ؟

عندما نشرت مقالتي بعنوان شيفرة مصدرية للقراءة تندر أحد الاصدقاء من كتابتي “شيفرة مصدرية” بدلا من Source Code على الفيسبوك.alphabet

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

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

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

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

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

و بنفس الوقت أنا لا ادعوا غلى ان يكف الناس عن تعلم اللغة الغنجليزية فهي لغة العلم و العمل في هذا العالم.

الاثنين، 20 يوليو 2009

شيفرة مصدرية للقراءة !!

تكلمت في تدوينة “كيف تستمر بالتعلم وتطور نفسك”  أن قراءة الشيفرة المصدرية (Source code) من الامور التي تساعدنا على تعلم البرمجة أكثرو ساقتبس هنا قولا لإيريك س. ريموند منظر البرمجيات مفتوحة المصدر الشهير في مقالتة المشهورة How to become a hacker عن اهمية قراءة  الشيفيرة المصدرية.
Learning to program is like learning to write good natural language. The best way to do it is to read some stuff written by masters of the form, write some things yourself, read a lot more, write a little more, read a lot more, write some more ... and repeat until your writing begins to develop the kind of strength and economy you see in your models.
وهذه ترجمة الفقرة من النسخة العربية للمقال بتصرفي.
تعلم البرمجة يكاد يكون مثل تعلم أي لغه بشريه حيث أفضل طريقة لتعلم اللغات البشريه هي قراءة بعض ما هو مكتوب من قبل أساتذة تلك اللغات و كتابة بعض الأشياء بنفسك و قراءة الكثير و كتابة القليل ثم قراءة الكثير و كتابة القليل حتى تبدأ كتاباتك في التطور لتصل إلى المستوى الذي تريده.
و هذه حقيقة فنحن حتى الأن في صناعة البرمجيات نتعلم من بعضنا الاخر فما ان تخرج التقنية او اللغة إلى العلن حتى يتبعها موجة من التفاعل حول انسب الطرق لإستخدامها وافضل اساليب التطبيق فيما يعرف بال(Patterns and Practices )  و بدون هاذا التبادل المعرفي لما كان لنا إلا أن نتعلم من اخطانا و هو ما يكلفنا كثيرا.
سأضع هنا مجموعة من المشاريع التي تعلمت منها و تعلم من طريقة كتابتها.
  • DasBlog: برنامج التدوين الاول في عالم دوت نت فكرته ان يوفر بنية لمدونة تعتمد على الملفات البسيطة لتخزين محتوياتها فيه الكثير من الافكار الجميلة على الرغم انه اصبح قديما فبعض المشاكل التي يحلها مثل القوالب (Themes)اصبحت موجودة بشكل طبيعي و بشكل افضل من قبل المكتبة الاساسية في الدوت نت و هي خاصية تدعى بال (Master Page).
  • SubText: برنامج تدوين اخر و لكنه على نطاق اوسع يدعم قواعد بيانات مختلفةو يصلح لإنشاء مجتمع تدويني.
  • DotNetNuke: لم يتوقف هذا البرنامج عن إضافة الجديد و الجميل من الأفكار ليدفع به ليكون أفضل برنامج إدارة محتوى مفتوح المصدر في عالم الدوت نت.
  • Storefront: قام الرائع روب كونري ببناء هذا البرنامج مع مجموعة من الشروح المسجلة علية لتعليم المكتبة الجديدة لبناء تطبيقات الويب في دوت نت ASP.NET MVC و التي تقدم إطار عمل Framwork شبية في بعض نواحيها ب Ruby On Rails و PHP Cake و Django و غيرها من المكتبات الجديدة حيث كان احد أفراد الفريق الذي قام ببنائها و على فكرة المكتبة ذاتها مفتوحة المصدر بالكامل و تم بنائها بالاعتماد على مراجعات مجتمع المطورين حول مايكروسوفت.
  • C4F dev kit:في هذا ستجد مجموعة من البرامج الجميلة التي نشرت في دروس في مدونة Codeing 4 Fun تستطيع أن تتعلم فيها اشياء مختلفة مثل برامج تشارك الصور او التعامل مع البلوتوث من برنامجك.
  • Witty: هذا برنامج للتراسل على تويتر Twitter  مبني بإستخدام WPF لعمل واجه المستخدم.
هذه برامج تعلمت منها الكثير و ارجو لكم أن تستفيدو منها ,  وحتى تكون الإستفادة اكثر أمرر و اجب تدويني او ما يطلق علية Tag لكل من
و الواجب هو:
كيف تصقل مهاراتك كمبرمج؟
ما رأيك بفكرة قراءة الشيفرة المصدرية للتعلم ؟
و هل هناك برامج مفتوحة المصدر تعلمت منها ؟ إذكرها إن وجد
وصلات:

السبت، 11 يوليو 2009

الجديد في SQL Server 2008

اليوم نشرصديقي العزيز عماد العشي الحلقة الجديدة من برنامجه الجميل دوت نت عربي, هذه الحلقة اتتdotnetarabi_1 مع احد اعضاء مجتمع جوردف JorDev الفاعلين و هو محمود مناصر يتحتدث فيها عن الجديد في Microsoft SQL Server 2008 حيث لدية من الخبرة ما يقارب ال 7 سنين في التعامل مع هذا البرنامج. 

نرجوا لكم الإستمتاع و انت تستمعون إلى هذه الحلقة و أنا حاليا اقوم بإنزال الحلقة  لأستمع لها.

الأحد، 5 يوليو 2009

كيف تستمر بالتعلم و تطور نفسك كمبرمج

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

إذا كيف أتعلم وهناك الكثير من الطرق والمواد في الشبكة و كيف سأعرف الطريق ؟

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

  • الكتب : سنويا تصدر الكثير من الكتب التفقنية في مجالات متعددة لكن هل يستطيع معضمها إفادتك فالكتب بالنسبة لي تنقسم إلى نوعين, النوع الاول الذي يعلمك كيف تكتب الشيفرة المصدرية بإستخدام لغة س أو ص و بإستخدام مكتبة ع أو ل و لا يبتعد اكثر من هذا و معضم الكتب تقع في ضمن هذا المجال, و هناك النوع الثاني الذي يعلمك كيف و لماذا و أين تستخدم هذه الميزة او تلك المكتبة و هذه هي الكتب المطلوبة و التي ترتقي بطريقة تفكيريك و تفيدك.مبرمج من شركة فوغ غريك يقرا في مكتبة الشركة
  • تستطيع أن تخصص ساعة يوميا من عملك لتتعلم شيأ جديدا  و نعم انا أقول عملك ولا تسمح لنفسك بالشعور بالذنب ابدا لذالك , لأنك ببساطة ستجد أن مديرك في العمل في يوم من الأيام عندما يقيمك يقول لك: إنك لا تتابع أخر التقنيات أوانت لا تتعلم أشياء جديدة ,و لكن ما  ستتعلمة سيظهر على طريقة كتابتك للبرامج و هو ما يفيد العمل و يفيدك أنت, لذا لا بأس أن تخصص هذا الوقت يوميا للقراة والتعلم.
  • هناك العديد من البرامج المصورة التعليمية ضمن ما يصنف كويب كاست أو سكرين كاست  وهي موجودة على الإنترنت بكثرة من قبل عدة جهات,حيث يقوم أحدهم بشروح موضوع معين ضمن سلسلة أو في مرة واحدة قد تكون احيانا تسجيلا لمحاضرة فعلية أو تكون مخصصة للويب,  لذا ببساطة تستطيع أن تنزل هذه البرامج و تشاهد احدها في كل أسبوع مرة على الأقل, تستطيع حتى أن تجمع مجموعة من زملائك في العمل لتشاهدوا أحدها في وقت الغذاء مثلا , أو تخصصوا ساعة من الدوام بالإتفاق مع إدارة عملكم.
  • إنتمي لمجموعة المستخدمين في منطقتك  هذا المهوم قليل لدينا في المنطقة العربية لكنه بدأ يتعزز في الاونة الاخيرة حيث بدات تجد مجموعة من المبرمجين الذين يعملون على تقنية معينة يجتمعون بشكل دوري لتبادل المعلومات و التعرف على بعضهم بعضا و ما إلى ذلك سأضع في هذه المقالة قائمة بمجموعات مستخدمي دوت نت التي أعرفها في المنطقة.
  • المقابلات الصوتية مع المبرمجين حيث بامكانك انزالها من الإنترنت وو ضعها في الايبود خاصتك او هاتفك النقال لتستمع لها في طريقك إلى العمل مثلا.
  • المدونات : حافظ على مجموعة من المدونات التي تتابعها  وستتعرف بمرور الوقت بمن يفيديك بمدونتة اكثر وسأضع هنا قائمة بأكثر المدونات إفادة لي.  مبرمج اخر من فوغ غريك في وقت العمل
  • ثم نأتي للطريقة الاخيرة و هي قراءة الشيفرة المصدرية للبرامج , سيستغرب الكثيرون فأفول لهم ام تجدوا ان من أراد ان يحسن الكتابة يطثر من القراة لإمتلاك المفرادات والتحكم بها و لإمتلاك الأدوات الخاصة بها, و عندنا معشر المبرمجين  ستجد أن الأمر مشابة يدخل الشاب من الجامعة إلى الشركة بدونخبرة تذكر ربما يكون بنى مشروع تخرجه و ربما كتب عدة مشاريع لأناس اخرين لكنه لا يكون على ذات الخبرة ببناء مشاريع كبيرة فيبدأ التعلم من الزملاء في العمل يقراء بشفريتهم ويكتب مثلهم , ولكن هذه قد يضره إذا كانوا يكتبون بطريقة خاطئة, لذا تستطيع أن تبحث عن برنامج معين من البرامج المفتوحة و تقراءه و تتعلم منه, و تعجبني سلسلة من التدوينات للمدون المشهور سكوت هانسلمن بعنوان “Weekly Source Code” إذ يقوم سكوت في كل تدوينة منها بذكر شيء لفت نظره في لغة ما أو في مكتبة برمجية  ما أو في برنامج مفتوح المصدر أو بتطبيق فكرة معينة و انا انصح بمتابعة هذه السلسة  كثيرا.

هذه كانت مجموعة من النصائح لكيفية التعلم أما الأن فساضع مجموعة من المصادر التي أستخدمه.

  • مدونات : هنالك الكثير من المدونات الرائعة لكن هنا سأضع بعض أفضلها
  1. سكوت هانسلمن : سكوت من المشهورين في عام برمجة الدوت نت و هو مشارك ببرنامج مفتوح المصدر يدعى داس بلوغ و يعمل في مايكروسوفت.
  2. مجموعة Code Better : وعي مجموعة من المدونين الذين يتكلمون عن تطوير البرامج بتقنية دوت نت و بأستخدام الأدوات والمكاتب مفتوحة المصدر.
  3. مجموعة devlicio.us: و هي أيضا مجموعة من المبرمجين المهتمين بالويب و الدوت نت.
  4. طبعا بجانب المواقع الخاصة بالشركات المنتجة كموقع MSDN لمطوري مايكروسوفت.
  • مواقع البرامج المرئية و السكرين كاست:
  1. dimecasts : موقع ينشر فيه مجموعة من المطورين ملفات فيديوة بمدة 10 إلى 12 دقيقة تتكلم عن تقنية معينة  أو طريقة لحل مشكلة معينة.
  2. MSDN WebCasts : هنا ستجد مجموعة من المحاضرات الرائعة من قبل مطوري التقنيات المختلفة في مايكروسوفت.
  3. dnrTV : وهو نسخة الفيديو من البود كاست المشهور Dot Net Rocks  حيث يقوم احد المبرمجين المختصين بشرح موضوع ما في ما يقارب الساعة.
  4. Virtual Alt .NET: هدا الموقع يعقد أجتماعات بشكل دوري تبث عن طريق office live meeting  تستطيع أن تحضرها أو أن تحضرها على قناة الموقع في موقع مشاركة الفيديو viddler.
  • برامج البود كاست (الصوتية الإذاعية).
  1. برنامج الصديق العزيز عماد العشي دوت نت عربي اول برنامج دوت نت عربي بالعالم (عماد ننتظر الحلقات الجديدة بعد حصولك على أدوات التسجيل الجديدة).
  2. Hansel Minutes : برنامج سكوت هانسلمن الاسبوعي فيه كثير من الفائدة و المتعة.
  3. Dot Net Rocks:اول برنامج إذاعي عن الدوت نت  وصل إل حلقته السادسة بعد الأربعمئة.
  4. herding the code :مجموعة من المدونين المبرمجين يتحدثون في شتى القضايا في المجال.
  • مجموعات المبرمجين الخاصة بدوت نت بالمنطقة او ما يسمى بال User Group:
  1. JorDev: مجموعة مستخدمي دوت نت بالأردن.
  2. PalDev: مجموعة مستخدمي دوت نت بفلسطين.
  3. dotNetWork:مجموعة مستخدمي دوت نت من مصر.
  4. DevLifeStyle:مجموعة مستخدمي دوت نت بالرياض
  5. DotNetBoom: مجموعة دوت نت بالكويت.

هذه المجموعات التي اعرفها أذا كنت تعرف مجموعة ليست مدرجة هنا رجاء اضفها بالتعليقات.

أرجو ان أكون قد قدمت مايفيدكم و ارجو ممن له ملاحضات او إضافات ان يشارك لنثري الموضوع أكثر.