ظهور رجل يزعم أنه المهدي المنتظر في السعودية

ظهور رجل يزعم أنه المهدي المنتظر في السعودية

أصدرت محكمة في السعودية حكما بسجن رجل افريقي لمدة سنة وجلده 60 جلدة لزعمه بأنه المهدي المنتظر.

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

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

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

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

تعلم كل شيءعن البرمجة بسنتين

تعلم كل شيءعن البرمجة بسنتين

By uramium

هذه المدة هي كل ما تحتاجه فعلاً لتعلم كل علوم البرمجة في الحاسب، احسب معي:

تعلم جافا في 21 يوم، ولغة C++ في 24 ساعة ، وبدورة سريعة أتقن العمل على SQL Server وكذلك Visual Basic  خطوة بخطوة. أي كذب تسوقه عناوين الكتب هذه التي تنتشر بالسوق، هل فعلاً الجافا هي مسألة 3 أسابيع ، لم كل هذا التسويق للبرمجة على أنها مسالة وقت وأي وقت.

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

ماكتبته هنا هو تصور بيتر نورفيغ (باحث في شركة غوغل ، ورئيس مكتب العلوم الحوسبية في وكالة NASA)، بمقال اسمه "تعلم البرمجة في عشر سنين"ويقول في ما يسميه وصفة لتكون مبرمجاً ناجحاً:

- جرب أن تولي اهتماماً بالبرمجة ، وأن تكتب برامجاً، الأمر مسل بشكل أو بآخر ، وسيمكنك من الاستمرار المدة الكافية لتعلمه وسيعطيك دافعاً لذلك.

- الأهم من أي دورة تدريبية: تحدث إلى مبرمجين آخرين ، وأقرأ شيفرات برمجية لآخرين

- أفضل طريقة للتعلم هي التعلم بالأفعال: أي أن تكتب البرامج وتجربها لتتعلم منها

- لا بأس ببداية أكاديمية في معهد أو جامعة، ولكن عليك العلم أن الكتب لا تصنع مبرمجاً كما هي الحال بمن يتعلم كل شيء عن الفراشي والأصبغة (لن يصبح رساماً)

- أعمل بمشاريع برمجية مع مبرمجين آخرين: كن أفضل مبرمج في المجموعة في بعض الاحيان وأسوأهم في أحيان أخر، عندما تترأس مجموعة تختبر قدرتك على قيادة وتنظيم مجموعة مبرمجين، وعندما يكون غيرك قائد مجموعة ، تتعلم أشياء من قيادتهم للمجموعة.

- حاول أن تعمل على مشاريع كتبها مبرمجون قبلك، ستتعمل أدوات جديدة ومناهج قد تكون غائبة عنك

- تعلم العديد من لغات البرمجة ولتكن كل واحدة متخصصة بأمر ما

- تعلم كل شيء عن أداء الكومبيوتر (كم من الوقت يستغرق لجلب WORD من الذاكرة وكذلك كم يستغرق من الوقت لتنفيذ أمر ما… الخ)

- تعرف على ضوابط اللغة قدر الإمكان

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


علم نفسك البرمجة في عشرة أعوام

علم نفسك البرمجة في عشرة أعوام

بيتر نورفيج Peter Norvig


هذه ترجمة لمقال بعنوان "علم نفسك البرمجة في عشرة أعوام" (Teach Yourself Programming In Ten Years) لبيتر نورفيج، منسق البحث العلمي بشركة غوغل.


لم الجميع في عجلة من أمرهم؟

فور دخولك إلى أي مكتبة ستجد العديد من الكتب من قبيل "علم نفسك لغة Java سبعة أيام" جنبا إلى جنب مع كتب أخرى تعرض تعليمك Visual Basic و Windows و الإنترنت…خلال بضعة أيام أو ساعات. فقد قمت بإجراء البحث التالي على موقع Amazon.com:

pubdate: after 1992 and title: days and (title: learn or title: teach yourself)

و حصلت على 248 نتيجة. أول 78 نتيجة كانت كتب حاسوب أما النتيجة رقم 79 فكانت (Learn Bengali in 30 days). عند استبدال كلمة "days/أيام" بكلمة "hours/ساعات" فقد كانت النتيجة قريبة بشكل مذهل، فقد أرجع هذا البحث 253 كتابا. أول 77 منها كانت كتب حاسوب أما الكتاب الذي يليها فكان (Teach Yourself Grammar and Style in 24 Hours) في المنزلة رقم 78. 96% من أول 200 كتاب أرجعها البحث كانت كتب حاسوب.

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

لنحلل ما يمكن أن يعنيه عنوان من قبيل "تعلم لغة Pascal في سبعة أيام":

  • تعلم: في ثلاثة أيام لن يتوفر لك ما يكفي من الوقت لكتابة برامج ذات قيمة لتتعلم من نجاحاتك و إخفاقاتك في كتابتها. لن يتوفر لك الوقت أيضا للعمل مع مبرمج خبير و فهم كيفية العيش في مثل هذه البيئة. باختصار، لن يتوفر لك من الوقت ما يسمح لتعلم أي شيء له قيمة. إذا، فهم يتحدثون فقط عن ألفة سطحية مع اللغة و ليس فهما عميقا لها. كما قال البابا ألكساندر: تعلم القليل هو أمر خطير.
  • باسكال/Pascal: قد تستطيع خلال ثلاثة أيام تعلم النحو (syntax) الخاص بلغة Pascal (إذا كنت تعرف لغة برمجة أخرى)، إلا أنك لن تستطيع تعلم الكثير عن كيفية استخدام هذا النحو. باختصار، فإنك إذا كنت مبرمجا بلغة Basic فقد تستطيع تعلم برامج بأسلوب لغة Basic مستخدما النحو الخاص بلغة Pascal لكنك لن تستطيع تعلم إيجابيات و سلبيات لغة Pascal.إذا ما الفائدة من تعلم لغة برمجة بهذه الطريقة؟ يقول ألان بيرليس (Alan Perlis) : "اللغة التي لا تغير الطريقة التي تفكر بها بالبرمجة لا تستحق-أي اللغة- أن تتعلمها". أحدى الفوائد هي أنك قد تضطر لتعلم القليل من لغة Pascal (أو ربما Visual Basic أو JavaScript) لإنجاز مهمة محددة. لكنك في مثل هذة الحالة لا تتعلم كيفية البرمجة، و إنما كيفية إنجاز مهمة محددة.

  • في ثلاثة أيام: للأسف، فإن هذا الوقت لا يكفي كما سيوضح القسم التالي.

تعلم البرمجة في عشرة أعوام

أثبت الباحثون (Hayes, Bloom) أنه يلزم عشرة أعوام تقريبا لتطوير الخبرة في أي من المجالات كلعب الشطرنج أو التأليف الموسيقي أو الرسم أو العزف على البيانو أو السباحة أو التنيس أو علم الأعصاب أو علم طبقات الأرض. لا يبدو أن هنالك أية طرق مختصرة، فحتى موتزارت، الذي كان أعجوبة موسيقية في سن الرابعة، استغرقه الأمر 13 سنة أخرى ليبدأ بإنتاج موسيقى عالمية رفيعة المستوى. أما في لون آخر من الموسيقى، فقد بدا أن فرقة البيتلز بدأت مسيرتها بسلسلة من الأغاني التي حققت المرتبة الأولى و ظهور على برنامج إد سوليفان (Ed Sullivan show) عام 1964. إلا أنهم كانوا يغنون في نواد صغيرة بمدينتي ليفربول و هامبورج منذ عام 1957. و بالرغم من جاذبيتهم الكبيرة منذ البداية، إلا أن أول أغنية حققت لهم نجاحا باهرا (Sgt. Peppers) صدرت عام 1967. سامويل جونسون (Samuel Johnson) يعتقد أن الأمر يستغرق أكثر من عشر سنوات، فهو يقول: "التميز في أي مجال لا يمكن إدراكه إلا من خلال العمل الذي يتطلب عمر الإنسان كله، و لا يمكن إدراكه بأي ثمن أقل من ذلك". أما تشاوسر (Chaucer) فيشكو من أن: "الحياة قصيرة و تعلم المهنة يتطلب وقتا كثيرا".

أما وصفتي للنجاح فهي كما يلي:

  • أحب البرمجة لأنهك تجد فيها متعتة و احرص على أن يبقى الأمر ممتعا بحيث تكون مستعدا لإعطائه عشرة أعوام من حياتك.
  • تحدث مع مبرمجين آخرين و اقرأ برامج لغيرك. و هما أمرا أهم من أي كتاب أو درس للبرمجة.
  • برمج. أفضل طرق التعلم هي التعلم عن الممارسة ، و إذا أردنا أن نعبر عن هذا الأمر بطريقة أفصح نقول: "لا يمكن أدراك درجة عالية من التميز في مجال معين من خلال طول ممارسته ، و إنما من الممكن التميز عن الطريق الجهد الذي يبذله الشخص عن وعي منه بقصد التحسن". (صفحة 336). و "التعلم الأكثر فاعلية يتطلب: وجود مهام محددة تتناسب صعوبتها مع قدرات الشخص و وجود تقييم بناء و فرص للتكرار و تصحيح الأخطاء". (صفحة 20-21). يعد كتاب: Cognition in Practice: Mind, Mathematics, and Culture in Everyday Life من المراجع المهمة لوجهة النظر هذه .

  • إذا أردت، فبإمكانك أن تستثمر أربع سنوات في الجامعة و هو الأمر الذي سيعطيك القدرة على التنافس على بعض الوظائف التي تتطلب مؤهلات علمية. كما أنه سيزودك بفهم أعمق لهذا المجال. إلا أنك إذا لم تستمتع بالجامعة فبإمكانك-مع شيء من الإلتزام- الحصول على خبرات مشابهة. على كل حال، فإن التعلم عن طريق الكتب فقط لن يكون كافيا. يقول أريك رايموند (Eric Raymond) مؤلف The New Hacker's Dictionary: "الحصول على درجة في علم الحاسوب لن يجعل منك مبرمجا خبيرا مثلما أن دراسة الفراشي و الصباغ لن تجعل منك رساما خبيرا". أحد أفضل المبرمجين الذين وظفتهم أنتج الكثير من البرامج المميزة كما أن هنالك مجموعة أخبارعنه و قد جمع ما يكفي من الأسهم لشراء ملهى ليلي خاص به.

  • اشتغل في مشاريع مع مبرمجين آخرين. كن أفضل المبرمجيين في بعض المشاريع؛ وكن الأسوء في البعض الآخر. عندما تكون الأفضل، فإنك سوف تختبر قدرتك لقيادة المشروع ولتلهم الآخرين برؤيتك(وجهة نظرك).أما عندما تكون الأسوء فأنك ستتعلم مما يفعله قادة المشروع(العباقرة)، وما لايحبون فعله (لأنهم سيجلعونك تفعل لهم ما يرغبون).

  • إشتغل في مشاريع بعد مبرمجين آخرين و افهم برامج كتبها غيرك و اعمل على إصلاحها من دون وجودهم. فكر في كيفية تصميم برامجك لتجعل صيانتها أسهل لمن هم بعدك.
  • تعلم على الأقل ست لغات للبرمجة. إجعل منها واحدة تدعم التجريد الصنفي (Class Abstraction) كلغة Java أو C++. و واحدة تدعم التجريد الوظيفي (Functional Abstraction) كلغة Lisp أو ML. و لغة تدعم التجريد النحوي (Syntactic Abstraction) كلغة Lisp و لغة تدعم الdeclarative specifications مثل Prolog أو C++ templates و لغة تدعم الcoroutines كلغة Icon أو Scheme و لغة تدعم التوازي (Parallelism) كلغة Sisal.
  • تذكر أن هنالك "حاسوب" في "علم الحاسوب". عليك أن تعرف كم من الوقت يلزم لتنفيذ تعليمة (Instruction) أو إحضار كلمة من الذاكرة -مع و بدون cache miss- أو كلمات متتالية من القرص أو التحرك إلى مكان جديد على القرص. (الأجوبة موجودة هنا)

  • شارك في جهود توحيد اللغات(Standardization). قد يكون ذلك من خلال المشاركة في لجنة ANSI C++ أو عن طريق كمية الفراغ الذي ستتركه في أول كل سطر من برنامجك. في كلتا الحالتين فإنك تتعلم ما يحبه الآخرون في لغة معينة، كم يحبونه و لماذا.
  • كن منطقيا بما فية الكفاية للإنسحاب من جهود توحيد اللغات بأسرع وقت.

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

فريد بروكس (Fred Brooks) يصف في مقاله (No Silver Bullets) خطة من ثلاثة أقسام لإيجاد مصممي برامج ممتازين:

  1. قم بتحديد أحسن مصمي برامج بشكل منهجي في أبكر وقت ممكن.

  2. عين معلما يكون مسؤولا عن تطوير ذوي الإمكانات و اتفظ بملفهم الوظيفي.
  3. وفر فرصا للمصممين الذين يتحسنون للتفاعل و تحفيز بعضهم البعض.

هذا كله يفترض أن هنالك أشخاصا يمتلكون مزايا تجعلهم مصممي برامج ممتازين و هنا تصبح مهمتك أن تهتم بهم. ألان بيرليس (Alan Perlis) وضعها بشكل أكثر إيجازا، فهو يقول: "من الممكن تعليم أي إنسان كيف ينحت. أما مايكل أنجلو فكان يجب تعليمه كيف يجب أن لا ينحت. و الأمر ذاته ينطبق على المبرمجين الممتازين".

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


المصدر