؟ ملاحظة: تم إنشاء الصورة المصغرة باستخدام
نموذج Flux Schnell بمساعدة ComfyUI؛
تمت كتابة هذه المقالة بمساعدة NI - الذكاء الطبيعي
؟ ليس لديك الوقت للقراءة؟ - شاهد الفيديو الذي أنشأناه:
في البداية تمت كتابة جميع البرامج في نظام ثنائي - ما يسمى التجميع
لغة البرمجة. حيث تقوم حرفيًا بإرشاد وحدة المعالجة المركزية إلى ما يجب فعله داخل
ألو. بينما يوفر التجميع كونه لغة برمجة منخفضة المستوى
تحكم دقيق جدًا في 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:
#includeint 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
تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.
Copyright© 2022 湘ICP备2022001581号-3