كل ما تريد معرفته عن البرمجة سواء كنت مبتدئاً أو محترفا

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

 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-مشكلة عدم اكمال البرامج؟ هذه احدى المشاكل التي يعاني منها الكثير من المبرمجين و خصوصا مبرمجي الويب الذين يحاولون الوصول لبرامج تنافس برامج قوية كسكربت جوملا أو في بي ... لذلك كنصيحة مني ، ابدأ البرنامج بأقل الامكانيات ليشتغل ، أي يجب أن لا تتعمق في البرنامج في البداية و أن تكتبه ليشتغل في البداية فقط ، و أهم شيئ هو أن يكون الكود منظما ، و البارامترات و الدوال تأخد أسماء تناسبها و ليس أسماء عشوائية ، و أفضل الأسماء هي تلك التي تدل على عمل الدالة أو الكلاس أو البارامتر مع كتابة الملاحظات لأنه أمر مهم جدا . إلى هنا أودعكم و أرجو الله أن تكون قد أعجبتكم تدوينتي ، و ان أعجبتك لا تترد في نشرها لأعطي نصائح أخرى خصوصا للمتقدمين في البرمجة لأني ركزت أكثر على المبتدئين و الجدد .
بقلم آدم شران 

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

عن الكاتب

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

0 التعليقات لموضوع "كل ما تريد معرفته عن البرمجة سواء كنت مبتدئاً أو محترفا"


الابتسامات الابتسامات