البدء تدريجيًا التدرّب باستمرار توسيع مجال معرفتك إنشاء برنامجك الأول تطبيق مهاراتك اختيار لغة برمجة
على الرغم من أن أجزاء هذه الخطوة ستختلف اعتمادًا على اللغة التي تختارها، إلا أن لكل لغات البرمجة مفاهيم أساسية لبناء برامج مفيدة، ويؤدّي تعلّم هذه المفاهيم في مرحلة مبكرة إلى جعل حل المشكلات أسهل وخلق رمز برمجي قوي وفعّال. ستجد بالأسفل بعض المفاهيم الأساسية الموجودة في لغات مختلفة:  المتغيّرات - المتغيّر عبارة عن طريقة لتخزين البيانات المتغيّرة والإشارة إلى مكان تواجدها. يمكن التلاعب بالمتغيّرات، وتمتلك عادةً أنواع محدّدة كأن تكون أرقام صحيحة، أو حروف، وغير ذلك، ويحدّد ذلك نوع البيانات التي يمكن تخزينها. تمتلك المتغيّرات عادةً أسماء يمكن تمييزها من قبل الإنسان. يسهّل هذا من فهم طريقة تفاعل المتغيّر مع بقية الرموز البرمجية. الجمل الشرطية - الجملة الشرطية عبارة عن إجراء يتم تنفيذه اعتمادًا على تحقّق شرطٍ ما. أشهر أشكال الجمل الشرطية هي جملة "If-Then". إن كانت العبارة صحيحة (مثلًا x = 5) يحدث إجراء ما، وإن لم تكن العبارة صحيحة (مثلًا x != 5) يحدث شيء آخر. الدوال أو الإجراءات الفرعية - قد يختلف اسم هذا المفهوم اعتمادًا على لغة البرمجة المستخدمة. قد تجد هذا المفهوم بمسمّى "إجراء"، أو "طريقة"، أو "رمز مستدعى". الدوال عبارة عن برامج أصغر ضمن البرنامج الكبير. يمكن أن يتم استدعاء الدالة من قبل البرنامج عدة مرات، مما يسمح للمبرمج بإنشاء برامج معقدة. دخل البيانات - هذا مفهوم واسع يستخدم في كل اللغات تقريبًا. يتضمن هذا المفهوم التحكم في مدخل المستخدم وتخزين البيانات. تعتمد طريقة تخزين البيانات على نوع البرنامج وطرق الدخل المتاحة للمستخدم (لوحة المفاتيح، أو الملفات، الخ.). يرتبط ذلك عن كثب بالمخرجات، وهي طريقة إرجاع البيانات للمستخدم، سواءً أكان ذلك عن طريق عرضها على الشاشة أو حفظها في ملف. تتطلب الكثير من لغات البرمجة مُترجمات، وهي برامج مصمّمة لترجمة الرمز البرمجي إلى لغة يمكن للجهاز فهمها. تستخدم لغات أخرى كلغة Python مترجمًا لحظيًا يمكنه تنفيذ البرنامج لحظيًا دون ترجمته.  تمتلك بعض لغات البرمجة بيئات تطوير مدمجة (IDE)، وتحتوي هذه البيئات عادةً على محرّر للرموز ومترجم و/أو مترجم فوري ومدقّق للرمز البرمجي. يسمح ذلك للمبرمج بتنفيذ الوظائف المطلوبة في مكان واحد. قد تحتوي بيئات التطوير المدمجة أيضًا على تمثيلات بصرية لتدرّجات ومسارات الأغراض. يوجد مجموعة متنوعة من محرّرات الرموز البرمجية المتاحة على شبكة الإنترنت. تقدّم هذه البرامج طرقًا مختلفة لتظليل صيغة الرمز البرمجي وتقدّم أدوات أخرى لمساعدة المطوّرين. تستغرق إجادة البرمجة وقتًا، إضافةً إلى غير ذلك من الأشياء. تستغرق حتى لغات البرمجة البسيطة كلغة Python، التي قد لا تحتاج لأكثر من يوم أو يومين لفهم صيغتها، الكثير من الوقت لتصبح محترفًا فيها. كما هو الحال مع أي هواية أخرى، التدرّب هو مفتاح الاحتراف. جرّب قضاء بعض الوقت كل يوم على الأقل للبرمجة، حتى إن كان ذلك لمدة ساعة بين العمل وتناول الغداء. ستتمكن من البدء بحل المشكلات وابتكار الحلول عن طريق تحديد أهداف بسيطة تنطوي على تحد. حاول التفكير في تطبيق بسيط، كتطبيق الآلة الحاسبة، وابتكر طريقة لبرمجته. استخدم الصيغة والمفاهيم التي تتعلّمها وطبّقها في تطبيقات عملية. هناك الكثير من مجتمعات البرمجة المخصّصة للغات ومجالات محدّدة. يمكن أن يؤدّي إيجاد مجتمع والمشاركة فيه إلى إحداث المعجزات فيما يتعلّق بمسار تعلّمك. ستتمكن من الوصول إلى عدة أمثلة وأدوات لمساعدتك خلال عملية التعلّم. يمكن أن تؤدّي قراءة الرموز البرمجية الخاصة بالآخرين إلى إلهامك ومساعدتك على فهم المفاهيم التي لم تتقنها بعد.  تفقّد منتديات البرمجة والمجتمعات التي تختص باللغة التي اخترتها الموجودة على الإنترنت. احرص على المشاركة وعدم الاكتفاء بطرح الأسئلة فقط. تعد هذه المجتمعات عادةً مكانًا للتعاون والتناقش عوضًا عن طرح الأسئلة فحسب. اطرح الأسئلة إن كنت ترغب بذلك، ولكن كن مستعدًا لعرض عملك وتجربة منهجيات مختلفة. بعد امتلاك بعض الخبرة، فكّر بحضور مسابقة برمجة أو تجمّع للمبرمجين. يتم في هذه الأحداث التنافس بين المبرمجين كأفراد أو فرق خلال فترة زمنية لتطوير برامج تعمل بنجاح في موضوع معيّن. تعد هذه الأحداث ممتعة للغاية، كما أنها طريقة رائعة لملاقاة المبرمجين الآخرين. حاول فعل الأشياء التي لا تعرف طريقة فعلها. ابحث عن طرق لإتمام المهمة (أو مهمة مشابهة)، ثم حاول تطبيق هذه الطريقة في برنامجك. حاول تجنّب الاكتفاء ببرنامج يعمل فحسب وحاول بذل كل طاقتك للتأكد من أن البرنامج يعمل دون أعطال على الإطلاق. تقدّم الكثير من الجامعات والهيئات برامج تعليمية وجلسات تدريبية يمكن حضورها دون الانضمام إلى المؤسسة. يمكن أن تكون هذه الدورات رائعة للمبرمجين الجدد حيث يمكنك تلقّي مساعدة مباشرة من مبرمجين متمرّسين، إضافةً إلى الاختلاط بمبرمجين آخرين. هناك آلاف الكتب الإرشادية المتاحة لكل لغات البرمجة. على الرغم من أن معرفتك يجب ألا تنحصر على الكتب، إلا أن الكتب تمثّل مراجع ممتازة وتحتوي عادةً على الكثير من الأمثلة الجيدة. تتضمن معظم عمليات البرمجة عمليات حسابية بسيطة، إلا أنك قد ترغب بدراسة المزيد من المفاهيم المتقدمة. يعد هذا الأمر مهمًا على وجه الخصوص إن كنت تطوّر برامج محاكاة معقدة أو برامج أخرى تعتمد على الخوازميات. لن تحتاج إلى العمليات الحسابية المتقدمة في عمليات البرمجة الاعتيادية. يمكن أن تساعدك دراسة المنطق، خصوصًا منطق أجهزة الكمبيوتر، في إظهار الطريقة الأمثل للتعامل مع المشاكل المعقدة للبرامج الأكثر تعقيدًا. هناك نظرية شائعة تنص على أن المرء يحتاج إلى 10,000 ساعة من التدريب على الأقل ليكون خبيرًا في أي شيء. على الرغم من أن هذا الأمر قابل للجدال، إلا أن المنطق الرئيسي صحيح: يتطلب الاحتراف وقتًا وتفانيًا. لا تتوقع أن تعرف كل شيءٍ في ليلة وضحاها، إلا أن التركيز والاستمرار بالتعلّم سيجعلك خبيرًا ولا شك في المجال. على الرغم من أنه يمكنك تعلّم لغة واحدة وإتقانها فقط، إلا أن الكثير من المبرمجين يزيدون من فرص نجاحهم عن طريق تعلّم عدة لغات. تكون اللغة الثانية والثالثة عادةً مكمّلة للغة الأولى، مما يسمح لهم بتطوير برامج أكثر تعقيدًا وروعة. بعد إتقان لغة البرمجة الأولى، يكون الوقت قد حان لتعلّم لغة جديدة. ستجد على الأرجح أن تعلّم اللغة الثانية يكون أسرع من تعلّم اللغة الأولى. تشترك بعض اللغات في بعض المفاهيم، خصوصًا إن كانت اللغات قريبة من بعضها. أحد البرامج السهلة التي يتم تعليمها في كل لغات البرمجة هو برنامج "Hello World". هذا البرنامج برنامج بسيط يعرض النص "Hello, World" (أو أي نص آخر) على الشاشة. يعلّم هذا البرنامج المبرمجين الجدد صيغة إنشاء برنامج وظيفي بسيط وكيفية التعامل مع عرض المخرجات. يمكنك تعلّم طريقة التعامل مع البيانات البسيطة عن طريق تغيير النص. ستجد بالأسفل بعض أدلة wikiHow المتعلّقة بإنشاء برنامج "Hello World" بلغات برمجة مختلفة:  Hello World in Python Hello World in Ruby Hello World in C Hello World in PHP Hello World in C# Hello World in Java هناك آلاف الأمثلة الموجودة على الإنترنت لرموز برمجية مكتوبة بكل لغات البرمجة الموجودة تقريبًا. استخدم هذه الأمثلة لمعاينة المناحي المختلفة من عمل لغة البرمجة وطريقة تفاعل الأجزاء المختلفة مع بعضها. تعلّم أجزاءً من أمثلة مختلفة لإنشاء برامجك الخاصة. صيغة الرمز البرمجي هي طريقة كتابته ليفهمه المترجم أو المترجم الفوري. تمتلك كل لغة برمجة صيغة فريدة، على الرغم من أن بعض العناصر قد تكون مشاركة بين عدة لغات. تعلّم الصيغة أمر أساسي لتعلّم طريقة البرمجة باللغة،وهي عادةً ما يفكّر فيه الأشخاص عند تفكيرهم ببرمجة برامج الكمبيوتر. في الحقيقة الصيغة هي الأساس الذي يُبنى عليه المفاهيم الأكثر تقدمًا. أحدث تغييرات بالأمثلة واختبر النتائج. يمكنك من خلال التجربة تعلّم الأشياء المفيدة ومعرفة الأشياء غير المفيدة بشكل أسرع من قراءة الكتب. لا تخف من إفساد البرنامج حيث أن تعلّم إصلاح الأخطاء جزء رئيسي من عملية البرمجة، أضف إلى ذلك أن معظم البرامج الجديدة لا تعمل فور إنشائها. ستجد بعض الأخطاء لا محالة أثناء البرمجة، ويمكن أن تحدث هذه الأخطاء في أي مكان من النص البرمجي. يمكن أن تكون الأخطاء بسيطة ولا تؤثر على عمل البرنامج، وقد تكون أخطاء كبيرة تمنع البرنامج من العمل. ملاحقة هذه الأخطاء وإصلاحها عملية مهمة في دورة تطوير البرامج، لذا اعتد على فعل ذلك بشكل مبكّر. ستجد بعض الأخطاء أثناء اختبارك لتغيير البرامج البسيطة. مهارة معرفة طريقة حل المشكلات مهارة أساسية يجب أن يمتلكها المبرمج. تمتلك كل لغات البرمجة تقريبًا خاصية تعليق تسمح لك بتضمين نص لا يتعامل معه المترجم أو المترجم الفوري. يسمح لك ذلك بترك شرح قصير بلغة عادية يشرح طريقة عمل الرمز البرمجي. لا يساعدك ذلك على تذكّر وظيفة الرمز البرمجي في البرامج الكبيرة فحسب حيث أن ذلك إجراء أساسي إن كنت تعمل في بيئة مشتركة لأن ذلك يسمح ذلك للآخرين بفهم طبيعة عمل الرمز البرمجي. على الرغم من أن هذا الأمر ليس ضروريًا، إلا أن الانخراط في برنامج دراسي مدته 4 سنوات في جامعة قد يعرّضك للعديد من اللغات المختلفة ويساعدك على التواصل مع محترفين وطلاب آخرين. لا تناسب هذه الطريقة كل الأشخاص بالتأكيد، ولا ينخرط كل المبرمجين الناجحين ببرنامج دراسي. احرص على حفظ كل أعمالك المفضلة في محفظة أعمال أثناء إنشاء البرامج وتوسيع معرفتك. يمكنك عرض هذه المحفظة على أصحاب العمل وفي مقابلات العمل كمثال على أعمالك. احرص أيضًا على تضمين أي عمل قمت به في وقتك الخاص، وتأكد من أنه يُسمح لك بتضمين أي عمل نفّذته لشركة أخرى. هناك سوق كبير للعمل الحر الخاص بالمبرمجين، خصوصًا مطوّري تطبيقات الهواتف المحمولة. اعمل في بعض الأعمال الحرة الصغيرة لتتعرّف على طريقة عمل البرمجة التجارية. يمكنك عادةً استخدام الوظائف الذي تؤديها كمبرمج حرّ لبناء محفظة أعمالك والإشارة إلى الأعمال المنشورة. لا يتعيّن عليك العمل لدى شركة لتكسب المال من البرمجة. إن كنت تمتلك المهارة اللازمة، يمكنك تطوير برامج خاصة بك وبيعها، سواءً من خلال موقعك الخاص أو سوق برمجيات آخر. كن مستعدًا لتقديم الدعم للبرامج التي تنشرها للبيع حيث أن العملاء يتوقعون ذلك. البرامج المجانية طريقة شائعة لتوزيع البرامج والأدوات الصغيرة. لا يتلقّى من يقومون ببرمجة هذه البرامج أي مبلغ مالي، إلا أنها طريقة رائعة لبناء اسمك وإذاعة صيتك في المجتمع. يمكنك البدء بتعلّم أي لغة برمجة (على الرغم من أن بعض لغات البرمجة "أسهل" من غيرها بالتأكيد)، لذا ابدأ بسؤال نفسك عن الهدف الذي ترغب بتحقيقه من خلال تعلّم لغة برمجة. سيساعدك ذلك على تحديد نوع البرمجة التي يجب السعي لتحصيلها ويمنحك نقطة بداية جيدة. إن كنت ترغب بالانخراط في برمجة الويب، سيتاح لك الكثير من لغات البرمجة المختلفة التي يمكن تعلّمها غير اللغات المستخدمة لتطوير برامج الكمبيوتر. يتطلب تطوير تطبيقات الهواتف المحمولة مجموعة مهارات مختلفة عن برمجة برامج الكمبيوتر. ستؤثر كل هذه القرارات على الاتجاه الذي ستسلكه. يتعيّن عليك البدء بأحد لغات البرمجة البسيطة العالية بغض النظر عن قرارك. هذه اللغات مفيدة للمبتدئين على وجه الخصوص حيث أنها تعلّمهم مفاهيم أساسية ومنهجيات تفكير تنطبق على أي لغة.  أشهر اللغات في هذا التصنيف هما Python و Ruby. اللغتان غرضيتا التوجّه وتستخدمان في تطبيقات الويب وتمتلكان صيغة مفهومة للغاية. كون اللغة "غرضية التوجّه" يعني أن اللغة تعتمد على مفاهيم "الغرض"، أو مجموعات البيانات وطرق التلاعب بها. يستخدم هذا المفهوم في الكثير من لغات البرمجة المتقدمة مثل C++، و Java، و Objective-C، و PHP. إن لم تكن متأكدًا من اللغة التي ينبغي عليك البدء بتعلّمها، اقرأ بعض المقالات الإرشادية للتعرّف على اللغات المختلفة. إن جذبت لغة ما انتباهك أكثر من اللغات الأخرى، اختبرها لفترة لترى إن كانت هي اللغة المناسبة. هناك عدد لا يحصى من المقالات الإرشادية لكل لغات البرمجة على شبكة الإنترنت، وستجد العديد من هذه المقالات على موقع wikiHow:  Python - لغة برمجة رائعة للبداية كما أنها قوية جدًا عند الاعتياد عليها. تُستخدم هذه اللغة في العديد من تطبيقات الويب، وحتى بعض الألعاب. Java - تُستخدم هذه اللغة في العديد من أنواع البرامج ابتداءً من الألعاب، وحتى تطبيقات الويب وبرامج ماكينات صرف النقود. HTML - نقطة بداية أساسية لكل مطوّري الويب. إن التمكن من التعامل مع لغة HTML أمر أساسي قبل الانتقال إلى أي نوع آخر من أنواع تطوير برمجيات الويب. C - أحد اللغات القديمة، ولا تزال هذه اللغة أداة قوية وهي اللغة التي اشتقت منها لغات C++، و C#، و Objective-C الحديثة.
تعلّم المفاهيم الأساسية للغة البرمجة. قم بتثبيت البرامج اللازمة. برمج بشكل يومي. حدّد أهدافًا لبرامجك. تحدّث مع الآخرين واقرأ برامج أخرى. قم بتحدّي نفسك لجعل الأمر ممتعًا. احضر بعض دورات التدريب. قم بشراء أو استعارة كتاب. ادرس الرياضيات والمنطق. لا تتوقف عن البرمجة أبدًا. تعلّم لغة برمجة أخرى. ركّز على مفهوم واحد في كل مرة. تعلّم من خلال تفكيك الأمثلة الموجودة على الإنترنت. تفقّد صيغة الرمز البرمجي. اختبر التغييرات. ابدأ بالتدرّب على تتبّع الأخطاء. اكتب تعليقات على الرمز البرمجي بالكامل. انخرط في برنامج دراسي لمدة 4 سنوات. أنشئ محفظة أعمال. اعمل كمبرمج حرّ. طوّر برامج مجانية أو تجارية خاصة بك. حدّد مجال اهتمامك. فكّر في لبدء بلغة برمجة "بسيطة". اقرأ بعض المقالات الإرشادية البسيطة للغات مختلفة.
https://www.wikihow.com/Learn-a-Programming-Language https://www.wikihow.com/Learn-a-Programming-Language https://www.wikihow.com/Learn-a-Programming-Language https://www.wikihow.com/Learn-a-Programming-Language https://www.wikihow.com/Learn-a-Programming-Language https://www.wikihow.com/Learn-a-Programming-Language
Starting Small Practicing Regularly Expanding Your Knowledge Creating Your First Program Applying Your Skills Choosing a Language