لغات البرمجة المختلفة ونطاقها. محاضرة في ياندكس. لغات البرمجة الحديثة واستخدامها لغات البرمجة

لحل مهام الحوسبة، تستخدم معالجات الرسوم البيانية الآن الآن، ولكن السؤال لا يزال مفتوحا: كيفية كتابة برامج فعالة للتكوينات ذات الصلة؟

06/15/2011 Andrei Adinets.

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

منذ ثلاث سنوات، تعتبر معدات المعالج الرسومية (وحدة المعالجة الرسومية، GPU) فقط كبطاقات فيديو لجهاز كمبيوتر، والآن تم تغيير الموقف تجاهها - هناك نماذج خادم GPU الخاصة تركز على حل مهام الحوسبة، زادت الأداء على حسابات الدقة المزدوجة ، أداء سجل النظم، الذي يشغل الأسطر العلوية في أعلى 500. كيفية كتابة برامج فعالة لهذه الآلات؟ استجابة قياسية - مجموعة من CUDA أو OPENCL لبرمجة GPU و MPI على مستوى الكتلة. هذه الأدوات متوفرة، مدعومة بنشاط من قبل الشركات المصنعة للمعدات، وقد كتبت بالفعل العديد من البرامج لهم، ولكن هناك أيضا عيوب.

CUDA و OPENCL - ملحقات لغة SI، ليس من الصعب الدراسة، على الرغم من أنها أدوات منخفضة المستوى بما فيه الكفاية. من خلال مساعدتهم، يمكنك تنفيذ خوارزمية GPU نسبيا نسبيا، ولكن الإصدار المحسن لتطبيق معين والتكوين أكثر تعقيدا. سيتم إجراء جميع التحسينات يدويا، والتي ستؤدي إلى زيادة في حجم القانون وتدهور قابلية قرائه. وعلى الرغم من أن البرامج التي تم إنشاؤها باستخدام OpenCL سيتم نقلها بين مجموعة واسعة من الهندسة، فلن يتم حفظ الأداء مع مثل هذا التحويل. أدوات مطلوبة لبرمجة المستويات العليا GPU.

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

لغات قابلة للتوسيع

من أجل أن تكون اللغة قابلة للتوسيع، من الضروري أن تكون موجودة في ذلك:

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

اتضح أن اللغات التي تلبي هذه المتطلبات قليلة نسبيا: Lisp، Nemerle، seed7، xoc و stratego. في الوقت نفسه، يستخدم XOC، الذي يهدف إلى تمديد لغة SI، لغة Zeta منفصلة لكتابة ملحقات، والسكويتات هي لغة مجال الموضوع لإنشاء محولات التعليمات البرمجية المصدر. Nemerle هي لغة توسيع تستخدم الأربعاء. صافي.

جميع آليات دعم اللغات القابلة للتوسيع للعمل مع برنامج للبرامج، وقبل كل هذا التصميم في Quasicitization - مواصفات الكائن التي تمثل شجرة البرنامج، باستخدام شفرة المصدر.

في لغة Nemerle، يتم استخدام التصميم لهذا، على سبيل المثال، إنه يقوم بإنشاء شجرة تتكون من إعلان متغير لدي بقيمة مبدئية من 0. تشبه Quasicitization لإنشاء كائنات سلسلة مع ثوابت السلسلة. في التين. 1 يظهر مثالا على Quasicitization. يتيح لك تصميم الاستيفاء استبدال قيم المتغيرات في نمط ثابت داخل Quasicitization. في NemerLe، يستخدم تصاميم $ (...) لهذا إذا كنت ترغب في استبدال قائمة، على سبيل المثال. أيضا في لغات قابلة للتوسيع هناك تصاميم لتحليل شجرة البرنامج. في لغة NemerLe، يتم استخدام مطابقة المشغل (...) (...) (...)، التماثلي من التبديل من لغة SI، حيث يتم استخدام فروعها من قبل تصاميم Quasititization. في هذه الحالة، يتم التعامل مع الاستيفاء باعتبارها متغيرات جديدة إعلانية، والتي، إذا كانت المقارنة الناجحة، تلقي قيم السكتة الدماغية المقابلة. على سبيل المثال، لمباراة المشغل المطابقة (E) (| \u003d\u003e ...)، إذا كان E يحتوي على شجرة، في متغير سقط، وفي المتغير B.

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

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

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

لغات قابلة للتوسيع، يتميز تنفيذ العديد من الهياكل القياسية بواسطة وحدات الماكرو. في لغة Nemerle، يتم تنفيذ جميع الدورات والمشغلين المشروطين، باستثناء المباراة، من خلال وحدات الماكرو، وفي وحدات ماكرو Lispy هي دورات قياسية وإعلان الوظائف.

كيفية استخدام اللغات؟

للحصول على لغة برمجة قابلة للتوسيع، يمكنك كتابة الهياكل التي تسمح بالطريقة الأكثر ملاءمة لمعالجات الرسومات، والتي تم القيام بها كجزء من مشروع Nuda (بنية الجهاز الموحدة NEMERLE)، والغرض منها إنشاء ملحقات لغة Nemerle ل GPU برمجة. يستخدم OpenCL كواجهة من التفاعل مع GPU واللغة المستهدفة لتمثيل البرنامج.

للبدء، من الضروري تنفيذ تنفيذ التعليمات الفرعية GPU في لغة Nemerle. يجب دعم ذلك من قبل مشغلي اللغات المعتادة، مثل الدورات والفروع، وكذلك العمل مع أنواع البيانات البسيطة والهياكل والمصفوفات. يتم تقديم رمز GPU إلى الوظائف الفردية، أو في نواة Nuda. يتم تمييز كل Kernel بواسطة ماكرو Nukernel، والذي يتم إنشاؤه بواسطة التعليمات البرمجية على رمز OpenCL وطريقة المكونات لاستدعاء Kernel على الجانب المضيف. قبل إنشاء الرمز، يتم تنفيذ الكشف عن جميع وحدات الماكرو، باستثناء الدورات وحدات الماكرو الفرعية. إذا كان هناك حاجة داخل Kernel إلى استدعاء دالة، فيجب تمييز هذه الوظيفة بواسطة ماكرو Nucode، مما يؤدي إلى إنشاء رمز لهذه الوظيفة في OpenCL. يتم إجراء المكالمة الأساسية باستخدام ماكرو Nucall؛ بالإضافة إلى معلمات Kernel، يتم إرساله أيضا إلى تكوين شبكة الدفق التي تبدأ بها.

في أغلب الأحيان، يتم استخدام جسم الدورة كخواة ل GPU، لذلك أود أن أقوم بنقل الدورة على الفور إلى GPU. في Nerlele، يمكن تنفيذ ذلك - ماكرو المقابلة في نودا يسمى نوما. كما المعلمات المطلوبة، فإنه يتطلب حجم كتلة الدفق وعلى أساس السياق الحالي وتحليل رمز هيئة الدورة يحدد مجموعة المتغيرات التي يجب نقلها إلى kernel كمعلمات. يتم إنشاء هيئة Kernel من جسم الدورة، وحساب مؤشرات الدورة من خلال رقم التدفق العالمي، وكذلك الظروف التي تتيح لك تنفيذ الدورة بشكل صحيح، حتى لو لم يتم تقسيم حجم الشبكة العمومية إلى حجم مجموعة التدفق. مكالمات ماكرو Nucall إلى موقع الدورة، والتي تستدعي النواة التي تم إنشاؤها.

من حيث المبدأ، يمكنك السماح باستخدام صفائف لغة Nemerle في برامج GPU، ولكنها تؤدي إلى ارتفاع تكاليف العلامات العامة - يتم طلب الصفيف النسخ إلى ذاكرة GPU في كل مرة يتم استدعاء kernel، ثم انسخها مرة أخرى. لذلك، يتم استخدام أنواع خاصة من الصفائف في برامج GPU مع المزامنة الكسولة بين GPU و CPU. يتيح ذلك، من ناحية، عدم القبض على نص البرنامج عن طريق نسخ أوامر البيانات، وعلى الآخر - لتجنب النفقات العامة لبيانات النسخ. بالنسبة لهذه المصفوفات، أما بالنسبة للمصفوفات العادية في Nerlele، فسيتم استخدام إدارة الذاكرة باستخدام مجموعة القمامة. لتسليط الضوء على الذاكرة للحصول على هذه الصفائف، هناك ماكرو Nunew، والتي يجب تطبيقها على مشغل تخصيص الذاكرة المعتادة.

في التين. 4 على اليسار هو برنامج صفيفات تقليدية، وعلى اليمين - برنامج مماثل، ولكن إجراء حسابات على GPU. احصل على برامج GPU من المعتاد ببساطة - ضع وحدات الماكرو فقط على الدورات وعمليات تخصيص الذاكرة، ويتم تغيير مقدار التعليمات البرمجية عمليا. يستغرق البرنامج المكتوبة باستخدام Nuda أقل من 20 خطا من التعليمات البرمجية. برنامج مشابه، ولكن في اللغة النظيفة SI و OpenCL يأخذ أكثر من 100 سطر.

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

تأثير

لماذا يجب أن يتعلم المبرمون تعلم لغة جديدة وتطوير مكتبات جديدة لغات قابلة للتوسيع؟ الجواب الرئيسي هو الإنتاجية. وجود خوارزمية من دورات متوازية تعمل مع صفائف وتسجيلها في لغة Nemerle، يكفي لإضافة العديد من التعليقات التوضيحية للحصول على برنامج ل GPU. في الوقت نفسه، سيتم تنفيذ البرنامج على أي جهاز مع دعم OpenCL، بما في ذلك معالجات الرسومات NVIDIA و AMD، وكذلك معالجات X86. لتحقيق نفس الشيء مع تقنيات OpenCL أو CUDA فقط، سيكون من الضروري قضاء المزيد من الموارد التي لن تحدث فقط لكتابة شفرة المصدر، ولكن أيضا لتصحيح التفاعل بين المضيف و GPU.

سبب آخر هو أداء التعليمات البرمجية المنشأة. على CUDA أو OPENCL، سيتم تحويل دورات الدورات يدويا، وبشكل منفصل لكل بنية. هذه عملية خطأ طويلة ومغلفة، والرمز الناتج صعب وغير مريح للمرافقة. مع Nuda، يمكن القيام بهذا العمل بمساعدة التعليقات التوضيحية. على سبيل المثال، بالنسبة للنوى المتعددة، يمكنك تحسين استيعاف الصور أو الضرب بالمصفوفات الشراحية المضمنة والشروط التلقائية. دون زيادة حجم التعليمات البرمجية المصدر، من الممكن تحقيق زيادة في الإنتاجية في مرتين أو خمس مرات. في الوقت نفسه، إذا تم تنفيذ نفس التحولات يدويا، فسيؤدي ذلك إلى زيادة في التعليمات البرمجية في بعض الأحيان، وأحيانا أمر من حيث الحجم، ناهيك عن الوقت الذي يقضيه الوقت في تصحيح الأخطاء وتحديد معلمات الاجتياح المثلى. على سبيل المثال، يتم تنفيذ برنامج مشروح عالمي من سبعة صفوف في نودا لضرب المصفوفة المقطوعة على مصفوفة مزدوجة الدقة على NVIDIA Tesla C2050 فقط 40٪ أبطأ الشيء الصحيح في لحظة التنفيذ (CUBLAS 3.2). سيشغل برنامج مشابه مكتوب باليد 70 خطوط من التعليمات البرمجية. بشكل طبيعي، بالنسبة للمهام القياسية، يمكنك كتابة التعليمات البرمجية يدويا مرة واحدة لزيادة الإنتاجية، ولكن لمهام محددة، ستكون تخفيض تكاليف العمالة والإنتاجية مفيدا للغاية. أخيرا، تتضمن الزيادة في الإنتاجية أيضا إنشاء ملحقات أنفسهم: لإنشاءها بمساعدة اللغات القابلة للتوسيع أسهل من استخدام الأدوات التقليدية. يتطلب نظام Nuda بأكمله، على الرغم من وظائفه، فقط 12 ألف خط من التعليمات البرمجية، وليس إجراء الاختبارات. هذا قليل نسبيا، على سبيل المثال، يحمل مترجم لغة Nemerle (التجميع 9025) حوالي 130 ألف خط.

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

أندريه للأرضيات([البريد الإلكتروني المحمي]) - M.N.S. جامعة نيفز موسكو الحكومية (موسكو).



عنوان التقرير

لغات البرمجة الحديثة واستخدامها

مؤلف المشروع

هيكل المشروع

● مخطط تصنيف لغة البرمجة

● تصنيف لغات البرمجة

● لغات البرمجة نظرة عامة

● الموارد المفيدة

مخطط التصنيف لغات البرمجة

تصنيف لغات البرمجة

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

هناك لغات برمجة إجراءات مماثلة:

 تم إنشاء لغة فورتران في أوائل الخمسينيات من القرن العشرين للبرمجة المهام العلمية والتقنية؛

 Cobol - تم إنشاؤه في أواخر الستينيات من القرن العشرين لحل مشاكل معالجة كميات كبيرة من البيانات المخزنة على مختلف شركات البيانات؛

 Algol (1960) هي لغة برمجة متقدمة متعددة الأغراض. لأول مرة، تم تقديم مفاهيم "هيكل كتلة البرنامج" و "توزيع الذاكرة الديناميكي"؛

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

تركزت جميع اللغات المذكورة أعلاه على فئات مختلفة من المهام، لكنها كانت في طريقة أو بأخرى تم ربطها بنية كمبيوتر محددة.

 في 1963-1966، تم إنشاء لغة عالمية متعددة الأغراض PL-1. تتم تكييف هذه اللغة بشكل جيد مع عمليات البحث والتخطيط عمليات الحوسبة، والنمذجة، وحل المهام المنطقية، وتطوير أنظمة الدعم الرياضي.

 لغة باسكال (باسكال) (1968-1971gg) - لغة البرمجة الإجرائية هي الأكثر شعبية للكمبيوتر الشخصي، والذي يتم تطبيقه بنجاح بنجاح. تعتمد لغة Pascal على مهمة مشتركة إلى خاصة (أبسط وأقل في الحجم). يمكن أن تكون المبادئ الأساسية التي تمتلكها باسكال هي: أ) البرمجة الهيكلية، والتي تعتمد على استخدام الروتين الفرعي وهياكل البيانات المستقلة؛ ب) برمجة "من أعلى إلى أسفل" عندما تنقسم المهمة إلى مهام بسيطة حلولة بشكل مستقل. ثم يمثل حل المشكلة الأولية بالكامل.

 إلى قائمة برمجة الإجراءات تشمل لغة الجحيم (1979 د)، وتسمى اللغة بعد المبرمجة الأولى لوائم بايرون لافليرات. ويتميز بميكل الهياكل.

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

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

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

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

تعدد الأشكال يعني أن المرافق المولودة لديها معلومات حول الأساليب التي يجب أن يستخدمها اعتمادا على سلاسل منها.

مبدأ رئيسي آخر من OOP هو الطيف - أرفق الكائنات التعريف الكامل لخصائصها، ولا توجد تعريفات للطرق والخصائص يجب أن تكون موجودة خارجها، فإنها تجعل النسخ المجاني وإدخال كائن واحد للآخرين.

لغات البرمجة الأكثر تقدما هي C ++ وجافا. منذ منتصف التسعينيات، يتم تنفيذ العديد من اللغات الموجهة للكائنات كأنظمة تصميم مرئي يتم فيها إنشاء جزء الواجهة من منتج البرامج في وضع الحوار، دون كتابة مشغلي البرامج. تشمل أنظمة التصميم المرئي الموجهة للكائنات Visual Basic و Delphi و C ++ Builder أو Visual C ++. VBA Language (Visual Basic for Application) - لغة تطبيق Microsoft Office (Excel، Word، Power Point، إلخ). يتوافق VBA مع بناء الجملة الرئيسي من قواعد اللغة والبرمجة من لهجات الأساسية، يسمح لك بإنشاء وحدات ماكرو لأتمتة بعض العمليات وواجهة المستخدم الرسومية، والتكامل بين منتجات البرمجيات المختلفة.

لغات البرمجة التصريحية

وتشمل هذه لغات البرمجة الوظيفية والمنطقية. البرمجة الوظيفية هي وسيلة لوضع البرامج التي يكون فيها الإجراء الوحيد مكالمة دالة. لا تستخدم البرمجة الوظيفية الذاكرة كموقع لتخزين البيانات، وبالتالي، لا يتم استخدام المتغيرات المتوسطة والمهالية ومشغلي الدورات. المفهوم الرئيسي في اللغات الوظيفية هو تعبير. البرنامج المكتوبة في اللغة الوظيفية هو سلسلة من الوظائف والتعبيرات وصفها. يتم احتساب التعبير بواسطة مجمع المعلومات بسيطة. يتم تسجيل جميع التعبيرات في شكل قوائم. كانت اللغة الأولى كانت LISP (LISP، وقائمة معالجة القوائم) تم إنشاؤها في عام 1959. تتيح لك هذه اللغة معالجة كميات كبيرة من المعلومات النصية. البرمجة المنطقية هي البرمجة من حيث المنطق. في عام 1973، تم إنشاء لغة مخابرات التصويرية (PROLOG) (البرمجة في المنطق). يعتمد برنامج ProLogue على تسلسل الحقائق والقواعد، ثم الموافقة على أن Prolog يحاول إثبات مساعدة القواعد. تبحث اللغة نفسها عن حل باستخدام أساليب البحث والمقارنة التي وضعت فيها. لا تتميز البرامج المنطقية بالسرعة العالية، حيث يتم تقليل عملية تنفيذها إلى بناء سلاسل مباشرة وعكسية من التفكير مع مجموعة متنوعة من أساليب البحث.

نظرة عامة على لغات البرمجة

مجمع

تنقسم لغات برمجة الكمبيوتر إلى مجموعتين رئيسيين:

1) لغات منخفضة المستوى؛

2) لغات رفيعة المستوى.

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

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

باكال

تم تطوير لغة البرمجة باسكال من قبل أستاذ قسم هندسة الكمبيوتر في المعهد الفيدرالي السويسري للتكنولوجيا نيكولا العذراء في عام 1968 كبديل للحقلات الحالية ولغات البرمجة المعقدة، مثل PL / 1، Algol، Fortran. أدى التطور المكثف في باسكال إلى المظهر في عام 1973 معيارها في شكل رسالة منقحة، وعدد المترجمين من هذه اللغة في عام 1979 تجاوز 80. في أوائل الثمانينات، باكسل أكثر عزز موقفه مع ظهور مرض التصلب العصبي المتعدد -باسكال وتوربو المترجمين - بزمal ل PEVM. من هذا الوقت، تصبح باسكال واحدة من أهم لغات البرمجة واستخدامها على نطاق واسع. من الضروري أن تكون اللغة منذ فترة طويلة تتجاوز نطاق الفائدة المهنية الأكاديمية والضيقة وتستخدم في معظم الجامعات من البلدان المتقدمة للغاية ليس فقط كأداة للمستخدم. أهم ميزة Pascal هي الفكرة المجسدة للبرمجة الهيكلية. ميزة أساسية أخرى هي مفهوم هيكل البيانات كأحد المفاهيم الأساسية.

الأسباب الرئيسية لشعبية باسكال هي كما يلي:

تتيح لك اللغة السهلة إتقانها بسرعة وإنشاء برامج معقدة جداغيا.

الأدوات المتقدمة لعرض هياكل البيانات توفر راحة من كل من المعلومات الرقمية والرمزية والظلية

وجود تقنيات خاصة لإنشاء مترجمين من Pascal تبسيط تطورهم وساهموا في اللغة واسعة النطاق

تحسين خصائص المترجمين من Pascal تتيح لك إنشاء برامج فعالة. هذا بمثابة أحد الأسباب لاستخدام Pascal ككلغة برمجة لغة.

في لغة Pascal، يتم تنفيذ أفكار البرمجة الهيكلية، مما يجعل البرنامج مرئي ويعطي فرصا جيدة لتطوير وتصحيح الأخطاء

قام موظف Bell Labs Denis Ritci بإنشاء لغة C في عام 1972 أثناء التعاون مع Ken Thompson، كأداة لتنفيذ نظام التشغيل UNIX، ولكن شعبية هذه اللغة اكتسبت بسرعة إطار نظام تشغيل معين ومهام برمجة نظام محددة. حاليا، لا يمكن اعتبار أي نظام فعال وتشغيل كامل إذا لم يتضمن تكوينه مترجم لغة C. لم يخترع Ritchee SI ببساطة من الرأس - وكان النموذج الأولي لغة طن تم تطويره بواسطة طومسون. تم تطوير لغة البرمجة SI كأداة للممارسين. وفقا لهذا، كان الغرض الرئيسي من المؤلف هو إنشاء لغة مريحة ومفيدة في جميع النواحي.

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

ج - اللغة الحديثة. ويشمل تلك التصاميم الإدارة التي يوصى بها نظرية وممارسة البرمجة. يشجع هيكلها المبرمج على استخدام التصميم الهبوطي والبرمجة الهيكلية والوحدات النمطية خطوة بخطوة.

ج - لغة قوية ومرنة. تتم كتابة معظم نظام التشغيل UNIX ومجمعات الترجمة والمترجمين الفوريين لغات FORTRAN و Pascal و Lisp و Baisik بدقة مساعدتها.

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

ظهر C ++ في أوائل الثمانينات. تم إنشاؤه بواسطة Bierian SturastRup مع الغرض الأولي لإنقاذ نفسه وأصدقائهم من البرمجة على المجمع أو SI أو مختلف اللغات الرفيعة المستوى.

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

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

لغة C ++ هي وسيلة لبرمجة الكائنات، وأحدث أساليب تصميم وتنفيذ البرامج، والتي من المرجح أن يحل الزمن الحالي محل البرمجة الإجرائية التقليدية. تم تجهيز الهدف الرئيسي من خالق لغة الدكتور بيرن سالتارد بمعدات C ++، مما يتيح زيادة إنتاجية المبرمجين وتسهيل عملية إتقان منتجات البرامج الكبيرة.

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

وجود أموال ضخمة لبرامج التطبيقات على القلعة المتراكمة على مر السنين، وكذلك وجود عدد كبير من المبرمجين الذين يستخدمون هذه اللغة بشكل فعال؛

وجود مترجمات موران فعالة على جميع أنواع الكمبيوتر، والإصدار الخاص بالآلات المختلفة موحدة تماما ونقل البرامج من الجهاز إلى الجهاز عادة ما يكون كبيرا؛

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

خلال الفترة الماضية، تم تشكيل منهجية جديدة وفلسفة برمجة. منذ بداية السبعينيات، تم انتقاد فورد بشكل مستحق. في عام 1977، تم اعتماد معيار جديد من Fortran-77. استغرق الأمر وقتا طويلا لإنشاء معيار جديد، ولكن الآن من الممكن بالفعل أن نفترض أن تنميتها قد تم إكمالها وبدأت شركة Fortran-90 الجديدة بالدخول في ممارسة مستخدمي البورثين. فقط على آلات IBM PC هناك العديد من المترجمين على سبيل المثال، Watfor، Lap-Fortran، إلخ. لكن أكبر التوزيع على آلات هذا النوع تلقى العديد من الإصدارات المختلفة من مترجم FORTRAN-77. يتوافق مترجم MS-FORTRAN 5.0 الذي تم إصداره في عام 1990 بالكامل تقريبا مع معيار Fortran-90. تتم كتابة معظم برامج التطبيقات العلمية والتقنية الكبيرة على FORTRAN لأنه يحتوي على التحمل والاستقرار، وكذلك بسبب وجود وظائف رياضية ومثالسة مدمجة. جزء إضافي، جزء لا يتجزأ من أي برنامج تطبيق في FORTRAN هو مكتبة رسومات موسعة، والتي تسمح باستخدام بيانات ورسم مختلفة.

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

كوبول.

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

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

تم تطوير PL / 1 في 1964-1965 من قبل IBM. تشير PL / 1 إلى عدد اللغات العالمية، أي يسمح لك بحل مشاكل من المجالات المختلفة: الحسابات العددية ومعالجة النصوص والمهام الاقتصادية، إلخ. من خلال قدراتها، يتداخلان من هذه اللغات ك Fortran، Algol-60 ( تم إنشاؤه للحسابات العددية)، COBOL (للمهام الاقتصادية)، على الرغم من أنه، بسبب عدد من الأسباب، لا يمكن إغلاق هذه اللغات في PL / 1.

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

في الوقت نفسه، يحتوي PL / 1 على عدد من أوجه القصور التي تعيق الدراسة واستخدام اللغة. تلك الرئيسية هي مثل هذه. أولا، هناك العديد من الوسائل المكررة لهم من الصعب تذكرها، وليس من الواضح أنه عند التقدم، علاوة على ذلك، فإنه يقلل من كل من سرعة البث وسرعة تنفيذ البرامج. ثانيا، البرامج ليست مستقلة تماما.

وحدة

يمكننا أن نفترض أن تاريخ لغة الوحدة النمطية يبدأ في عام 1980، عندما نيكلاوس ويرث، أحد أخصائيي نظرية المعلومات المعلقة، المعروفة لمعظم أخصائيي فنيات الكمبيوتر، أساسا كخثاء باسكال، نشر وصف لغة البرمجة الجديدة تسمى وحدة. على عكس Pascal، الذي تم التخطيط له بلغة لتعلم البرمجة، كانت الوحدة النمطية من البداية بلغة لمبرمجي النظام المهنيين، ومواصلة أفضل تقاليد سلفها وإثراءها بأفكار جديدة تلبي بعض المتطلبات لغات البرمجة ، الطيف والقدرة على التوسع. مثل العديد من لغات البرمجة الأخرى، تعرضت الوحدة النمطية للتطور، حيث تم إعادة خلالها اسمه الأولي باسم الوحدة النمطية -2. في الوقت نفسه مع تطوير لغة الوحدة النمطية، تم إنشاء محمولات جديدة له، ومع ذلك، لا يمكن لأي منهم أن يتنافس مع أفضل تحقيق لغات باسكال وسي، على سبيل المثال، الذي طورته بورلاند. في هذه الوحدة الانتقالية اللغة، تعتبر أفضل فترة ينفذها لوجيتك، والتي في خصائصها تخسر توربو باسكال وتوربو سي. فقط في عام 1988، بعد ظهور نظام السرعة العليا في السوق الأمريكية، استغرق الوحدة - 2 مكانا جديرا بين اللغات الإجرائية المخصصة لبرمجة النظام. ساهمت إنتثناء شعبية نظام السرعة العلوي عدة عوامل: مريحة وعلاوة على ذلك، فإن البيئة التشغيلية قابلة للتغيير بسهولة متغير بناء على طلب المستخدمين والمترجم السريع ومحرر الاتصالات الانتقائية للاتصالات. لكن أهم كان حقيقة أن البرامج التي تم إنشاؤها تميزت بسرعة أكبر واحتلت مساحة كبيرة في الذاكرة.

بيسيك

أساسي - رمز التعليمات الرمزي للمبتدئين للمبتدئين - "رمز رمز تعليمي عالمي للمبتدئين"). سليل مباشر من Fortran وما زالت لغة البرمجة الأكثر شعبية لأجهزة الكمبيوتر الشخصية. بدا بكيزيك في عام 1963 (وسلع المؤلف سيكون صعبا، ولكن الاستحقاق الرئيسي في ظهوره ينتمي بلا شك إلى الأميركيين جون كيمن وتوماس كورتو). مثل أي فوائد، تحولت بساطة Beysik، خاصة في الإصدارات السابقة من صعوبات الهيكلة؛ بالإضافة إلى ذلك، لم يسمح Baisik Recursion - وهي تقنية مثيرة للاهتمام تسمح لك بفعالة وفي نفس الوقت في الوقت نفسه.

تم تطوير مترجمات البيسبول القوية، والتي توفر ليس فقط المفردات الغنية وسرعة عالية، ولكن أيضا إمكانية البرمجة الهيكلية. وفقا لبعض المبرمجين، فإن الإصدارات الأكثر إثارة للاهتمام هي GWBasic و Turbo-Basic وسريع أساسي.

في وقت واحد، تميز ظهور الأساسي السريع ولادة الجيل الثاني من أنظمة البرمجة في لغة Baysik. قدمت إمكانية البرمجة المعيارية والإجرائية، وإنشاء مكتبات، وتجميع البرامج الجاهزة، وما إلى ذلك، والتي جلبتها إلى مستوى لغات البرمجة الكلاسيكية مثل SI، Pascal، Fortran، إلخ. علاوة على ذلك، من المعايير الرسمية لبلغة Baysik، أصبح تنفيذها الأساسي السريع معيارا حقيقيا. كان القادة غير المشروطين من بين الإصدارات المختلفة من Baysik 4.5 و PDS 7.1 من Microsoft، والتي ظهرت في أواخر الثمانينيات.

lisp

اقترح J. مكارثي في \u200b\u200bالعمل في عام 1960 وتركز على تطوير برامج لحل مشاكل الطبيعة غير العددي. اسم اللغة الإنجليزية لهذه اللغة - LISP هو اختصار تعبير معالجة القائمة (معالجة القوائم) ويؤكد بشكل جيد على المجال الرئيسي لاستخدامها. تحول مفهوم "القائمة" ليكون رما جدا. في شكل قوائم، من المريح تمثيل التعبيرات الجبرية، ورسم الرسوم البيانية، وعناصر المجموعات المحدودة، والمجموعات، وقواعد الإخراج والعديد من الكائنات المعقدة الأخرى. القوائم هي الشكل الأكثر مرونة في عرض المعلومات في ذاكرة الكمبيوتر. ليس من المستغرب أن هناك لغة مريحة مصممة خصيصا للتعامل مع القوائم، واكتسبت شعبية بسرعة.

بعد ظهور LISP، اقترح مختلف المؤلفون عددا من المشكلات الموجهة إلى لغة الخوارزمية الأخرى في مجال الذكاء الاصطناعي، من بينها يمكن ملاحظة العدوى، Snobol، ارتداد، مقدمة. ومع ذلك، لم يمنع هذا LISP اللغة الأكثر شعبية لحل هذه المهام. خلال تاريخ ما يقرب من السنة خلال السنة من وجودها، ظهر عدد من لهجات هذه اللغة: لمشترك LISP، Mac Lisp، LISP، LISP، LISP القياسية، إلخ. الاختلافات بينهما لا تتحمل طبيعة أساسية ويتم تقليلها بشكل أساسي إلى قليلا مجموعة مختلفة من الوظائف المدمجة وبعض الاختلاف في شكل برامج التسجيل. لذلك، يمكن للمبرمجين الذين تعلموا العمل على أحدهم بسهولة إتقان وأي شيء آخر. ميزة كبيرة من LISP هي اتجاهها الوظيفي، I.E. يتم إجراء البرمجة باستخدام الوظائف. علاوة على ذلك، يتم فهم الوظيفة كقاعدة عامة، ومقارنة عناصر بعض الصف، والعناصر المقابلة لفئة أخرى. إن عملية المقارنة نفسها لا تؤثر على تشغيل البرنامج، فقط نتيجة لها مهمة - قيمة الوظيفة. هذا يسمح لك بالكتابة بسهولة وتصحيح مجمعات البرامج الكبيرة. إن وضوح البرامج، وهو تمييز واضح بين مهامها، وعدم وجود آثار جانبية CAURZ عندما يتم الوفاء بها، متطلبات إلزامية لبرمجة هذه المهام المعقدة المنطقية، وهي مهام الذكاء الاصطناعي. يصبح انضباط البرمجة مهم بشكل خاص عندما لا يعمل شخص واحد في البرنامج، ولكن مجموعة كاملة من المبرمجين.

يهدف لغة برمجة LISP في المقام الأول لمعالجة المعلومات الرمزية. لذلك، من الطبيعي أنه في عالم LISP، يلعب العدد بعيدا عن دور رئيسي. تسمى الأنواع الرئيسية من البيانات في LISPY "الذرة" و "زوج نقطة".

مقدمة

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

كائن بال

كائن PAL هو لغة برمجة قوية. كائن PAL هو موجه نحو كائن، يديره الأحداث، لغة برمجة مرئية. عند المستوى الأولي لوظيفة كائن PAL، يمكنك تنفيذ عمليات البيانات، وإنشاء قوائم خاصة، وكذلك إدارة جلسة إدخال البيانات. الأحداث في كائن PAL توليد الأوامر التي تحاكي تأثير استخدام مفارقة في الوضع التفاعلي. من الممكن أتمتة المهام التي تم إجراؤها بشكل متكرر، وكذلك على الجداول والأشكال والتقارير التي لم تكن متوفرة في العمل التفاعلي. توفر Object Pal أيضا جميع وسائل لغة البرمجة المميزة بالكامل في بيئة Windows. يمكنك استخدام كائن PAL لإنشاء الأنظمة المكتملة التي تنفذ نظام قائمة خاص، ونظام المساعدة، وكذلك جميع أنواع الشيكات البيانات. في كائن PAL، يمكنك حفظ التطورات الخاصة بك في مكتبة مكون ديناميكيا، والوصول إليها سيكون لها عدة أشكال. بالإضافة إلى ذلك، يمكنك إنشاء اتصال مع مكتبات ديناميكية أخرى تحتوي على البرنامج المكتوبة بهذه اللغات مثل SI أو C ++ أو Pascal.

يمكن استخدام كائن Pal كأداة لإنشاء برامج غير متصلة. يمكنك كتابة تطبيق Windows المكتمل وتشغيله تحت Paradox.

يدعم كائن PAL آلية تبادل البيانات الديناميكية ككلاء والخادم. بالإضافة إلى ذلك، يدعم كائن PAL آلية العمل مع المستندات المركبة كعميل. بالإضافة إلى ما قيل، من الممكن تضمين الوسائط المتعددة في طلبك، مما يوفر التطبيق الذي يؤديه تأثيرات الصوت والرسوم المتحركة.

تم إنشاؤه بواسطة BBSE، تنفيذ لغة DBEE هو اتجاه كائن هجين ناجح وأساليب البرمجة التقليدية. يسمح بإنشاء أنظمة باستخدام تصميم الكائنات واستخدام عمليات الاستقبال التقليدية لمعالجة السجلات. كان الإنجاز الكبير للشركة B BOHR هو تقنيات الجمع بين الكائنات والإجرائية للغاية. أعطى الإصدار الأول لنظام Windows المستخدم أقوى أداة كائن في سوق برامج قاعدة البيانات. يسمح لك بإنشاء فئات جديدة من الكائنات التي تمتلك خصائص الميراث والتغليف والشباب العضلي. كما يسمح لك برمجة هذه الكائنات باستخدام أوامر DBASE التقليدية، وهي مناسبة مثالية لإدارة قواعد بيانات الجدول البسيطة. كل هذا يعطي ميزة لا جدال فيها - دون انتقال صعوبة كبيرة إلى تقنيات برمجة الكائنات، والانتقال معقد للغاية، على سبيل المثال، كما هو الحال في DBMS Paradox.

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

ثلاثة عناصر رئيسية متحدة في تقنية جافا

تنص Java على استخدام تطبيقات واسعة من التطبيقات (التطبيقات) - تطبيقات شبكة نشطة صغيرة وموثوقة وديناميكية وخالية من المنصات مضمنة في صفحات الويب. يمكن تكوين تطبيقات Java وتوزيعها على المستهلكين بنفس سهولة مثل أي مستندات HTML.

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

يوفر Java مبرمج مجموعة غنية من فئات الكائنات لإجرام واضح للعديد من وظائف النظام المستخدمة عند العمل مع Windows والشبكة وإصدار I / O. السمة الرئيسية لهذه الفصول هي أنها توفر إنشاء منصة تجريدية مستقلة لمجموعة واسعة من واجهات النظام.

لغات البرمجة لشبكات الكمبيوتر

يتم تفسير لغات البرمجة لشبكات الكمبيوتر. يتم توزيع المترجمين الفوريين لهم مجانا، والبرامج نفسها في النصوص المصدر. وتسمى هذه اللغات النصي - اللغات.

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

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

مع الاختراع، تحولت الويب العالمية، بيرل أداة ممتازة للتفاعل مع خوادم الويب عبر واجهة البوابة المشتركة (CGI) - واجهة تفاعلية مشتركة. يمكن لأوامر بيرل بسهولة الحصول على بيانات من نموذج HTML أو مصدر آخر وأداء أي إجراء معهم.

لغة بي أتش بي. (1995-1997) لديه إمكانية الوصول إلى الوصول إلى قاعدة البيانات ويستخدمها مبدعي المواقع الديناميكية في جميع أنحاء العالم.

لغة TCL / TK. (نهاية الثمانينيات) تتكون من أوامر قوية مصممة للعمل مع كائنات غير من النوع المجردة وتتيح لك إنشاء برامج مع واجهة رسومية.

لغة VRML (1994) تم إنشاؤها لتنظيم واجهات افتراضية ثلاثية الأبعاد على الإنترنت.

لغة XMLوبعد منذ عام 1996، تعمل على إنشاء لغة عالمية لهيكل الوثيقة. يمكن أن تصبح بديلا ل HTML.

انتاج |

موارد مفيدة

مراجعة Aizili.

أين هو التقرير؟

مراجعة رانيتكا.

إعادة: أين هو التقرير؟
كل شيء سيكون: -d

ردود الفعل shamagulova النخبة

مراجعة ميشينا الإسكندر

تقرير كبير. لقد تعلمت الكثير عن لغات البرمجة.

مراجعة موروزوفا الإسكندر

بالطبع أود أن أرى تقرير أو عرض تقديمي على الأقل بأي شكل من الأشكال.

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

ما يمتلك التمديد c plus plus؟

تحتوي لغة البرمجة هذه على تعيين ملف خاص به. تعيين CPP هو امتداد خاص يستخدم للملفات مع رمز C ++. يتم احتواؤها بعد استعدادا لاستخدام التعليمات البرمجية (غير المترجمة) التي يمكن تحريرها وإجراء تعديلات دون تكاليف وفشل في البرنامج. مع هذا الملحق، يمكنك معرفة الملف الذي يحتوي على نص على "SI" (لغة البرمجة التي أصبحت الآن تحظى بشعبية كبيرة).

التوسع وأهميته في البرمجة

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

ما هو ملحق اسم الملف؟

ولكن دعونا نتحدث عن ملحقات أسماء الملفات من وجهة نظر علوم الكمبيوتر. مع ذلك، تم تحديده بالفعل - من الضروري تحديد التنسيق أو نوع الملف. افصل الملحق نيابة عن الملف باستخدام نقطة. حتى 95، يحتوي Windows على حدود عدد الأحرف في التوسع: لا يمكن أن يكون أكثر من ثلاثة. في النظم الحديثة لا يوجد هذا القيد. أكثر من ذلك، في أنظمة الملفات الحديثة قد تكون هناك ملفات تحتوي على عدة أنواع من التوسع. كلهم يتبعون هذه النقطة. إلى مثل CPP، هذا صحيح، لا ينطبق.

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

دقة المعلومات المحددة في التوسع

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

طرق وفرص أخرى لتحديد التنسيق

هناك ميزات أخرى لتحديد نظام الملفات. لكنها ليست شائعة، وعلى الأرجح أنك لم تسمع أبدا:

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

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

أقدم لك نظرة عامة موجزة عن 25 لغة برمجة معروفة. بدءا من الأكثر شهرة إلى أقل شعبية. يتم تقديم المقالة للقادمين الجدد في مجال البرمجة. يمكنك أن تقرأ عن كل لغة واختر تلك التي تريدها أكثر لاستكشافها.

قبل البدء في تعلم لغات البرمجة، أوصي باستكشاف مسار البرنامج.

1. جافا سكريبت.

لغة البرمجة ذات المناظر الطبيعية المناظر الطبيعية النموذجية. تم إنشاء JavaScript في الأصل من أجل جعل صفحات الويب "على قيد الحياة". في المتصفح، يتم توصيلها مباشرة إلى HTML، وبمجرد تحميل الصفحة - نفذت على الفور.

عند إنشاء لغة JavaScript، كان لديه اسم آخر: "LISPRICPT". ولكن بعد ذلك كانت لغة Java تحظى بشعبية كبيرة، وقرر المسوقون أن اسم مماثل سيجعل لغة جديدة أكثر شعبية.

كان من المقرر أن يكون جافا سكريبت نوعا من جافا "الأخ الأصغر". ومع ذلك، فإن القصة أمرت بطريقته الخاصة، نمت جافا سكريبت بقوة، والآن هي لغة مستقلة تماما، مع مواصفاتها وجافا لا علاقة لها.

2. جافا.


مكتوبة تماما لغة البرمجة الموجهة نحو الكائنات. عادة ما يتم بث تطبيقات Java إلى رمز بايت خاص، حتى يتمكنوا من العمل على أي بنية كمبيوتر باستخدام جهاز Java الظاهري.

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

في البداية، تم تطوير اللغة تسمى Oak ("Oak") من قبل جيمس جوسلينج للأجهزة الإلكترونية المنزلية البرمجة. بعد ذلك، تمت إعادة تسميته Java وبدأ استخدامه لكتابة تطبيقات العميل وبرامج الخادم.

3. PHP.


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

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

4. بيثون

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

5. ج #


لغة البرمجة الموجهة للكائنات. تم تطويره في 1998-2001 من قبل مجموعة من المهندسين تحت قيادة Anders Halesberg في Microsoft ككلغة لتطوير تطبيقات منصة Microsoft .NET Framework. يشير C # إلى عائلة اللغات مع بناء جملة مشابه C، والتي يكون بناء جملةها الأقرب إلى C ++ وجافا.

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

6. C ++.


جمعت، لغة البرمجة الغرض العام المكتوب ثابت. إنها واحدة من أكثر اللغات شيوعا في العالم. تم تصميم Google Chrome و Mozilla Firefox و Winamp ومنتجات Adobe باستخدام C ++. بالإضافة إلى ذلك، تم تطوير بعض الألعاب والحديثة أنظمة التشغيل على C ++ بسبب المعالجة السريعة والتجميع.

7. روبي


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

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

8. CSS.


أوراق النمط المتتالية (طاولات نمط متتالية) لغة الوصف الرسمي مظهر وثيقة مكتوبة باستخدام لغة ترميز.
يستخدم في الغالب كأداة وصف، تصميم مظهر صفحات الويب المكتوبة باستخدام لغات التوصيف HTML و XHTML، ولكن يمكن أيضا تطبيقها على أي مستندات XML.

9. جيم


جمعت لغة البرمجة النظامية الثابتة تم تصميم لغة C من قبل Dennis Ritchch في عام 1972 في مختبرات Bell. إنه سلف لغات البرمجة مثل C ++ و Java و C # و JavaScript و Perl. لهذا السبب، تؤدي دراسة هذه اللغة إلى فهم لغات ولغات أخرى. يستخدم اللغة C لتطوير تطبيقات منخفضة المستوى، حيث تعتبر الأقرب إلى الأجهزة.

10. الهدف - ج


تجميع لغة البرمجة الموجهة للكائنات المستخدمة من قبل شركة Apple Corporation، بنيت على أساس اللغة الصغيرة والاسترداد. الهدف - C هو فجأة لغة SI، لذلك يتم فهم رمز C بالكامل من قبل مترجم الهدف C. يتم استخدام اللغة في المقام الأول لنظام التشغيل Mac OS X (Cocoa) و Gnustep - تطبيقات واجهة OpenStep الموجهة نحو كائن. أيضا، يتم استخدام اللغة لنظام التشغيل iOS (Touch Cocoa).

11. شل.

انها ليست لغة كثيرة مثل مترجم الأوامر (لغة الأوامر). يتم استخدام برامج النصوص الخاصة بها لأتمتة تحديثات البرامج. يحتوي على تصاميم قياسية للدورات، المتفرعة، ميزات الوظائف. يتم استخدام عائلة أنظمة التشغيل المتوافقة مع نظام التشغيل UNIX، لغة Shell بلغة إدارة المهام القياسية.

12. ر.


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

13. بيرل.


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

14. سكالا.


لغة البرمجة MultipAdigmal صممت باختصار ونوع آمن لسهولة وخلق برنامج المكونات بسرعة، ودمج البرمجة الوظيفية والموجهة نحو الكائنات. Scala - تشبه البرامج إلى حد كبير برامج Java، ويمكن أن تتفاعل بحرية مع رمز Java.

15. اذهب.


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

16. SQL.

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

17. هاسكل.


توحيد لغة البرمجة العامة الوظائف النظيفة. إنها واحدة من أكثر لغات البرمجة شيوعا بلغات الحوسبة المؤجلة. الميزة المميزة للغات هي موقف خطير تجاه الكتابة. Haskell لغة ممتازة للتعلم والتجارب مع أنواع البيانات الوظيفية المعقدة.

18. سويفت.


افتح multiparadigmal تجميع الأغراض العامة لغرض البرمجة. تم إنشاؤه بواسطة Apple في المقام الأول ل IOS و OS X. يعمل مطورو SWIFT مع أطر Cocoa و Cocoa Touch ومتوافقة مع رمز Apple الأساسي، مكتوبة على الهدف - ج. فكر سريع مدى سهولة القراءة ومقاومة أخطاء المبرمجة، بدلا من تلك التي سبقها مسبقا حسب الهدف - ج. استعار سريعا كثيرا من الهدف - ج، لكنه غير محدد من قبل علامات، ولكن أنواع المتغيرات التي تقوم بها برامج التحويل البرمجي. لمبدأ مماثل، العديد من لغات البرمجة النصية تعمل.

19. ماتلاب.


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

20. Visual Basic.


لغة البرمجة، بالإضافة إلى بيئة تطوير برامج متكاملة تم تطويرها بواسطة Microsoft. ورثت لغة Visual Basic الروح والأناقة وبناء الجملة لسلفها - لغة الأساسية، والتي لديها الكثير من اللهجات. في الوقت نفسه، تجمع Visual Basic بين الإجراءات وعناصر لغات البرمجة الموجهة نحو الكائنات والموجهة إلى المكونات.

Visual Basic هي أيضا أداة جيدة للتطوير السريع لتطبيقات Rad Database لأنظمة تشغيل Microsoft Windows. تم تصميم العديد من المكونات الجاهزة المقدمة مع المتوسطة لمساعدة المبرمج على البدء على الفور في تطوير منطق أعمال التطبيق، دون انتباهه إلى كتابة رمز بدء البرنامج.

21. دلفي.


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

اليوم، إلى جانب دعم برنامج Windows 32 و 64 بت، قام بتنفيذ القدرة على إنشاء تطبيقات ل Apple Mac OS X، وكذلك بالنسبة لجهاز Google Android (تم تنفيذه مباشرة على معالج ARM).

22. رائع.


لغة البرمجة الموجهة للكائنات، مصممة لمنصة Java، بالإضافة إلى لغة Java مع قدرات Python و Ruby و Smalltalk. يستخدم Groovy بناء جملة يشبه Java مع مجموعة ديناميكية في رمز البايت JVM ويعمل مباشرة مع رمز Java آخر ومكتبات. يمكن استخدام اللغة في أي مشروع Java أو بلغة نصية.

23. Visual Basic .NET


لغة البرمجة الموجهة للكائنات، والتي يمكن عرضها على أنها المنعطف التالي لتطور Visual Basic، تم تنفيذه على منصة Microsoft .NET. لا يوجد لدى vb.net التوافق مع الإصدار السابق (Visual Basic 6.0). من الممكن تطوير مشاريع الإصدارات القديمة (* .vbp) فقط بعد التحويل الأولي إلى تنسيق VB.NET مع سيد خاص (معالج الترحيل)؛ ومع ذلك، بعد التحويل، يلزم تحسين الصقل اليدوي الأساسي للنصوص.

24. د.

لغة البرمجة المترجمة متعددة الأغراض التي تم إنشاؤها بواسطة Walter مشرق من المريخ الرقمي. في البداية، تم تصور D باسم C ++ ReGinering، ولكن على الرغم من التأثير الكبير ل C ++، فإنه ليس خياره. أيضا، شهدت لغة مفاهيم من لغات البرمجة الثابتة، روبي، ج #، جافا، إيفل.

25. المجمع.


لغة منخفضة المستوى الموجهة بالجهاز مع أوامر، ليست ذات صلة دائما بأوامر الجهاز، والتي يمكن أن توفر إمكانيات إضافية مثل macrocomand؛ AutoCode، لغات البرمجة المتقدمة رفيعة المستوى، مثل التعبيرات وحذر وحدات الماكرو وسبل توفير نظام البرمجيات.

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

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

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

جوهر البرامج الرفيعة المستوى لبرامج الكتابة

لغة البرمجة رفيعة المستوى - الأداة المتعلقة الفئة المستقلة بالجهاز. ماذا يعني هذا؟ والحقيقة هي أن لغات البرمجة تنقسم إلى عدة فئات.

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

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

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

مترجم

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

تصنيف لغات رفيعة المستوى

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

المنحى بالإجرارات (تعمل كأداة عند معالجة المعلومات في أي مرحلة من مراحل الحسابات)؛

موجهة نحو المشكلات (تستخدم كوسيلة لحل الصناعة والمهام المطبقة التي تشكلت من خلال توسيع تطبيقات أجهزة الكمبيوتر)؛

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

الآن النظر في بعض لغات البرمجة التاريخية والعصرية عالية المستوى، والتي تتوافق مع هذا التصنيف.

لغات المنحى الإجرائي

هذا يمكن أن يعزى إلى fortran. تعتبر أول لغة برمجة رفيعة المستوى تم إنشاؤها للاستخدام الواسع النطاق. يتميز بنية بسيطة. اللغات الموجهة نحو الإجرائية تنتمي أيضا إلى Beysik. يعتبر أحد البرمجة الأكثر استخداما. مثال على لغة موجهة إجرائية أخرى - SI. في البداية، تم إنشاؤها ل UNIX OS. على أساسها، تم إنشاء لغة C ++ لاحقا، تكملها أدوات البرمجة الموجهة للكائنات. لغة أخرى تنتمي إلى الفئة قيد الدراسة هي Pascal. غالبا ما تشارك أيضا في برمجة التدريب. تسمح إمكانيات هذه اللغة باستخدامها كأداة قوية للغاية لتطوير أنواع البرامج المهنية.

لغات موجهة نحو المشكلات

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

اللغات الموجهة للكائنات

نحن ندرس الآن أمثلة لغات البرمجة رفيعة المستوى التي تشير إلى فئة الموجهة نحو الكائنات. من بين تلك - Visual Basic، Delphi، Visual Fortran، المذكورة أعلاه C ++، وكذلك Prolog ++. في الواقع، يعتمد كل منهم على اللغات الموجهة إلى الإجرارات. ومع ذلك، يفترض أن تكون إضافة كبيرة للعناصر البصرية للإدارة من أجل التطوير اللاحق للخوارزميات اللازمة من قبل المطورين المعتادون على أدوات أخرى. وبالتالي، فإن أول لغة برمجة رفيعة المستوى - فورتران - قد تتم دراسة خبراء تكنولوجيا المعلومات من خلال إمكانيات فيران المرئية. طريقة مماثلة يمكن أن تتقن بسرعة قاعدة أو مقدمة.

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

FORTRAN و LISP - اللغات الأولى والثانية الرفيعة المستوى

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

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

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

ومع ذلك، سيكون من المثير للاهتمام النظر في نهج أخرى لتصنيف الأدوات المتعلم لأدوات تطوير البرمجيات.

لغات عالمية رفيعة المستوى

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

التوجيه على مجموعة واسعة من المهام (الأول من كل ذلك متعلقا بالحوسبة)؛

عدد كبير من الهياكل اللغوية والخوارزميات؛

أهمية ليس فقط من أجل وقتها، ولكن أيضا للمرحلة الحديثة من تطوير معدات الكمبيوتر؛

الدعم باللغات ذات الصلة من المنهجية الحتمية.

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

لغات فريدة من نوعها

بعض خبراء تكنولوجيا المعلومات تخصص في فئة مستقلة "لغات فريدة". من بين هؤلاء: APL، COBOL، إطفاء، SETL، وكذلك CLU. ما هو خصوصيته؟

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

التسهيلات الموازية البرمجة

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

السوبروجرام

فروع

ذات الصلة؛

الأقواس الموازية؛

خوارزميات العمل مع العمليات.

أساس آخر لتصنيف لغات النوع قيد النظر هو أساليب مزامنة العمليات. قد تتضمن الحلول المقابلة:

semaphores؛

شاشات

- "رانديفو"؛

الأقسام الحرجة

إجراءات التحدي عن بعد؛

المعاملات المتعلقة بفئة الذرية.

تشمل لغات نوع النوع Modula-2، Bliss، Pascal المتزامنة، موانئ دبي، Argus.

عائلة اللغة جيم

أعلاه، اعتبرنا مثالا على لغة برمجة رفيعة المستوى مثل هذا الحل ك C. في الواقع، فإنه يشكل أسرة كاملة. اللغات التي تنتمي إليها هي هياكل خاصة C. لذلك، فإن إضافة مكونات مختلفة موجهة نحو الكائنات أدت إلى تطوير C ++. بعد ترشيح كبير من صف من إنشاءات C، ظهرت جافا. تجدر الإشارة إلى أن جافا تم إنشاؤه بعدة طرق بموجب تأثير مفاهيم مشروع Oberon، الذي يديره نيكلاوس ويرث، خالق لغة Pascal. هل تتعلق جافا سكريبت رفيعة المستوى بجافاسيبت رفيعة المستوى؟ بالطبع، نعم، على الرغم من ضيق التطبيق - كأداة لتطوير صفحات الويب. ولكن لغات البرمجة رفيعة المستوى لا تتضمن، على وجه الخصوص، HTML، XML و SGML. يصنفون كأدوات ترميز النص التشعبي.

لغة Pascal Family.

لغات البرمجة رفيعة المستوى باسكال تشكل أيضا عائلة منفصلة. على أساس Pascal، تم إنشاء Oberon بالفعل، مصنفة ككلغة من النوع الموجهة للكائنات. الميزة الرئيسية لأوبرون - في القدرة على ضمان سلامة الأنواع. عدم حساب Oberon، يمكن أن يعزى لغات أسرة Pascal إلى Modula-2، بالإضافة إلى مكون باسكال.

ADA Language Family.

الأساسية في الفئة ذات الصلة من اللغات - أمرت من قبل وزارة الدفاع الأمريكية أدا. تم إنشاؤه في أواخر السبعينيات - أوائل الثمانينات. تتميز بعدد كبير من الوظائف والفرص والتنوع. تتضمن عائلة ADA حلول مثل الأرز، Modula 3.

Simula Language Family.

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