اللغة الإنجليزية والمشاكل البرمجية ومهارة البحث

بسم الله الرحمن الرحيم

الحمد لله رب العالمين، الحمد لله حمدا كما ينبغي لجلاله وعظيم سلطانه، الحمد لله رب العالمين عدد ما كان، وعدد ما يكون، وعدد الحركات والسكون، الحمد لله رب العالمين.

"" اللغة الإنجليزية والمشاكل البرمجية ومهارة البحث ""

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

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

والآن لنبدأ ..كيف يمكنني الوصول الى نتيجة أو شرح أو حل مشكلة ما بدون أن أعرف المطلوب بالضبط، أو بدون قدرتي على ربط الأفكار؟

لنجيب على هذا السؤال من خلال المثال التالي:

كيف يمكنني إنشاء مصفوفة بالجافا سكربت؟

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

لكن لنفترض جدلا أنني لم أجد ما أريد، او أن المعلومة التي ابحث عنها تتوفر باللغة الإنجليزية ماذا نفعل .؟ سنقوم بتجزئة السؤال الى مقاطع ^_^..

أول مقطع سأقوم بوضع اللغة التي أعمل عليها وهنا وفي مثالنا Java Script وبعد ذلك سأذهب الى جوجل ترجمة وسأضع كيف فأجد ترجمتها How ثم سأضع يمكنني فسأجد can ثم سأضع مصفوفة فسأجد array ولاحظ أنني هنا بكل بساطة قمت بأخذ أبسط الكلمات الناتجة.. فيصبح لدي جملة بحث مكونة من javascript how can array ..(لاحظ هنا أنني أهملت القواعد ولم أذكر بشكل دقيق ما الذي أريده بالمصفوفة متعمدا) ..

الآن أريدك أن تقوم بتطبيق هذه النتيجة على محرك البحث جوجل ..ماذا تجد ؟

ستجد الكثير من النتائج التي تتكلم عن المصفوفات في لغة الجافا سكربت.. الآن قم بقرائة العناوين التي تشاهدها أمامك ..ولا بأس أيضا بقرائة الوصف الصغير الموجود أسفل الرابط، هذه العملية ستعطيك كلمات أكثر عما تحاول الوصول اليه ..فستجد مثلا Array js وستجد Arrays & object وستجد Array filters ..وستجد Array method وستجد

 JavaScript Tutorial..الخ

لاحظ أن هذه النتائج جميعها ستبني لدي ذخيرة هائلة من الخصائص التي يمكن أن أحتاجها مستقبلا بالإضافة الى أنها ستمكنني من تحديد نطاق البحث لنفس الغرض في المرات القادمة.. الآن من النتائج التي نشاهدها ..سأقوم بالضغط على array js أو JavaScript Tutorial. ..هذا الإختيار التلقائي لأي شخص..لأنني لا أعلم ما هي ال objects أو ما هي ال filters ..فسأكتفي بالصيغة المباشرة ..وستجد أنك وجدت ما تريد في هذان الرابطان !!

والآن يمكنك أيضا تخصيص النتائج لموقع ما ..فقط قم باضافة اسم موقع مثل w3schools في محرك البحث ..وبهذا جعلت ترتيب البحث لهذا الموقع في حالة وجود array أكثر (وأستخدمها بكثرة للوصول لنتيجة سريعة خصوصا في حل المشكلات عن طريق موقع stackoverflow) ...

 

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

VS: ونستخدمها بكرة لمقارنة بين شيئين أو كثير مثل PHP vs ASP ..

Diff: وهي اختصار ل Difference وتعني إختلاف.. ونستخدمها لإيجاد فروقات مثلا html Diff Html5 ..

Tutorial: ونستخدمها بكثرة للبحث عن شروحات أو دورات.

How I can: كيف يمكنني أن ...

Error: نستخدمها في حال أردنا البحث عن مشاكل لنقطة معينة مثل Error in php post

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

exception: ونستخدمها عندما نريد البحث عن الشيفرة البرمجية الخاصة بالإستثنائات للغة ما .. لذلك تجد مصطلح مهم في البرمجة وهو Exception Handling  ...

without: بدون .. ونستخدمها كثيرا عند البحث عن نقطة ما ونرغب بتخصيص الشيفرة البرمجية مثل php send request without refresh (أي أريد إرسال طلب الى السيرفر بدون عمل إعادة تحميل للصفحة)...

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

والآن نعود لنقطة مهمة جدا..كيف يمكنني الدمج بين معرفتي القليلة أو ضعفي باللغة الإنجليزية والبرمجة؟

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

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

اللهم اغفر لي ولوالدي وللمسلمين أحيائهم وأمواتهم إنك سميع عليم رحيم كريم غفور عزيز رزاق كريم.

أخوكم: أنيس حكمت أبو حميد.

وآخر دعوانا أن الحمد لله رب العالمين.