ما هي البرمجة ؟

السلام عليكم ورحمة الله وبركاته

وقت القراءة: ≈ 5 دقائق

المقدمة

سنبدأ سلسلة جديدة لكن هذه السلسلة مميزة جدًا
لأنها ستركز عن أساسيات البرمجة والتي تعد بداية دخولك إلى عالم البرمجة الممتع والجميل

أولًا أحتاج لترسيخ بعض النقاط الأساسية التي ستكون معنا طول السلسلة:

ما قبل البرمجة

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

بالتالي عندما يمر تيار كهربائي في سلك معين فنرمز له بالـ 1 وعندما لا يمر تيار كهربائي فنرمز له بالـ 0
هكذا فتحنا باب صغير جدا لتواصل مع هذا الجهاز وهو الـ 1 والـ 0

ملحوظة: الجهاز لا يفهم الـ 1 والـ 0 بحد ذاتهم بمعنى أنه لا يعرف شيء عنهما، هذه مجرد تمثيل للتيار الكهربائي الذي يمر أو لا يمر في الدوائر الكهربائية
نحن الذين قمنا بتحديد أن الـ 1 يعني هناك تيار يمر هنا والـ 0 يعني لا يوجد تيار يمر هنا

ثم بدأنا نصنع انماط معينة او لغة تواصل معينة من الـ 1 والـ 0 لنتواصل بها مع الجهاز مثل أن 01100001 تعني a و 01100010 تعني b وهكذا
حتى الأرقام البشرية التي نعرفها بدأنا تمثيلها بأنماط من 0 و 1 مثل أن 0001 تعني الرقم 1 و 0010 تعني الرقم 2 وهكذا

وهذه لغة تسمى لغة الآلة Machine Language وهي لغة تفهمها الآلة فقط
ونظام العد الذي يحتوي على الـ 1 والـ 0 يسمى نظام العد الثنائي Binary Number
والرقم 0 و 1 يسمى Bit وقمنا بتعريفها على أنها أصغر وحدة تخزين في الحاسوب

ثم بدأنا نتقدم ونصنع لغة اسهل لنتواصل مع الجهاز وهي لغة Assembly Language وهي لغة تستخدم حروف وأوامر بسيطة باللغة الإنجليزية مثل ADD و SUB و MOV كلمات مقروءة ومفهومة ونستطيع حفظها على عكس 0 و 1

ثم يتم ترجمة لغة الـ Assembly إلى لغة الآلة Machine Language فيما بعد والتي تكون في النهاية مجموعة من الـ 0 والـ 1 يفهما الجهاز بطريقة ما

مع مرور الوقت، تطورت لغات البرمجة بشكل كبير، وظهرت لغات البرمجة كثيرة مثل C++ و Java و Python تبسط عملية البرمجة أكثر وتجعلها أسهل ومفهومة أكثر ويسهل التعامل معها وبها مميزات متنوعة

عملية الترجمة من لغة برمجة مثل C++ إلى لغة الآلة Machine Language تتم بواسطة وسيط نسميه الـ Compiler أو الـ Interpreter وهو يقوم بترجمة الأوامر التي كتبتها في لغة البرمجة إلى لغة الآلة التي يفهمها الجهاز

تخيل كيف بدأنا من التواصل مع الجهاز بالـ 1 والـ 0 ثم تطورنا لنصنع لغات برمجة متقدمة ثم وصلنا لعصر الذكاء الاصطناعي والتعلم الآلي والروبوتات والألعاب الإلكترونية والتطبيقات الذكية والمواقع الإلكترونية والبرامج الضخمة و ... والكثير الكثير

نحن هنا سنحول التركيز على أساسيات لغات البرمجة التي نستخدمها دائما في أي لغة
والتي يجب أن تعرفها بغض النظر عن اللغة التي تستخدما او تتعلمها

ما هي البرمجة ؟

البرمجة هي ببساطة كتابة بعض الأوامر والتعليمات بلغة معينة لينفذها الجهاز
بمعنى أنها لغة تستخدمها لتخاطب بها الآلة لتنفيذ مهام محددة

تلك اللغة مهما كانت فهي مجرد وسيط بينك وبين تلك الحديدة التي لا تفهم شيء
كل ما في الأمر أنك تقوم بكتابة أمر معين في لغة برمجة معينة مثلا اجمع لي 5 و 10 ثم تقوم لغة البرمجة التي تستخدمها بتحويل الأمر التي كتبته إلى لغة الـ 0 و 1 بنمط معين ليفهمها الجهاز

ويوجد لغات كثيرة تستخدمها لتتواصل مع الجهاز
وكل لغة لها مميزاتها وخواصها ولها التخصص التي تمتاز فيه

مثلا ستجد لغات برمجة جيدة في مجالات معينة ولغات مخصصة بشكل كامل لمجال معين
وكل مجال وتخصص له اللغات الخاصة بها واختيارك للغة تعتمد على المجال والفكرة وما الذي تريد القيام به

مجالات البرمجة وما الأبعاد التي يمكنك أن تصل إليها

مجالات البرمجة كثيرة جدًا ومتنوعة وتشمل العديد من الأبعاد والتخصصات
وهناك العديد من الفرص المهنية والمجالات التي يمكنك العمل بها بعد تعلم البرمجة، منها:

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

لكن تعرف ما الشيء الجميل في هذا الكلام ؟ أن كل شيء يتغير ما عادا أساسيات أي مجال أو تخصص
وأيضًا أي لغة جديدة أو قديمة بها أساسيات ثابتة ومفاهيم أساسية تجدها في كل لغات البرمجة
وهذ ما سنركز عليها في هذه السلسلة الجديدة من المقالات

فعلى سبيل المثال لو تعلمت لغة C++ وأتقنت الأساسيات من خلالها ستجد أنك تستطيع التنقل بين اللغات أخرى بشكل أسهل وأسرع
لأنها كلها تشترك في الأساسيات والمفاهيم الأساسية
وهذا ما سنركز عليه في هذه السلسلة الجديدة الأمور الأساسية التي تجدها في كل لغات البرمجة