Thursday, July 6, 2017

لغات البرمجة و تصنيفها بشكل مبسط


مُقدمة

تُوجد الكثير من لغات البرمجة حول العالم و لِكُل لُغة هدف معين تَخدُمه و مِنصَة تدعمُها. بِشكل عام , من الصعب تصنيف لغات البرمجة. ففي الكثير من الأحيان, نستطيع ان ننظُر الى لٌغة البرمجة من عدة نواحي و نستطيع تصنيفها في اكثر من مكان.في هذه الصفحة سوف ننظر الى التصنيفات الأساسية المُعتمدة لِلٌغات البرمجة.


تصنيف لُغات البرمجة مِن حيث التواصل مع الأجهزة الملموسة

يُقصد بِالأجهزة المَلمُوسة (او الأجهزة الطرفية) المُعالج و ذاكرة الوصول العشوائي او اي جهاز ملموس مِن المُمكن كِتابة تعليمات برمجية له. تحت هذا التصنيف, يوجد نوعين مِن لُغات البرمجة:

لغات برمجة عالية المستوى (High Level Programming Languages)

اللغات عالية المستوى هي لغات يستطيع البشر فهمها بشكل سهل. فهي قريبة الى مستوى اللغة الطبيعية اللتي يفهمها الإنسان. هذا النوع من اللغات لا تنظر بشكل مباشر الى الاجهزة الملموسة مثل الذاكرة او المعالج. يستطيع المبرمج كتابة الشيفرة البرمجية بدون القلق على ادارة الذاكرة او المعالج. مِن اشهر لُغات البرمجة الموجودة تحت هذا التصنيف هي لُغة جافا. بِشكل عام, الكثير مِن المُبرمجين يتعلمون هذا النوع مِن اللُغات.


لغات برمجة منخفضة المستوى (Low Level Programming Languages)

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



التصنيف العام

بعد معرفتنا للتصنيف الاول, هنالك نوع آخر من التصنيف. هذا التصنيف يسمى بالتصنيف العام. تحت هذا التصنيف, توجد ثلاثة اقسام:
  • لغات برمجة ذات مجال معين
  • نمط البرمجة
  • برمجة نصية

لغات برمجة ذات مجال معين (Domain-specific Programming Languages)

اللغات التي تحت هذا الصنف تم تصميمها لتخدم مجال معين. فمثلا, هناك لغات تستخدم لبرمجة الصوت. و هناك لغات تستخدم لأهداف تعليمية. و هنالك لغات تستخدم لبرامج الإنترنت. من اللغات اللتي تستخدم لبرمجة صفحات الإنترنت: جافاسكربت, اتش تي ام ال, سي اس اس.


نمط البرمجة (Programming Paradigm)

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

برمجة كائنية التوجه (Object Oriented)
يتم التعامل مع الشيفرة البرمجية على انها كائنات لها خصائص معينة و تقوم بإجرائات محددة. فمثلا, من الممكن ان يكون لدينا كائن اسمه "طالب". و كائن آخر اسمه "مدرس" من الخصائص التي لديه هي "الإسم" و "العمر" و "الدرجة" مثلا. و من الإجرائات التي يمكنه القيام بها هي "المذاكرة". و من الإجرائات التي يعملها المدرس هو "وضع الدرجة للطالب". من اللغات الموجودة تحت هذا الصنف: جافا, سي بلص بلص, بي اتش بي, اكشن سكربت.


برمجة اجرائية (Procedural)
البرمجة الإجرائية لا يوجد بها كائنات. كل ما تحتويه الشيفرة البرمجية هو اجرائات فقط . من اللغات الموجودة تحت هذا الصنف: لغة سي



برمجة نصية (Scripting Languages)

اللغات اللتي تحت هاذا الصنف لا يتم عمل تجميع لها. فقط يتم تشغيلها كما هي بواسطة محركات . من اللغات الموجودة تحت هذا الصنف: جافاسكربت, بي اتش بي, اكشن سكربت.


No comments:

Post a Comment

Feel free to write any thing in your mind here 😉