"إذا أراد العامل أن يؤدي عمله بشكل جيد، فعليه أولاً أن يشحذ أدواته." - كونفوشيوس، "مختارات كونفوشيوس. لو لينجونج"
الصفحة الأمامية > برمجة > شرح لغات البرمجة

شرح لغات البرمجة

تم النشر بتاريخ 2024-11-06
تصفح:642

Programming Languages Explained

؟ ملاحظة: تم إنشاء الصورة المصغرة باستخدام
نموذج Flux Schnell بمساعدة ComfyUI؛
تمت كتابة هذه المقالة بمساعدة NI - الذكاء الطبيعي
؟ ليس لديك الوقت للقراءة؟ - شاهد الفيديو الذي أنشأناه:
Programming Languages Explained

حَشد ؟

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

؟ مثال على التجميع تطبيق helloworld لنظام التشغيل Linux X86:

section .data
    hello db 'Hello World!', 0x0A     ; The string to print, with a newline

section .text
    global _start                     ; Entry point for the program

_start:
    ; Write the string to stdout
    mov eax, 4                        ; syscall number for sys_write
    mov ebx, 1                        ; file descriptor 1 is stdout
    mov ecx, hello                    ; pointer to the string
    mov edx, 13                       ; length of the string
    int 0x80                          ; call kernel

    ; Exit the program
    mov eax, 1                        ; syscall number for sys_exit
    xor ebx, ebx                      ; exit code 0
    int 0x80                          ; call kernel

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

الغرض من لغة البرمجة عالية المستوى هو تبسيط إجراءات
كتابة منطق الأعمال باستخدام نص يمكن قراءته بواسطة الإنسان. برمجة عالية المستوى
يتم تصنيف اللغات على أنها مجمعة ومفسرة.

لغة برمجة مجمعة ️

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

الأداء حكيم في غالبية الحالات التي يتم فيها تنفيذ البرامج المجمعة
أسرع ؟ من البرامج المفسرة.

تتم كتابة غالبية اللغات المترجمة بشكل ثابت.
يتبع الشرح في الفقرات التالية.

اللغات المترجمة الأكثر شيوعًا هي C وC وRust وObjective C وC#.

؟ أهلا بالعالم مكتوب بلغة البرمجة C:

#include 
int main() {
   printf("Hello World!");
   return 0;
}

المكتبات المرتبطة بشكل ثابت وديناميكي؟️

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

لغة البرمجة المفسرة؟

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

الأداء الحكيم في غالبية الحالات يكون تفسير البرامج أبطأ؟
من تجميعها.

اللغات المترجمة الأكثر شيوعًا هي Python، وJavaScript، وPHP، وRuby.

؟ أهلا بالعالم مكتوب بلغة البرمجة بايثون:

print("Hello World!")

الكتابة في لغات البرمجة؟

يمكن تصنيف لغات البرمجة على أنها مكتوبة بشكل ثابت أو ديناميكي.

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

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

هياكل البيانات

المتغيرات ؟

المتغيرات يمكن أن تكون أرقام صحيحة، أرقام الفاصلة العائمة، سلاسل.
تعتبر أبسط بنية بيانات ممكنة.
ولحفر أعمق يتم تخزين المتغيرات باستخدام عناوين محددة في ذاكرة الوصول العشوائي.
العنوان رقم ثنائي (1111111111111101011111101111111111100001101100)
عادةً ما يتم تمثيل خلية الذاكرة في ذاكرة الوصول العشوائي (RAM) كرقم سداسي عشري
(0x7fff5fbff86c) لسهولة القراءة.

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

هياكل البيانات الأخرى؟

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

الوظائف في لغات البرمجة؟

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

الاستنتاجات؟

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

المصدر: https://blog.wiregate.io/posts/programming-languages-explained

بيان الافراج تم نشر هذه المقالة على: https://dev.to/mikhail_shevtsov/programming-languages-explained-4mgc?1 إذا كان هناك أي انتهاك، يرجى الاتصال بـ [email protected] لحذفه
أحدث البرنامج التعليمي أكثر>

تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.

Copyright© 2022 湘ICP备2022001581号-3