فى ذلك لان اعداد المراجع الكبيرة امر مكلف يحتاج الى وقت
طويل ودعم مادى لايتوفر بسهولة.
يسمح لهم بسهولة الاندماج مع العالم الغربى فيمكن للمبرمج
العربى قراءة الكتب او المقالات الانجليزية ويمكن ايضا له
المشاركة فى المنتديات والمشاريع مفتوحة المصدر لتباددل
الخبرات وتحقيق القائدة المشتركة.
الكتب العربية وخاصة ان اللغة الانجليزية هى لغة العلم ومن
المستحيل نظريا ترجمة جميع الكتب الانجليزية الى اللغة العربية
وخاصة انها ملاين الكتب - كما ان الاستمرار فى البرمجة لمن
ليس لهم دراية باللغة الانجليزية امر شبه مستحيل - يكاد يكون
ان توفر الكتب العربية يعنى سرعة فى
التعلم - ويتيح الفرصة للشباب صغير السن من هو دون
السادسة عشر ولايجيدون الانجليزية بطلاقة - وحيث ان الشباب
صغير السن بحاجة الى كتب فتجد ان 961٠ تقرييا من
الكتب العربية تخاطب تلك الفئة - وكتب المبتدئين هى الاكثر
وبالتحديد كتابة الكتب المجانية بدات بكتاب (أسرع طريق لتعلم
البرمجة) وهو فى الحقيقة عبارة عن كتيب صغير الحجم لكنه
دسم بالمعلومات بالنسبة للمبتدئين وفى الحقيقة حقق هذا
الكتيب الصغير نجاحا منقطع النظير لم اكن اتوقعه ابدا حيث وصل
عدد القراء للكتيب الى اكثر من 70 ألف قارىء من مختلف الدول
العربية مما يدل على الاقبال على عالم البرمجة وخاصة ان اسم
الكتاب مغرى جدا مع العلم انه يستند على لغة 200:00 ا2د5/ا
او لغة © اللغة الثانية فى العالم او لغة ++ اللفة الثالثة فى
عدد المبرمجين والاشخاص المهتدمين باللغة - ولعلك تتصدم اذا
علمت ان لغة 200320 ا52/ا هى اللفة رقم ٠١ على مستوى
الاولى فى العالم لتطوير انظمة قواعد البيانات ويقول عنها الخبراء
وبعد تجربة كتاب (أسرع طريق لتعلم البرمجة) جاءت فكرة تقديم
كتاب يخاطب المبرمج المحترف مما قد يساعد على إعادة ثقتهم
بالكتب العربية وهنا قد نقف قليلا عند نقطة الاحتراف - لتحديد
عند اى مستوى هذا الاحتراف ولكن بعيدا عن الفلسفة يمكن ان
اقول لك ابتعد تماما عن هذه الكلمة وتمسك بكلمة (المبرمج)
لان الكتاب يخاطب 017093850771615 وليس المطورون 08178100855
- قد تكون مبرمج !01091371116 وتعمل كمطور 08/61006١ تقوم
الصعب ان تكون مبرمج 01090857116 وسوف يحتاج الامر منك
لمجهود حتى تحقق ذلك
ان الكتاب يخاطب (المبرمجين) المحترفين فى اعداد التطبيقات
- هنا قد حددنا مستوى الاحتراف وهو القدرة على انتاج
تطبيقات تخدم السوق فى الشرق الاوسط والذى يرتكز بنسبة
6*٠ على التطبيقات التجارية والنسبة الباقية للبرامج التعليمية
والوسائط المتعددة 11603 56ان10 و المواجهة بالحاسب
والمستوى الجديد الذى يقدمه الكتاب هو الدعم الفنى والعلمى
الكافى لتصميم وبرمجة مختلف انواع النظم وقد تعرض الجزء
الاول من الكتاب الى نموذج سير العمليات ونمط البرمجة وواجهة
المستخدم بايجاز - لانه لو اتبعنا التفصيل فقد يصل حجم الكتاب
الى ثلاثة اضعاف حجمه مما يسبب إرهاق للقارىء وضغط
لايتحمله لان المفاهيم معقدة والايجاز مطلوب حتى لاتشوش
اما هذا الجزء فانه يشمل الجانب النفسى للمبرمج - ان هذا
الجزء يعرض افكار فلسفية رائعة تريح المبرمج من اى ضغط - كما
انها تجيب على الكثير من الاسئلة التى تحير المبرمجين مثل
(هل اتعلم اكثر من لغة ؟ ماهى افضل لغة ؟ هل اعمل بالادوات
المجانية ؟ ماذا عن السوق ومتطلباته ؟ اشعر بالضعف امام
المشاريع مفتوحة المصدر ؟ كيف اصل الى اعلى مستويات
الاحتراف ؟ هل انا مبرمج محترف ؟ العمر يتقدم ومازلت مبرمج
عادى ! كيف اكون مبرمج مهم ! كيف اكون مبرمج عالمى ! )
وبالتاكيد ليس الهدف هو الفلسفة وانما الهدف هى استخدامها
للوصل للاجابات التى لابد ان تصل اليها قبل الخوص فى معركة
برمجة النظم
وبالتاكيد الجزء الثانى ليس كله عبارة عن فلسفة والا انصرف عن
الكتاب كل قارىء لانى اعلم جيدا ان المبرمجين لايقتنعون بالحوار
مهما كان مهما وانما لايرضى عقولهم سوى الاسطر البرمجية او
رسومات التصميمات القيمة ولهذا اتحدث عن فن برمجة النظم
وكيف تقوم ببناء نظام بصرف النظر عن الهدف من وراءه - بحيث
يكون النظام اشبه بالحصن من حيث الاستقرار - واشبه باللوحة
ولعلك تسال الان هل يمكن لمبرمج واحد ان يحقق ذلك - تكون
الاجابة نعم مبرمج واحد يمكنه ان ياسس امبراطورية ولكنه
كما يستعرض الكتب ابرز التكنولوجيا المعاصرة فى تطوير
التطبيقات وسمات التطبيقات المعاصرة - ثم ينصرف بك بعيدا عن
الخفى وهو تكنولوجيا تطوير النظم وليس التطبيقات حتى تلاحظ
الفرق الشديد ولتجمع منها اكبر قد ممكن لانها العدة والسلاح
الذى سوف تستخدمه فى المعركة - معركة برمجة النظم
بمختلف أنواعها.
© البرمجة
قد يتسال البعض وريما الكثير - منذ متى والفلسفة تدخل فى
علم البرمجة - فنرد ببساطة - ان جذور علم البرمجة تعود الى
الفلسفة وتعود الى المنطق وتعود الى الرياضيات والكيمياء
والفيزياء والاحياء ومعظم العلوم الاخرى - حيث ان علم البرمجة
نشاً معتمدا على جميع العلوم - ثم بعد ذلك قام برد الجميل
وساهم فى تطور هذه العلوم تطورا كبيرا.
اجل العلم بالشضىء وانما بغرض رفع المستوى الفكرى
للمبرمجين من حيث القدرة على اتخاذ القرار المناسب بسرعة -
ان المبرمج ليس مجرد شخص يستطيع التعامل مع الحاسب
ويجيد تسخيرة - فات الامر اكبر من ذلك بكثير - ان المبرمج
شخص متعدد الادوار حيث انه علاوة عن كونه مبرمج فانه قائد قد
يدير مجموعة من المبرمجين الاخرين الذين يعملون معه فى
المشروع وقد يكون فرد من افراد هذا الفريق عليه واجبات
والتزامات ينبغى ان يفى بها - وقد يكون محلل يتابع تفيرات
السوق ليحدد متطلباته ويغزو السوق بافكاره المنتجة وقد يكون
خلاصة الامر ان البرمجة (قيادة) للحاسب وللمشاريع وللافراد
و(تخطيط) للمستقبل و (ادراك) لمتطلبات الواقع والبيئة المحيطة
و (علم) بمختلف فروع البرمجة و (فن) يستلزم القدرة على
القيادة تعنى الادارة
الادراك يعنى القدرة على التحليل
ونلاحظ ان هذه احد العناصر الاساسية لتصميم وتطوير البرمجيات
ويجدر بنا الان التعرض لمجموعة مختارة من الدروس الفلسفية
التى تلام المبرمجين.
ان المطر حالة فنية رائعة ونعمة كبيرة لاينكرها احد وهو احد
اسباب استمرار الحياة على الارض - واذا تابعا المطر جيدا -
سوف تلاحظ انك ان فكرت فى متابعة قطرة واحدة فانك ريثما
تنتهى من اتخاذ القرار وتبدا فى المتابعة - فاذا بالقطرة قد
سقطت على الارض وانتهى امرها - اى ان فكرة متابعة قطرة
واحدة تنتهى بمجرد التفكير فيها.
تسقط امامك فانك تنبهر بالمتظر الجمالى ولا تشعر باى خوف -
فقط المتعة حتى انك تنجذب نحو المطر ولا تتردد فى السير تحته
الملابس او خوفا على صحتك - ولكن مع هذه المتعة تجد ان
ذاكرتك لم تلحظ قطرة واحدة بعينها طوال رحلة سقوطها.
تجمع على الارض خاصة اذا كان الطريق غير مجوز لذلك بمعنى
انه يحجز الماء - عندها قد يشعرك ذلك بالقلق - وربما الخوف اذا
زاد مستوى الماء لدرجة تمنعك من المعشى - وربما وصلت
لدرجة من الرعب اذا زاد مستوى الماء لدرجة انك اصبحت فى
هل تشعر اورهنا يتك كمبرمج فى اي فج ؟
اذا كنت تحب الفلسفة مثلى وتعشق البرمجة فانك
من المؤكد انك قد وصلت الى مااقصدة
ولهذا اذا فكرت فى قراءة اى سطر برمجى فانه بمجرد الانتهاء
من الفكرة - فات الامر تقريبا قد انتهى حيث ان عملية فهم اى
سطر على حده لاتتجاوز بضع ثوانى وخاصة لمن يتقن اللغة
ويحترفها
مايقال (الاطلاع على الكود - بسرعة)
حيث كنت امتلك مرجع لاوامر لغة البرمجة كليبر تاليف الاستاذ
مجدى محمد ابو العطا - وكنت بمساعدة هذا المرجع اطلع على
البرامج التى كان قد قام ببرمجتها والدى باستخدام نفس اللغة -
اشعر ان الامر فى غاية البساطة - بصراحة كانت متعة الطفولة
ذلك الامر ايضا يشبه ماكنا نفعله عند دراسة مادة الرياضيات
التى تم استخدامها فى الحل هى قوانين وردت فى المنهج وهذا
البساطة وسهل.
لم تستنج محتويات اى دالة بصورة كاملة او اى فصيلة بصورة
كاملة وذلك شبيه بالنظر الى الامد البعيد تحت المطر.
واذا نظرنا الى عدد الاسطر البرمجية او مساحة الشفيرة
المصدرية فاننا قد نشعر بالرغبة فى النوم خاصة عند الاطلاع
على المشاريع الكبيرة التى قد تصل الى الالاف من الاسطر
البرمجية - وذلك خاصة انها نظم تنسم بالتعقيد - وليس
فقط الحجم الكبير وذلك اشبه بالنظر الى قطرات المطر على
الارض والتى تجمعت لتكون ماء مرتفع قد يشكل خطورة.
فى الواقع لاتتطلع اساسا للشفيرة المصدرية الا بعد ان تتاهل
التعامل مع النظام كمستخدم
4 القدرة على تخيل تصور كامل للنظام - كمستخدم
+ محاولة تحليل وتخيل مكونات النظا م معتمدا على همك له
4 النظر من خلال الامد البعيد اولا ولكن فى الاتجاه الذى تراه
النظر الى كل قطرة على حده فى نفس اتجاه الامد البعيد
الذى قد حددته قى الخطوة السابقة
4 تكرار الخطوتين السابقتين حتى تلم بالنظام
عليك ايضا ان تعلم جيدا ان طريقة دراسة النظم تختلف بالهدف
من الدراسة - فقد يكون الهدف
ل التعلم
4 صيانة النظام من الاخطاء
# تطوير النظام
فى حالة الرغبة فى التعلم فانك تتعلم الجزء الذى تريده بحيث
ترفع مستواك وقد تترك بعض الاجزاء التى تراها صعبة للغاية
ويستحيل التعامل معها فى الوقت الحالى
فى حالة الرغبة فى صيانة النظام من الاخطاء فان تركز على
تعلم الجزء الذى به الخطأً وقد تصلح الخطأً باكثر من اسلوب مثل
اعادة كتابة اجزاء كاملة من جديد باسلوبك الخاص - او تصحيح
ماكتب سابقا وذلك يتطلب فهم كامل
اما تطوير النظام فهذا امر غاية فى الخطورة حيث انك قد تطور
جزء من النظام ببراعة ويشكرك الجميع على ذلك فى البداية ثم
تفاحىء انك قد تسببت فى عطل بقية اجزاء النظام الاخرى.
والدين هو اسمى درجات العقيدة لدرجة انه عندما تذكر هذه
الكلمة فان المعنى الذى يتبادر الى اذهاننا جميعا هو الدين
والايمان - ويرى علماء الفلسفة ان الانسان يحيى ويعيش فى
سلام واستقرار اذا كانت له عقيدة قوية لاتهتز بتغيرات العصر وما
يحدث فى الواقع من تبديلات للامور ويقال ايضا انه اذا غير
بصرف النظر عن هل هذا التغير حسن ام غير حسن - وتكمن
القضية فى ان الانسان يرفض تغير العقيدة - وهذا امر طبيعى
وللعقيدة سر خطير واثر بالغ فى نفس الانسان الذى يعتقد فيها
حيث انها تكون جذوره واغلى شىء يتمسك به واذا كان لدى
مفر - ويليها بالتاكيد فى الدرجة الوطن واللغة حيث ان الوطن
احب مكان لا شك الى نفس الانسات واللغة الاولى التى تربى
عليها بالتاكيد هى احب لغة اليه - وان تعلم كل لغات العالم فانه
والسوال الاث : مادخل العقيدة فى البرمجة ؟
فى | ة لها دخل كبير - لقد ذكرنا ان الدين اولى درجات
العقيدة والتى اقصد بها كل مايتمسك به الانسان - يلى ذلك
الوطن واللغة - وبالنسبة للمبرمجين فانهم فى خطر كبير حيث
المحترف انسات يقضى اكثر من +960 من وقته امام الحاسب
ولهذا لعالم البرمجة تاثير داخلى رهيب على المبرمج الذى قد
تكون البرمجة عقيدة بالنسبة له - لايستطيع ات بتركها ابدا-
فقد تحولت الى ادمان - وقد تكون لغة البرمجة التى يبرمج بها
هى عقيدة بالنسبة له - يدافع عنها بشراسة - بل ويهاجم كل
اللغات الاخرى بدون دراية بها اساسا - وقد يتحيز المبرمج لنظام
تشغيل فيكون عقيدة بالنسبة له يدافع عنه وان كان به من
العيوب مابه - و المطلوب من كل مبرمج ان لاتتمكن من قلبه لغة