الاثنين، 26 أغسطس 2013
كل ما تريد معرفته عن البرمجة سواء كنت مبتدئاً أو محترفا
بتاريخ 7:55 م بواسطة Unknown
سأتطرق في هذه التدوينة لموضوع "البرمجة" ، لن نتعلم البرمجة فعليا ، لكن
سنهيئ المبتدئين و الغير مبرمجين لدخول هذا الميدان بالطريقة الصحيحة ، و
سنساعد المبرمجين ذوي الخبرة للتخلص من العادات السيئة و اكتساب عادات جيدة
، و طرق جديدة في التفكير البرمجي .
الموضوع سيكون على شكل فقرات ، كل فقرة تجيب على أحد الأسئلة الآتية ، و
هاته الفقرات ستكون مرتبة حسب تسلسل الأسئلة ، لنسهل عليك عزيزي القارئ
الوصول لما تريده دون الاضطرار لقرائة المقالة كاملة .
1- ما هي البرمجة ؟2- ما هي اللغات البرمجية ؟3- كيف أختار لغة البرمجة
التي تناسبني ؟4- كم من الوقت أحتاج لتعلم لغة برمجية ؟5- هل يمكن تعلم
أكثر من لغة في نفس الوقت ؟6- هل أنتقل من لغة برمجية لأخرى ؟ 7-هل أداء
البرنامج مهم ؟ 8-مشكلة عدم اكمال البرامج؟
1-البرمجة ببساطة هي كتابة أكواد (دعنا نسميها حاليا أكواد) تطلب بها من
الحاسوب القيام بأشياء معينة . هنالك من سيقول لي أستطيع فعل ذلك فقط
بالفأرة و لوحة المفاتيح ، اذن سأطلب منه أن يفتح موقعا الكترونيا ، أول ما
سيفعله هو فتح المتصفح و ادخال رابط الموقع ، لاحظ أنه قد فتح متصفحا و
ذلك المتصفح هو ماطلب الموقع . المتصفح يسمى برنامجا ، أي أنه قد تمت
برمجته (كتبت أكواده) ليطلب موقعا عند كتابة رابطه ، و نفس الشئ ينطبق على
كل البرامج التي لديك .
2- ما هي اللغة البرمجية ؟ أولا قبل أن أوضح ما هي اللغات البرمجية ، دعنا
نسأل أنفسنا لما نحتاجها ؟ طبعا نحتاجها لنطلب من الحاسوب أن يفعل شيئا ،
أي أننا نتحاور مع الحاسوب ، هنالك سؤال آخر يطرح نفسه ، ما هي اللغة التي
يتكلمها الحاسوب ؟ أنا سأخبرك, الحاسوب يعرف شيئان فقط 1 و 0 ،أو ما يسمى
بالنظام الثنائي ، فمثلا لو أردنا قول hello للحاسوب فعلينا كتابة 01101000
01100101 01101100 01101100 01101111 و هذا أمر صعب ، كأنك تحاول أن تكلم
صينيا ، في هذه الحالة علينا أن نحظر مترجما ، لكن في العالم الافتراضي ،
يجب أن تتحدث مع المترجم بلغته التي هي طبعا أسهل من لغة الحاسوب ، هنالك
عدة مترجمات و بالتالي عدة لغات ، هذه اللغات هي لغات البرمجة . و كاضافة
في هذه الفقرة ، سأوضح كيف نطلب من الحاسوب القيام بأمر عن طريق المترجم .
3- كيف أختار لغة البرمجة التي تناسبني ؟ كما سبق أن قلت ، هنالك عدد من
المترجمات ، و قلت أنه يوجد العديد من لغات البرمجة . هنا ، و كمبتدأ سترغب
في اختيار أفضل لغة برمجية . لكن أنا سأقول لك لا توجد لغة أفضل من الأخرى
، لأنه قبل الخوض في ميدان البرمجة عليك أن تحدد ما الذي تريد أن تبرمج له
، حيث هنالك عدة مجالات ، فهنالك برمجة الويب أي المواقع و صفحات
الانترنيت و قواعد البيانات ... ، هنالك البرامج المكتبية ، هنالك الألعاب ،
هنالك الهواتف الذكية كالأندرويد و الأيفون ... لذلك و جب أن تختار المجال
أولا ، بعد المجال وجب أن تبحث عن كل اللغات التي تشتغل فيه ثم بعد ذلك
تبحث عن مميزات كل اللغة ، هنالك من لن يفهم ما أقصده بالمميزات ، لا بأس ،
ما قصدته هو هل اللغة مفتوحة المصدر أم لا (أي يمكن الاطلاع عليها و كيف
تمت كتابتها) ، ما هي المنصات التي تشتغل عليها هذه اللغة أي ما هي أنظمة
التشغيل التي تشتغل عليها ، مدى سهولة اللغة ، مدى طلب اللغة في الشركات و
الأسواق ...، للاشارة فقط ، يمكن أن تكون لغة واحدة في عدة مجالات ، فمثلا
يمكن أن تبرمج بلغة جافا برامجا مكتبية و مواقع انترنيت و ألعاب و كذلك
تطبيقات الأندرويد .
4- كم من الوقت أحتاج لتعلم لغة برمجية ؟ عملية التعلم ليست محصورة بوقت
معين ، لكن حاول أن تعطي للغة وقتا كافيا حتى تحس أنك أتقنت الأساسيات و من
الضروري جدا أن أن تطبق ما تعلمته حتى و لو كان بسيطا و تراه سخيفا . فرضا
أن لدينا متعلمين اثنين ، الأول تعلم لغة ما في أسبوع و بدأ في بناء
برمجياته، بينما المتعلم الثاني أخذا مدة شهرين أو ثلات في تعلم الأساسيات ،
صدقني أن المتعلم الثاني سيبني برامج أفضل و أقوى من الأوول ، و للاشارة
اللغات البرمجية تختلف أي أن مدة تعلم كل واحدة ستختلف عن الأخرى .
5- هل يمكن تعلم أكثر من لغة في نفس الوقت ؟ هذا أحد أكبر الأخطاء الذي
يقع فيه الكثيرون و خصوصا الجدد في البرمجة . و سأقول لك لماذا . أولا أنت
حددت المجال الدي ترغب في البرمجة فيه (الفقرة الثالثة) ، و اخترت اللغة
البرمجية ، اذن ما الحاجة للغة أخرى ؟؟!! ثانيا قد تبدأ في الخلط بين
syntax هذه اللغة و اللغة الأخرى . ثالثا عملية التعلم ستكون أبطأ.
اذن الجواب هو لا ، لا تحاول تعلم عدة لغات برمجية في نفس الوقت.
6-هل أنتقل من لغة برمجية لأخرى ؟ يمكن أن يكون خطأ فادحا و مضيعة للوقت
أو تطورا و زيادة في المعرفة و المهارات . الانتقال من لغة لأخرى من الأمور
التي يجب الحذر فيها ، حيث لو تعلمت لغة برمجية لا يجب الانتقال للغة أخرى
الا اذا أتقنت الأولى و بنيت بها برامج ، بعد ذلك ستجد أن اللغة الأخرى
سهلة سيكون الاختلاف في طريقة كتابة اللغة Syntax و طبعا سيزداد عليها بعض
التغييرات حسب المجال ، لكن ستجد أنه من السهل التعامل مع اللغة الجديدة .
لذلك احرص أن تبني برامج باللغة الأولى قبل الانتقال للغة ثانية و الا
فستكون قد ضيعت و قت تعلم اللغة الأولى هباءًا.
7-هل أداء البرنامج مهم ؟ كبداية ، سواء كنت مبتدئا أم محترفا فأداء
البرنامج ليس مهما في البداية ، حيث أول ما يجب فعله هو بناء البرنامج ، و
عندما أقول بناء البرنامج يجب أن يكون مكتوبا بطريقة منظمة لأنه تنظيم
البرنامج و امكانية قراءة الكود المصدري الخاص به يعد نجاحا في الأداء ،
لأنه سيسهل بعد ذلك التحليل ، و بالتالي ايجاد طرق لتقليل استهلاك الذاكرة ،
بناء واجهة بسيطة ، ايجاد الأخطاء المنطقية ، ايجاد الثغرات ... المهم هو
أن تنسى الأداء و الثغرات و التركيز على تنظيم الكود و سهولة قرائته في
البداية ، ثم بعد اكمال البرنامج ، الاهتمام بالأداء.
8-مشكلة عدم اكمال البرامج؟ هذه احدى المشاكل التي يعاني منها الكثير من
المبرمجين و خصوصا مبرمجي الويب الذين يحاولون الوصول لبرامج تنافس برامج
قوية كسكربت جوملا أو في بي ... لذلك كنصيحة مني ، ابدأ البرنامج بأقل
الامكانيات ليشتغل ، أي يجب أن لا تتعمق في البرنامج في البداية و أن تكتبه
ليشتغل في البداية فقط ، و أهم شيئ هو أن يكون الكود منظما ، و
البارامترات و الدوال تأخد أسماء تناسبها و ليس أسماء عشوائية ، و أفضل
الأسماء هي تلك التي تدل على عمل الدالة أو الكلاس أو البارامتر مع كتابة
الملاحظات لأنه أمر مهم جدا .
إلى هنا أودعكم و أرجو الله أن تكون قد أعجبتكم تدوينتي ، و ان أعجبتك لا
تترد في نشرها لأعطي نصائح أخرى خصوصا للمتقدمين في البرمجة لأني ركزت أكثر
على المبتدئين و الجدد .
بقلم آدم شران
الاشتراك في:
تعليقات الرسالة (Atom)
ردود على "كل ما تريد معرفته عن البرمجة سواء كنت مبتدئاً أو محترفا "
أترك تعليقا