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

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


1- حدّد مجال اهتمامك.
 يمكنك البدء بتعلّم أي لغة برمجة (على الرغم من أن بعض لغات البرمجة "أسهل" من غيرها بالتأكيد)، لذا ابدأ بسؤال نفسك عن الهدف الذي ترغب بتحقيقه من خلال تعلّم لغة برمجة. سيساعدك ذلك على تحديد نوع البرمجة التي يجب السعي لتحصيلها ويمنحك نقطة بداية جيدة.
إن كنت ترغب بالانخراط في برمجة الويب، سيتاح لك الكثير من لغات البرمجة المختلفة التي يمكن تعلّمها غير اللغات المستخدمة لتطوير برامج الكمبيوتر. يتطلب تطوير تطبيقات الهواتف المحمولة مجموعة مهارات مختلفة عن برمجة برامج الكمبيوتر. ستؤثر كل هذه القرارات على الاتجاه الذي ستسلكه.

2-فكّر في لبدء بلغة برمجة "بسيطة".
 يتعيّن عليك البدء بأحد لغات البرمجة البسيطة العالية بغض النظر عن قرارك. هذه اللغات مفيدة للمبتدئين على وجه الخصوص حيث أنها تعلّمهم مفاهيم أساسية ومنهجيات تفكير تنطبق على أي لغة.
أشهر اللغات في هذا التصنيف هما Python و Ruby. اللغتان غرضيتا التوجّه وتستخدمان في تطبيقات الويب وتمتلكان صيغة مفهومة للغاية.
كون اللغة "غرضية التوجّه" يعني أن اللغة تعتمد على مفاهيم "الغرض"، أو مجموعات البيانات وطرق التلاعب بها. يستخدم هذا المفهوم في الكثير من لغات البرمجة المتقدمة مثل C++، و Java، و Objective-C، و PHP.


3-اقرأ بعض المقالات الإرشادية البسيطة للغات مختلفة.
إن لم تكن متأكدًا من اللغة التي ينبغي عليك البدء بتعلّمها، اقرأ بعض المقالات الإرشادية للتعرّف على اللغات المختلفة. إن جذبت لغة ما انتباهك أكثر من اللغات الأخرى، اختبرها لفترة لترى إن كانت هي اللغة المناسبة. هناك عدد لا يحصى من المقالات الإرشادية لكل لغات البرمجة على شبكة الإنترنت.
Python - لغة برمجة رائعة للبداية كما أنها قوية جدًا عند الاعتياد عليها. تُستخدم هذه اللغة في العديد من تطبيقات الويب، وحتى بعض الألعاب.
Java - تُستخدم هذه اللغة في العديد من أنواع البرامج ابتداءً من الألعاب، وحتى تطبيقات الويب وبرامج ماكينات صرف النقود.
HTML - نقطة بداية أساسية لكل مطوّري الويب. إن التمكن من التعامل مع لغة HTML أمر أساسي قبل الانتقال إلى أي نوع آخر من أنواع تطوير برمجيات الويب.
C - أحد اللغات القديمة، ولا تزال هذه اللغة أداة قوية وهي اللغة التي اشتقت منها لغات C++، و C#، و Objective-C الحديثة.

*- و بعد اختيارك للغة المناسبة لقدراتك اتبع الخطوات التالية لتتقن هذه اللغة و تحترفها :



1- تعلّم المفاهيم الأساسية للغة البرمجة.
 على الرغم من أن أجزاء هذه الخطوة ستختلف اعتمادًا على اللغة التي تختارها، إلا أن لكل لغات البرمجة مفاهيم أساسية لبناء برامج مفيدة، ويؤدّي تعلّم هذه المفاهيم في مرحلة مبكرة إلى جعل حل المشكلات أسهل وخلق رمز برمجي قوي وفعّال .

2- قم بتثبيت البرامج اللازمة.
تتطلب الكثير من لغات البرمجة مُترجمات، وهي برامج مصمّمة لترجمة الرمز البرمجي إلى لغة يمكن للجهاز فهمها. تستخدم لغات أخرى كلغة Eclipse مترجمًا لحظيًا يمكنه تنفيذ البرنامج لحظيًا دون ترجمته الذي يعرف باسم جي دي كا ( java development kit ) .

3- ركّز على مفهوم واحد في كل مرة.
أحد البرامج السهلة التي يتم تعليمها في كل لغات البرمجة هو برنامج "Hello World". هذا البرنامج برنامج بسيط يعرض النص "Hello, World" (أو أي نص آخر) على الشاشة. يعلّم هذا البرنامج المبرمجين الجدد صيغة إنشاء برنامج وظيفي بسيط وكيفية التعامل مع عرض المخرجات.

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

5- ابدأ بالتدرّب على تتبّع الأخطاء.
 ستجد بعض الأخطاء لا محالة أثناء البرمجة، ويمكن أن تحدث هذه الأخطاء في أي مكان من النص البرمجي. يمكن أن تكون الأخطاء بسيطة ولا تؤثر على عمل البرنامج، وقد تكون أخطاء كبيرة تمنع البرنامج من العمل. ملاحقة هذه الأخطاء وإصلاحها عملية مهمة في دورة تطوير البرامج، لذا اعتد على فعل ذلك بشكل مبكّر.

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

7- برمج بشكل يومي.
 تستغرق إجادة البرمجة وقتًا، إضافةً إلى غير ذلك من الأشياء. تستغرق حتى لغات البرمجة البسيطة كلغة JAVA، التي قد لا تحتاج لأكثر من يوم أو يومين لفهم صيغتها، الكثير من الوقت لتصبح محترفًا فيها. كما هو الحال مع أي هواية أخرى، التدرّب هو مفتاح الاحتراف. جرّب قضاء بعض الوقت كل يوم على الأقل للبرمجة، حتى إن كان ذلك لمدة ساعة بين العمل وتناول الغداء.

8- حدّد أهدافًا لبرامجك.
 ستتمكن من البدء بحل المشكلات وابتكار الحلول عن طريق تحديد أهداف بسيطة تنطوي على تحد. حاول التفكير في تطبيق بسيط، كتطبيق الآلة الحاسبة، وابتكر طريقة لبرمجته. استخدم الصيغة والمفاهيم التي تتعلّمها وطبّقها في تطبيقات عملية.

9- قم بتحدّي نفسك لجعل الأمر ممتعًا.
 حاول فعل الأشياء التي لا تعرف طريقة فعلها. ابحث عن طرق لإتمام المهمة (أو مهمة مشابهة)، ثم حاول تطبيق هذه الطريقة في برنامجك. حاول تجنّب الاكتفاء ببرنامج يعمل فحسب وحاول بذل كل طاقتك للتأكد من أن البرنامج يعمل دون أعطال على الإطلاق.

10- احضر بعض دورات التدريب.
 تقدّم الكثير من الجامعات والهيئات برامج تعليمية وجلسات تدريبية يمكن حضورها دون الانضمام إلى المؤسسة. يمكن أن تكون هذه الدورات رائعة للمبرمجين الجدد حيث يمكنك تلقّي مساعدة مباشرة من مبرمجين متمرّسين، إضافةً إلى الاختلاط بمبرمجين آخرين. و اذا لم تجد هذه الدورات فتصفح الانترنت فهي ايضا مفيدة.

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

12- لا تتوقف عن البرمجة أبدًا.
 هناك نظرية شائعة تنص على أن المرء يحتاج إلى 10,000 ساعة من التدريب على الأقل ليكون خبيرًا في أي شيء. على الرغم من أن هذا الأمر قابل للجدال، إلا أن المنطق الرئيسي صحيح: يتطلب الاحتراف وقتًا وتفانيًا. لا تتوقع أن تعرف كل شيءٍ في ليلة وضحاها، إلا أن التركيز والاستمرار بالتعلّم سيجعلك خبيرًا ولا شك في المجال.

اخواني الاعزاء إن كنتم مهتمين ببرمجة الألعاب، تفقّد لغات Python، و C++، و Java. C++ أفضل هذه اللغات الثلاث، و Python أسهلها في التعلّم، و Java هي أفضل لغة يمكن تشغيلها على ويندوز وماكنتوش ولينكس دون تغيير.
و في الاخير انصح اخواني بالموقعين الذي سبقو شرحهما المتمثلين في موقع Udemy  و  موقع كورساتي . فهذين الموقعين سيساعدونكم في الدورات التعليمية و مصادر البرامج.


نلتقي في شرح اخر ان شاء الله في امان الله و رعايتة (؛