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

الصفحات

لغات البرمجة (programming language )

 برمجة


لغة البرمجة هي نظام تدوين لكتابة برامج الكمبيوتر .  معظم لغات البرمجة هي لغات رسمية قائمة على النصوص ، لكنها قد تكون رسومية أيضًا . هم نوع من لغة الكمبيوتر .

الكود المصدري لبرنامج كمبيوتر بسيط مكتوب بلغة البرمجة سي . الخطوط الرمادية هي تعليقات تساعد في شرح البرنامج للبشر بلغة طبيعية . عند تجميعها وتشغيلها ، ستعطي الناتج " Hello world! ".

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

تعد نظرية لغة البرمجة  مجالًا فرعيًا لعلوم الكمبيوتر (CS) يتعامل مع تصميم لغات البرمجة وتنفيذها وتحليلها وتوصيفها وتصنيفها.

تعريفات

هناك العديد من الاعتبارات عند تحديد ما يشكل لغة البرمجة.

لغات الحاسوب مقابل لغات البرمجة

يستخدم مصطلح لغة الكمبيوتر أحيانًا بالتبادل مع لغة البرمجة.  ومع ذلك ، فإن استخدام كلا المصطلحين يختلف باختلاف المؤلفين ، بما في ذلك النطاق الدقيق لكل منهما. يصف الاستخدام الواحد لغات البرمجة كمجموعة فرعية من لغات الكمبيوتر.  وبالمثل ، فإن اللغات المستخدمة في الحوسبة التي لها هدف مختلف عن التعبير عن برامج الكمبيوتر هي لغات كمبيوتر محددة بشكل عام. على سبيل المثال ، يُشار أحيانًا إلى لغات الترميز كلغات كمبيوتر للتأكيد على أنه لا يُقصد استخدامها في البرمجة.  تتمثل إحدى طرق تصنيف لغات الكمبيوتر في الحسابات التي يمكنهم التعبير عنها ، كما هو موضح في نظرية الحساب. غالبية لغات البرمجة العملية هي لغة تورينج كاملة ،  ويمكن لجميع لغات تورينج الكاملة تنفيذ نفس مجموعة الخوارزميات   . ANSI \ ISOSQL-92 و Charity هما مثالان على اللغات التي لم تكتمل تورينج ، ولكنها غالبًا ما تسمى لغات البرمجة.  ومع ذلك ، يقصر بعض المؤلفين مصطلح "لغة البرمجة" على لغة تورينج الكاملة. 

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

المجال والهدف

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

مجال اللغة أيضا يستحق النظر. لا تعتبر لغات الترميز مثل XML أو HTML أو trof ، التي تحدد البيانات الهيكلية ، عادةً لغات برمجة.   يمكن للغات البرمجة ، مع ذلك ، مشاركة بناء الجملة مع لغات الترميز إذا تم تعريف الدلالات الحسابية. Xslt ، على سبيل المثال ، هي لغة تورينج كاملة تستخدم بنية XML بالكامل . علاوة على ذلك ، فإن Latex ، والذي يستخدم في الغالب لهيكلة الوثائق ، يحتوي أيضًا على مجموعة فرعية كاملة من Turing. 

التجريد

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

تعليقات