تعد أجهزة الكمبيوتر من أكثر الأدوات المتوفرة لدينا تنوعًا. هذه الأجهزة قادرة على أداء أعمال حسابية مذهلة ، ويسمحون بتبادل المعلومات بسهولة بغض النظر عن موقعهم الفعلي ، ويقومون بتبسيط العديد من المهام اليومية، ويسمحون لنا بأتمتة العديد من العمليات التي قد تكون مملة أو مملة لأداء بطريقة أخرى. ومع ذلك ، فإن أجهزة الكمبيوتر ليست "ذكية" كما نحن. يجب إخبارهم بعبارات لا لبس فيها بما يفترض بهم فعله بالضبط ، ولغاتهم الأم تختلف تمامًا عن أي شيء نتحدثه. وبالتالي ، هناك حاجز لغوي هائل بين الشخص الذي يرغب في أن يقوم الكمبيوتر بشيء ما، والكمبيوتر الذي يتطلب عادةً تعليمات بلغته الأم ، رمز الآلة ، لفعل أي شيء. حتى الآن ، لا تستطيع أجهزة الكمبيوتر معرفة ما يفترض أن تفعله بمفردها ، وبالتالي فهي تعتمد على البرامج التي نقوم بإنشائها ، وهي عبارة عن مجموعات من الإرشادات التي يمكن للكمبيوتر فهمها واتباعها.
نظرة عامة على البرامج ولغات البرمجة
- Compiled, interpreted, or JIT-compiled
تُترجم اللغات المترجمة إلى اللغة الأصلية للجهاز الهدف عن طريق برنامج يسمى مترجم. يمكن أن ينتج عن هذا رمز سريع جدًا ، خاصةً إذا كان المترجم فعالاً في التحسين ، ومع ذلك قد لا يتم نقل الكود الناتج بشكل جيد عبر أنظمة التشغيل وقد تستغرق عملية التجميع بعض الوقت.
تتم قراءة اللغات المترجمة بواسطة برنامج يسمى المترجم الفوري ويتم تنفيذه بواسطة هذا البرنامج. على الرغم من كونها محمولة مثل المترجم الشفهي وليس لها أوقات ترجمة طويلة ، فإن اللغات المفسرة عادة ما تكون أبطأ بكثير من البرامج المترجمة المكافئة.
أخيرًا ، اللغات المجمعة في الوقت المناسب (أو المترجمة JIT) هي لغات يتم تجميعها بسرعة عندما تحتاج البرامج المكتوبة بها إلى التشغيل (عادةً مع القليل جدًا من التحسين) ، مما يوفر توازنًا بين الأداء وقابلية النقل.
- لغة برمجة منخفضة أو مرتفعة المستوى
- نظام كتابة لغات البرمجة
-فحص النوع: ثابت أو ديناميكي
- نموذج البرمجة
نموذج البرمجة هو منهجية أو طريقة برمجة تدعمها لغة البرمجة. فيما يلي ملخص لبعض النماذج الشائعة:
سوف تركز اللغة التصريحية بشكل أكبر على تحديد ما يفترض أن تحققه اللغة بدلاً من الوسائل التي من المفترض أن تحققها. يمكن استخدام مثل هذا النموذج لتجنب الآثار الجانبية غير المرغوب فيها الناتجة عن الاضطرار إلى كتابة الكود الخاص به.
-وظيفي Functional
البرمجة الوظيفية هي مجموعة فرعية من البرمجة التصريحية التي تحاول التعبير عن المشاكل من حيث المعادلات والوظائف الرياضية. يذهب بعيدًا عن طريقه لتجنب مفاهيم الحالات والمتغيرات القابلة للتغيير الشائعة في اللغات الحتمية.
-نوعي Generic
تركز البرمجة العامة على كتابة خوارزميات هيكلية من حيث الأنواع التي سيتم تحديدها عند استخدام الخوارزمية فعليًا ، مما يسمح ببعض التساهل مع المبرمجين الذين يرغبون في تجنب قواعد الكتابة الصارمة الصارمة. يمكن أن يكون نموذجًا قويًا جدًا إذا تم تنفيذه جيدًا.
-إلزامي Imperative
تسمح اللغات الحتمية للمبرمجين بإعطاء الكمبيوتر قوائم مرتبة من التعليمات دون الحاجة بالضرورة إلى ذكر المهمة صراحةً. يمكن التفكير في أنها عكس البرمجة التصريحية.
-منظم Structured
تهدف لغات البرمجة المهيكلة إلى توفير شكل من أشكال البنية الجديرة بالملاحظة للغة ، مثل التحكم البديهي في الترتيب الذي يتم تنفيذ العبارات به (إذا كان X ثم فعل Y بطريقة أخرى Z ، فافعل X بينما Y هو Z). تتجاهل هذه اللغات عمومًا "القفزات" ، مثل تلك التي توفرها تعليمة goto في C و C ++.
-إجرائية Procedural
على الرغم من أنها تستخدم أحيانًا كمرادف للبرمجة الحتمية ، يمكن أن تشير لغة البرمجة الإجرائية أيضًا إلى لغة برمجة منظمة ضرورية تدعم مفهوم الإجراءات والروتينات الفرعية (المعروفة أيضًا باسم الوظائف في C أو C ++).
-الكائنية التوجه Object-Oriented
البرمجة الشيئية (أحيانًا ما يتم اختصارها إلى OOP) هي مجموعة فرعية من البرمجة المهيكلة التي تعبر عن البرامج بمصطلحات "الكائنات objects" ، والتي تهدف إلى نمذجة الكائنات في العالم الحقيقي. يسمح مثل هذا النموذج بإعادة استخدام الكود بطرق رائعة ويقصد به أن يكون سهل الفهم.
0 تعليقات