القائمة الرئيسية

الصفحات

لغات البرمجة | الشرح بالتفصيل | Programing languages

 لغات البرمجة | الشرح بالتفصيل | Programing languages


من خلال هذا الموضوع سنتعرف ان شاء الله على ما يلي

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

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

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

لغات البرمجة منخفضة المستوى

لغات البرمجة منخفضة المستوى هي لغات برمجة تعمل مباشرة على مجموعة رموز الأجهزة ، وتحديداً وحدة المعالجة المركزية ، وتعرف هذه التعليمات باسم مجموعة تعليمات الأجهزة ، مما يعني بشكل أوضح أنها تعليمات برمجة مصممة خصيصًا لوحدة المعالجة المركزية و تختلف وفقًا لنوع وحدة المعالجة المركزية ، إذا قمت بتصميم برنامج للتشغيل على وحدة المعالجة المركزية Intel x64 ، فلن يعمل هذا البرنامج على جهاز يحتوي على نوع آخر من المعالجات مثل ARM ، ما لم تقم وحدات المعالجة المركزية بتشغيل نفس التعليمات كما تفعل بين وحدات المعالجة المركزية من النوع إنتل و AMD.

لذلك ، يقال دائمًا عن هذا النوع من لغات البرمجة أنه قريب من الجهاز ، حيث إن كل أمر برمجي يتوافق مع جزء مادي ليتم تنفيذه ، ويمكن تقسيم هذا النوع من لغات البرمجة إلى قسمين رئيسيين وهما

كود الآلة

لغة الآلة هي اللغة الوحيدة التي يمكن للكمبيوتر تشغيلها مباشرة دون إجراء أي تحويلات أو تعديلات. لغة الآلة هي سلسلة أو مجموعة من الأرقام الثنائية Binary (صفر وواحد) ، وتنقسم هذه السلسلة إلى مجموعة من التعليمات أو الجمل ، تحتوي كل جملة على كود وحدة المعالجة المركزية بالإضافة إلى البيانات التي يتم تنفيذ الكود عليها.

عادة ما تتم كتابة البرامج بهذه اللغة عن طريق كتابة جمل التعليمات البرمجية في النظام السادس عشر Hexadécimal أو النظام الثماني Octal system ، ثم يتم استخدام برنامج يسمى Loader لتحويل هذه الأوامر من نظام العد السادس عشر أو الثماني إلى النظام الثنائي المعروف باسم النظام الثنائيbinary system.




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

 تشغيل البرنامج.

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

لغة التجميع

لغة التجميع هي اللغة الأقرب إلى لغة الآلة ، حيث تتم كتابة التعليمات البرمجية بأوامر أحرفها باللغة الإنجليزية بحيث تتم كتابة كل جملة أو أمر برنامج في سطر منفصل ، ويتم تحويل كل سطر إلى بيان رمز مطابق في لغة الآلة بواسطة ما يعرف بالمجمع .

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

كما هو الحال في لغة الآلة ، تعمل لغة التجميع أيضًا مع أوامر محددة لكل وحدة معالجة مركزية. لكتابة برنامج يعمل على أجهزة الكمبيوتر مع وحدة معالجة Intel أو AMD ، يتم استخدام أي من برامج Assembler المخصصة لكتابة التعليمات البرمجية التي تعمل على أجهزة الكمبيوتر.

يضيف الأمر التالي الرقم 213 إلى الرقم الموجود في سجل EAX ويخزن قيمة المجموع في سجل EAX. السجل هو نوع من ذاكرة وحدة المعالجة المركزية ويسمى Register وتحتوي وحدة المعالجة المركزية على العديد من السجلات ، ولكل سجل اسم محدد مثل EAX.

إضافة EAX 0x000000D5

رمز الآلة المقابل للأمر السابق في نظام العد السادس عشر

05D5000000

ستلاحظ أن أول رمزين هما 05 في نظام العد السادس عشر ، وهذا الأمر وفقًا لمجموعة تعليمات Intel يكافئ الأمر ADD EAX ثم D5 00 00 00 ، وهي قيمة الرقم 213 المكتوب في السادس عشر العد في طريقة Little Indian 32 بت.

لغة التجميع هي لغة صعبة إلى حد ما ، حيث تحتوي على آلاف التعليمات البرمجية التي يصعب تذكرها ، رغم ذلك

لغات برمجة عالية المستوى

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

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

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

يمكن تصنيف لغات البرمجة عالية المستوى وفقًا لطريقة التشغيل أو ترجمة الأكواد ، حيث يتم تصنيف اللغات عالية المستوى إلى ثلاثة أقسام رئيسية وهي كالتالي

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

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

تتضمن أمثلة لغات البرمجة الموضحة JavaScript و PHP و Python و JAVA و Prolog.

لكي تتمكن من تشغيل أي برنامج مكتوب بلغة برمجة مفسرة ، يجب أن يكون لديك برنامج مترجم فوري بالإضافة إلى كود البرنامج ، على سبيل المثال لغة JavaScript التي يتم تشغيلها من خلال المتصفح حيث يحتوي كل متصفح على مترجم فوري لـ يجب أن تكون لغة JavaScript وكذلك للغة PHP برنامج مترجم PHP موجودًا حتى تتمكن من تشغيل أي برنامج مكتوب بهذه اللغة.

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

ومن عيوب هذا النوع أنه يحتاج إلى إمكانات عالية لوحدة المعالجة المركزية ويحتاج أيضًا إلى قدر كبير من الذاكرة العشوائية ، بحيث يمكن للجهاز تشغيل المترجم الفوري بالإضافة إلى كود البرنامج.

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

لتوضيح ذلك ، عندما ينتهي المبرمج من كتابة كود البرنامج ، يقوم المبرمج بترجمة ملفات الكود باستخدام المترجم ، ثم يرسل الملف القابل للتنفيذ الناتج من عملية الترجمة (قابل للتنفيذ) إلى المستخدم النهائي للبرنامج ، حيث يقوم المستخدم النهائي للبرنامج. يقوم البرنامج بتشغيل ملف البرنامج مباشرة ، دون الحاجة إلى ملفات التعليمات البرمجية التي تمت كتابتها أو بدون برامج وسيطة.

أمثلة على هذا النوع من اللغة هي C و C ++ و COBOL و GO و Swift.

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


***********************


***********************

تعليقات