الأربعاء، 11 يونيو، 2008

لا أعرف عنه الكثير..
اسمه كما اعتدت أن اناديه كلما قابلته دكتور عمرو

الدكتوراه التى يحملها تناقش تكامل لغات البرمجه فيما بينها

كان لقاء بدون سابق ميعاد، و جمعتنا ساحة ستاربكس، بعد منتصف الليل

وكعادة آى حوار بين اثنين يتعاملون مع لغات البرمجه تطرق بنا الحوار الى الPHP ال ASP

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

وكتوضيح أكثر للفرق بين مبرمج مكيروسوفت وآى مبرمج آخر ذكرت طرفه قرأتها فى أحد المنتديات تقول:

شركة صن SUN انتجت لغة جديده فيقول مبرمجوها.. هيا نبرمج، وميكو انتجت لغة جديده هي الآخرى فيقول مبرمجوها أين محرر اللغة IDE؟؟

لمن لم يفهم المفارقة فى هذه الطرفة أوضح أن آى لغة برمجه تعتمد فى الأساس على مترجم Compiler يقوم بترجمة سطور البرنامج الى كود يستطيع الكمبيوتر فهمة وتنفيذ ما فيه.
وبالتالي فان سطور هذا البرنامج يمكن كتابتها بآى محرر نصوص وليكن Note Pad مثلا، وهذا ما يمكن أن يقوم به آى مبرمج حقيقي لآي لغة برمجه.
أما مبرمجين ميكو فهم من النوع المرفه حيث تقدم لهم محرر خاص باللغة يسهل كثيرا طريقة كتابة البرنامج.

هذا المحرر الذي تقدمه ميكو لمبرمجيها مفيد فى توفير الوقت وزيادة الانتاجية، لكنه لا يصنع مبرمج حقيقي أبدا، فمن تربى على استخدام هذه الواجهة الخاصة اذا حجبتها عنه قد يشعر بنفسه فى عالم آخر :)

اتفق معي الدكتور عمرو فى هذه النقطة الآخيره وأخبرني أن آى برنامج تدريبي صحيح لصناعة مبرمج يجب أن يبدء بعيدا عن أن آي واجهات خاصة، وكان له رأي أن يبدء مع المبرمج باستخدام Quick Basic نظرا لبساطة اللغة وبعدها عن آى واجهات استخدام خاصة

قاطعته أنا بقولي أو استخدام الPHP (متعصب متعصب :) )

وذلك لكي يستوعب المتدرب أساسيات البرمجة من Input,Output,Function,Loop,Include,Liblary... OOP

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

حتى هذه النقطة متفق تماما مع الدكتور، مع وضع التقنيات التى تظهر كل يوم جانبا، لآن تعلم هذه التقنيات يعد نوع من التعلم المستمر الذي يحتاجه كل مبرمج، والا سيتخلف عن السوق ولن يجد له مكانا فى دنيا اليوم.

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

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

فقال له الدكتور تخيل انك صنعت فيروس بالDotNet والشخص الذي وصل اليه الفيروس لا يستخدم الFramework على جهازه، فهل ستطلب منه تحميل الFramework حتى يعمل هذا الفيروس؟؟

ثم قال لي.. انت تكتب كود PHP وتستخدم MySQL، فهل ممكن أن ترسل آي مخرجات وأستقبلها أنا فى صفحة ASP وأحفظها فى SQL Server ؟؟

الاجابه طبعا نعم يمكن ولا يوجد ما يمنع هذا أبدا..

فقال..باختصار انت تستطيع أن تصنع فورم Form بآي لغة حتى لو فلاش Flash وترسل مدخلاتها لآى صفحة ASP أو PHP وتخزنها فى آى DataBase؟ سليم؟؟

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

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

وأنهى حواره بأن قال السوق يحتاج ال PHP بنفس قدر احتياجه لASP وكثيرا ما يجتمع الاثنين معا فى مشروع واحد، وبالتالي لا يصح أبدا لمبرمج أن يكون متعصب للغة واحده على حساب الآخرى، أو أن يتخصص فى لغة واحده فقط ثم يتباهى بأنه متخصص PHP فقط أو متخصص ASP فقط

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

فى نهاية حواري معه شعرت بالسعاده أن هذا الفكر موجود وتمنيت أن يعلم به كل المتعصبين للغاتهم الذين يخرجون علينا كل حين وآخر بموضوع حول من أفضل الPHP أم ال ASP ؟ ويملئون به الدنيا صخيبا وضجيجا.

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

وكلمة أخيرة لدكتور عمرو.. شكرا جزيلا لك، وسعدت كثيرا بهذه الأمسية :)

4 التعليقات

Misrdream يقول... 12 يونيو، 2008 9:19 ص

حورا مفيد جدا
تقبل تحياتي

غير معرف يقول... 13 يونيو، 2008 3:06 ص

مين بقى الدكتور عمرو ده ؟؟
إوعي يكون إنت برضك !!! :)

(سانكافوللا)

غير معرف يقول... 23 أغسطس، 2008 9:28 م

في بيئة الدوت نت تستطيع أيضا انشاء نظام كامل وقواعد بيانات كاملة بمحرر نصوص نوتباد لا غير.
لا اظن ان الاهتمام بال IDE يعتبر نقيصة أو عيب.
شكرا لك.

Amr Fahmy يقول... 24 أغسطس، 2008 2:58 ص

نعم يا أخي الكريم يمكن فعل ما ذكرت، ولكن ليست هذه هي المشكلة

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

شركة Sun انتجت لغة جديدة، فيقول مبرمجون SUN هيا نبرمج..

شركة ميكروسوفت أنتجت لغة جديدة، فيقول مبرمجون Microsoft أين محرر اللغة !!

أعتقد الطرفة واضحة وهذه واحدة من أهم الفروق بين مبرمجين ميكو ومبرمجين غيرها

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

وبين لغة تجعلك محصور فى IDE تستمد من خلاله كل مهارات اللغة ومن غيره تكون عاجز عن العمل

إرسال تعليق