مقدمة عن لغات البرمجة

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

الصفحات

آخر الأخبار[LastPost]

مقدمة عن لغات البرمجة

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

مقدمة عن لغات البرمجة

نظرية لغات البرمجة

هي مجال فرعي من علوم الكمبيوتر يتعامل مع تصميم وتنفيذ وتحليل وتوصيف وتصنيف لغات البرمجة.

تعريف آخر للبرمجة

لغات البرمجة هي تدوين لكتابة البرامج ، وهي مواصفات للحساب أو الخوارزمية. يقصر بعض المؤلفين مصطلح "لغة البرمجة" على تلك اللغات التي يمكنها التعبير عن جميع الخوارزميات الممكنة. تشمل السمات التي غالبا ما تعتبر مهمة لما يشكل لغة برمجة ما يلي:

  1. Function and target
  2. Abstractions
  3. Expressive power

الفرق بين لغات البرمجة ولغات الترميز

لغات الترميز مثل XML أو HTML أو troff ، التي تحدد البيانات المنظمة ، لا تعتبر عادة لغات برمجة. ومع ذلك، قد تشترك لغات البرمجة في بناء الجملة مع لغات الترميز إذا تم تعريف دلالات حسابية. XSLT ، على سبيل المثال، لغة تورينغ كاملة تستخدم بالكامل بناء جملة XML. علاوة على ذلك ، يحتوي LaTeX ، الذي يستخدم في الغالب لهيكلة المستندات ، على مجموعة فرعية كاملة من Turing.

مصطلح لغة الكمبيوتر

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

استخدام لغات البرمجة

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

تاريخ تطور لغات البرمجة

  • التطورات المبكرة
تمت برمجة أجهزة الكمبيوتر المبكرة جدا ، مثل Colossus ، دون مساعدة من برنامج مخزن ، عن طريق تعديل دوائرها أو وضع بنوك الضوابط المادية.

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

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

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

تمت كتابة أول لغات برمجة عالية المستوى ، أو لغات برمجة الجيل الثالث ، في 1950s. كانت لغة البرمجة المبكرة عالية المستوى التي تم تصميمها لجهاز كمبيوتر هي Plankalkül ، التي طورها كونراد زوز ل Z3 الألمانية بين عامي 1943 و 1945. غير أنه لم ينفذ حتى عامي 1998 و 2000.

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

لغة برمجة Autocode

في جامعة مانشستر ، طور أليك جليني Autocode في أوائل 1950s. كلغة برمجة ، استخدمت مترجما لتحويل اللغة تلقائيا إلى رمز الجهاز. تم تطوير أول رمز ومترجم في عام 1952 لجهاز الكمبيوتر Mark 1 في جامعة مانشستر وتعتبر أول لغة برمجة عالية المستوى تم تجميعها.

تم تطوير الرمز التلقائي الثاني ل Mark 1 بواسطة R. A. Brooker في عام 1954 وكان يسمى "Mark 1 Autocode". طور بروكر أيضا رمزا تلقائيا لفيرانتي ميركوري في 1950s بالتعاون مع جامعة مانشستر. تم ابتكار نسخة EDSAC 2 من قبل D. F. Hartley من مختبر الرياضيات بجامعة كامبريدج في عام 1961. يعرف باسم EDSAC 2 Autocode ، وكان تطورا مباشرا من Mercury Autocode تم تكييفه للظروف المحلية ولوحظ لتحسين رمز الكائن وتشخيص لغة المصدر التي كانت متقدمة في ذلك الوقت. تم تطوير Atlas Autocode ، وهو خيط معاصر ولكنه منفصل للتنمية ، لآلة Atlas 1 بجامعة مانشستر.

اول لغات برمجة للأغراض العامة

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

تم ابتكار لغة برمجة مبكرة أخرى من قبل غريس هوبر في الولايات المتحدة ، تسمى FLOW-MATIC. تم تطويره ل UNIVAC I في ريمنجتون راند خلال الفترة من 1955 حتى 1959. وجدت هوبر أن عملاء معالجة بيانات الأعمال كانوا غير مرتاحين للتدوين الرياضي ، وفي أوائل عام 1955 ، كتبت هي وفريقها مواصفات للغة برمجة إنجليزية ونفذوا نموذجا أوليا. أصبح مترجم FLOW-MATIC متاحا للجمهور في أوائل عام 1958 وتم اكتماله بشكل كبير في عام 1959. كان ل FLOW-MATIC تأثير كبير في تصميم COBOL ، حيث كان هو فقط وسلالته المباشرة AIMACO قيد الاستخدام الفعلي في ذلك الوقت.

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

النماذج اللغوية الرئيسية المستخدمة حاليا

جلبت الفترة من 1960s إلى أواخر 1970s تطوير النماذج اللغوية الرئيسية المستخدمة الآن:

  • قدمت APL برمجة الصفيف وأثرت على البرمجة الوظيفية.
  • قامت ALGOL بتنقيح كل من البرمجة الإجرائية المنظمة والانضباط في مواصفات اللغة. أصبح "التقرير المنقح عن اللغة الخوارزمية ALGOL 60" نموذجا لكيفية كتابة مواصفات اللغة اللاحقة.
  • كانت Lisp ، التي تم تنفيذها في عام 1958 ، أول لغة برمجة وظيفية مكتوبة ديناميكيا.
  • في 1960s ، كانت Simula أول لغة مصممة لدعم البرمجة الموجهة للكائنات. في منتصف 1970s ، تبعت Smalltalk مع أول لغة "نقية" كائنية المنحى.

لغات برمجة اخرى تم تطويرها

تم تطوير لغة C بين عامي 1969 و 1973 كلغة برمجة نظام لنظام التشغيل يونكس ولا تزال تحظى بشعبية.

كانت Prolog ، التي تم تصميمها في عام 1972 ، أول لغة برمجة منطقية.

في عام 1978 ، قامت ML ببناء نظام من النوع متعدد الأشكال على رأس Lisp ، وهي رائدة في لغات البرمجة الوظيفية المكتوبة بشكل ثابت.

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

شهدت 1960s و 1970s أيضا جدلا كبيرا حول مزايا البرمجة المنظمة ، وما إذا كان ينبغي تصميم لغات البرمجة لدعمها. جادل إدسجر ديكسترا ، في رسالة شهيرة عام 1968 نشرت في اتصالات ACM ، بأنه يجب إزالة بيانات Goto من جميع لغات البرمجة "ذات المستوى الأعلى".

لغات برمجة الجيل الخامس

كانت 1980s سنوات من التوحيد النسبي. طورت لغة برمجة C ++ التي جمعت بين الكائنات الموجهة وبرمجة الأنظمة. قامت حكومة الولايات المتحدة بتوحيد Ada ، وهي لغة برمجة أنظمة مشتقة من Pascal ومخصصة للاستخدام من قبل مقاولي الدفاع. في اليابان وأماكن أخرى، تم إنفاق مبالغ طائلة في التحقيق في ما يسمى بلغات "الجيل الخامس" التي تضمنت بنى البرمجة المنطقية.

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

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

    1. C++.
    2. Python.
    3. C#.
    4. Delphi.
    5. Ruby.
    6. Cobol.
    7. Java.
    8. PHP.
    9. Visual Basic.

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

    1. لغة الالة.
    2. لغة التجميع.

فوائد تعلم لغات البرمجة

هناك عدة فوائد لتعلم لغات البرمجة منها:

  1. تحقق مكاسب مادية كبيرة.
  2. زيادة الطلب عليها في عصرنا الحالي.
  3. تزيد من فرص الاوظيف التي يمكن الالتحاق بها.
  4. توفر طرق جديدة لمتعلميها في ابتكار طرق لحل المشاكل.


تعليقات