6- أنواع لغات البرمجة عالية المستوى

115

6- أنواع لغات البرمجة عالية المستوى

donate to continue

https://www.paypal.me/balhattab

https://www.paypal.me/balhattab

تتيح اللغات عالية المستوى للمبرمجين ، كتابة تعليمات بلغة يسهل فهمها ، عن اللغات منخفضة المستوى ، وهناك حاجة إلى المترجمين لترجمة البرامج المكتوبة بلغات عالية المستوى ، إلى رمز الجهاز الذي يفهمه الكمبيوتر.

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

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

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

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

أولًا : لغات الآلة والتجميع

تتكون لغة الآلة من الرموز الرقمية للعمليات ، والتي يمكن لجهاز كمبيوتر معين تنفيذها مباشرة ، والرموز عبارة عن سلاسل من 0s و 1s ، أو أرقام ثنائية (بتات) ، والتي يتم تحويلها بشكل متكرر من وإلى سداسي عشري (الأساس 16) ، للعرض البشري وتعديلها.

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

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

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

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

ثانيًا : اللغات الخوارزمية

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

تعلم الخوارزميات للمبتدئين

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

مفهوم الخوارزميات

ما هي الخوارزميات و لم يجب أن تتعلمها قبل أن تتعلم أي لغة برمجة؟

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

ما هي المشكلة التي يتعرض لها الجميع و تصبح سبب خوفهم من البرمجة؟

أغلب الأشخاص الذين يحاولون أن يتعلموا البرمجة تراهم يذهبون مباشرةً في الاتجاه الخاطئ, فهم يبدؤون مباشرةً بدراسة لغة برمجة معينة مثل (Java, C, C++) دون أن يتعلموا مبادئ البرمجة الأساسية, و دون أن يقوموا بوضع الأفكار الأساسية للبرنامج ثم تحليلها و تأديتها واحدة تلو الأخرى.

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

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

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

كيف سأتعلم الخوارزميات؟

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

ماذا أفعل إن لم أستطع فهم إحدى الشروحات؟

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

أريد تعلم الخوارزميات و لكنني لا أريد تعلم لغة جافا

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

إذاَ في هذه الدورة أنت لن تتعلم لغة جافا, بل ستتعلم جزء بسيط جداً منها لا يتجاوز 1% مما شرحناه فيها في دورات جافا حيث أننا سنشرح لك فقط ما تحتاجه منها حتى تتمكن من تجربة الكود على الكمبيوتر.

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

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

نصائح و إرشادات للمبرمج الجديد الذي يطمح للاحتراف

أولاً

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

ثانياً

أي مشكلة تواجهك في الكمبيوتر حاول أن تحلها بنفسك أولاً, أي ابحث في google و حاول بنفسك قبل أن تلجأ إلى سؤال أي أحد لأن هذا ما يفعله المحترفون و ذلك ما جعلهم محترفين.

ثالثاً

محاولتك الدائمة في إصلاحك للكمبيوتر تكسبك خبرة و ثقة عظيمة في قدراتك لأنك ستجد لاحقاً أنك إذا نويت على فعل أي شيئ, لن يستطيع أحد أن يقف في طريقك.

رابعاً

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

خامساً

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

سادساً

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

سابعاً

عند دراسة أي لغة برمجة من كتاب, ابحث دائماً عن آخر إصدار للغة البرمجة التي تريد دراستها و آخر إصدار موجود للكتاب و ابحث عن الكتب الكبيرة التي قد يصل حجمها إلى أكثر من ١٠٠٠ صفحة, لأن هذه الكتب تكون مشروحة بأسلوب مبسط سهل الفهم و غنية بأمثلة مشروحة بشكل مفصل, و إليك أهم موقع لتحميل كتب البرمجة الجديدة المجانية باللغة الإنجليزية it book .store/books/free و goalkicker.com 


ننصحك دائماً بالكتب الأجنبية لأنه لا يوجد أي مؤلف عربي قام بإنشاء كتاب شامل حقاً أو أعاد النظر في الكود الذي كتبه منذ عدة سنوات, أي لن تجد في كتابه كل تقنيات الكود الجديدة التي ستجدها في الإصدارات الجديدة في الكتب الأجنبية لأن الكتب الأجنبية يقوم بكتابتها العديد من المبرمجين, و ليس مبرمج أو اثنين كما في حالتنا و هذا الذي يجعل كتبنا ضعيفة أو قديمة بعض الشيء.

ثامناً

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

  • أغنى رجل في العالم هو Bill Gates , و هو مبرمج و مؤسس شركة microsoft.
  • أغنى شاب في العالم هو Mark Zuckerberg , و هو مبرمج و مؤسس موقع Facebook.

الطريقة المعتمدة في التعلم

الأسلوب الذي ستتعلم فيه الخوارزميات معنا هو نفس الأسلوب المعتمد من قبل المعاهد و الجامعات.

ملاحظة

الهدف إعطاءك فكرة عامة للأسلوب المتبع في الشرح, لا داعي لأن تفهم الكود المكتوب الآن لأنك ستفهمه في الدروس اللاحقة.

مثال

نقول لك على سبيل المثال: أكتب برنامج يطبع جملة 

“Hello World” عندما تقوم بتشغيله.

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

نتيجة التشغيل

ثم ستجد الكود كخوارزمية و الذي يجب أن تكتبه على الورقة.

الخوارزمية

مقدمة حول الخوارزميات

ثم كود الجافا و الذي تستطيع نسخه و تجربته مباشرةً على الكمبيوتر.

كود الجافا

public class MyAlgorithm {

public static void main (String[] args) {

System.out.print(“Hello world”);

}

}

ثم شرح كل جزء في كود الجافا بشكل مفصل, لكننا لن نقوم بشرح هذا الكود الآن لأننا سنشرحه في الدرس القادم.

الطريقة الصحيحة للتعلم و التي تنمي قدراتك التحليلية

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

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

1- لغة البرمجة فورتران FORTRAN

أول لغة خوارزمية مهمة كانت FORTRAN (ترجمة الصيغة) ، التي تم تصميمها في عام 1957م ، من قبل فريق IBM بقيادة جون باكوس ، وقد كان مخصصًا للحسابات العلمية بأرقام ، ومجموعات حقيقية منظمة أحادية ، أو متعددة الأبعاد.

وتضمنت هياكل التحكم الخاصة به عبارات IF الشرطية ، والحلقات المتكررة (ما يسمى بحلقات DO) ، وعبارة GOTO التي سمحت بتنفيذ غير لاحق لرمز البرنامج ، كما جعل FORTRAN من السهل وجود برامج فرعية للعمليات الرياضية الشائعة ، وبناء مكتبات منها.

كما تم تصميم فورتران  FORTRAN أيضًا ، للترجمة إلى لغة آلة فعالة ، وكانت ناجحة على الفور ، وتستمر في التطور.

2- لغة البرمجة ALGOL

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

وقدم ALGOL بنية كتلة ، حيث يتكون البرنامج من كتل ، قد تحتوي على كل من البيانات والتعليمات ، ولها نفس بنية البرنامج بأكمله ، وأصبحت بنية الكتل أداة قوية ، لبناء برامج كبيرة من مكونات صغيرة ، كما ساهم ALGOL بتدوين لوصف بنية لغة البرمجة ، Backus-Naur Form ، والتي أصبحت في بعض الاختلافات الأداة القياسية لتحديد صياغة (قواعد) لغات البرمجة.

كما تم استخدام ALGOL أيضًا على نطاق واسع في أوروبا ، وظل لسنوات عديدة اللغة التي تم نشر خوارزميات الكمبيوتر بها ، والعديد من اللغات المهمة ، مثل Pascal و Ada.

3- لغة البرمجة LISP

تم تطوير LISP (معالجة القائمة) حوالي عام 1960م ، من قبل جون مكارثي ، في ​​معهد ماساتشوستس للتكنولوجيا (MIT) ، وتم تأسيسه على النظرية الرياضية للوظائف العودية (التي تظهر فيها وظيفة في تعريفها الخاص).

وبرنامج LISP هو وظيفة ، يتم تطبيقها على البيانات ، بدلاً من كونها سلسلة من الخطوات الإجرائية ، كما هو الحال في FORTRAN و ALGOL ، ويستخدم LISP تدوينًا بسيطًا للغاية ، ويتم فيه إعطاء العمليات ومعاملاتها في قائمة بين قوسين.

على سبيل المثال ، ( a (* b c) ) ، تعني ( b * c)  على الرغم من أن هذا يبدو غير ملائم ، إلا أن الترميز يعمل جيدًا لأجهزة الكمبيوتر ، ويستخدم LISP أيضًا بنية القائمة ، لتمثيل البيانات ، ولأن البرامج والبيانات تستخدم نفس البنية ، فمن السهل لبرنامج LISP أن يعمل على برامج أخرى مثل البيانات.

أصبح LISP لغة مشتركة لبرمجة الذكاء الاصطناعي (AI) ، ويرجع ذلك جزئيًا إلى التقاء عمل LISP و AI في MIT ، وجزئيًا لأن برامج الذكاء الاصطناعي القادرة على (التعلم) ، ويمكن كتابتها في LISP كبرامج تعديل ذاتي ، وتطورت LISP من خلال العديد من اللهجات ، مثل Scheme و Common LISP.

4- لغة البرمجة C

تم تطوير لغة البرمجة C في عام 1972م ، بواسطة Dennis Ritchie ، و Brian Kernighan في شركة AT&T ، لبرمجة أنظمة تشغيل الكمبيوتر ، وقدرتها على هيكلة البيانات ، والبرامج من خلال تكوين وحدات أصغر مماثلة لتلك التي في لغة البرمجة ALGOL.

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

ثالثًا: اللغات الموجهة للأعمال

1- كوبول COBOL

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

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

2-  SQL

SQL (لغة الاستعلام المنظمة) ، وهي لغة لتحديد تنظيم قواعد البيانات (مجموعات السجلات) ، تسمى قواعد البيانات المنظمة باستخدام SQL الارتباطي ، لأن SQL توفر القدرة على الاستعلام ، عن قاعدة بيانات للمعلومات التي تقع في علاقة معينة ، وعلى سبيل المثال ، قد يكون الاستعلام (البحث عن جميع السجلات مع كل من last_name Smith ومدينة نيويورك) ، وتستخدم برامج قواعد البيانات التجارية عادةً ، لغة شبيهة بـ SQL لاستعلاماتها.

رابعًا : لغات موجهة نحو التعليم

1- الأساسي BASIC

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

2- باسكال

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

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

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

3- شعار

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

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

Hypertalk -4

تم تصميم Hypertalk ليكون (برمجة لبقية منا) من قبل بيل أتكينسون لأجهزة Macintosh ، من Apple ، باستخدام بنية بسيطة تشبه اللغة الإنجليزية ، مكّن Hypertalk أي شخص من الجمع بين النص ، والرسومات والصوت بسرعة في (مكدسات مرتبطة) ، ويمكن التنقل فيها عن طريق النقر بالماوس على الأزرار القياسية ، التي يوفرها البرنامج.

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

خامسًا : اللغات الشيئية

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

بالإضافة إلى ذلك ، قد تكون الأشياء مستمدة من الأشياء الأكثر عمومية ، مثل هذا التسلسل الهرمي للكائن جعل من الممكن تعريف الكائنات المتخصصة ، دون تكرار كل ما هو أكثر عمومية ، وقد بدأت البرمجة الشيئية باستخدام لغة (Simula (1967 ، والتي أضافت معلومات مختبئة إلى ALGOL ، وهناك لغة مؤثرة أخرى موجهة للكائنات كانت (Smalltalk (1980 ، حيث كان البرنامج عبارة عن مجموعة من الكائنات التي تفاعلت عن طريق إرسال الرسائل إلى بعضها البعض.

C -1 ++

لغة C ++ ، التي طورتها Bjarne Stroustrup ، في AT & T في منتصف الثمانينيات ، وسعت لغة C بإضافة أشياء إليها مع الحفاظ على كفاءة برامج C ، وكانت واحدة من أهم اللغات ، لكل من التعليم والبرمجة الصناعية ، كما تم كتابة أجزاء كبيرة من العديد من أنظمة التشغيل ، مثل نظام التشغيل Windows 98 ، الخاص بشركة Microsoft في C ++.

2- ادا Ada

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

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

3- جافا

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

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

4- البصرية الأساسية

تم تطوير Visual Basic بواسطة Microsoft ، لتوسيع إمكانات BASIC عن طريق إضافة كائنات وبرمجة (قائمة على الأحداث) : الأزرار ، والقوائم ، وعناصر أخرى من واجهات المستخدم الرسومية (GUI) ، يمكن أيضًا استخدام Visual Basic داخل برامج Microsoft الأخرى ، لبرمجة الإجراءات الصغيرة.

سادسًا : لغات تعريفية

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

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

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

سابعًا : لغات البرمجة النصية

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

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

ثامنًا : لغات تنسيق المستندات

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

1- تكس  TeX

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

وتقوم TeX بوضع علامة على النص المائل ، على سبيل المثال ، كـ {\ it this is italicized} ، والذي يتم عرضه بعد ذلك لأنه مائل.

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

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

2- بوستسكريبت

PostScript هي لغة وصف الصفحة ، تم تطويرها في أوائل الثمانينيات من قبل Adobe Systems Incorporated ، على أساس العمل في Xerox PARC (مركز أبحاث Palo Alto) ، تصف هذه اللغات المستندات بعبارات يمكن تفسيرها بواسطة كمبيوتر شخصي ، لعرض المستند على شاشته ، أو بواسطة معالج دقيق في طابعة أو جهاز تنضيد.

يمكن لأوامر PostScript ، على سبيل المثال ، وضع النص بدقة ، في مختلف الخطوط والأحجام ، ورسم الصور التي يتم وصفها رياضيًا ، وتحديد اللون أو التظليل ، ويستخدم PostScript postfix ، ويسمى أيضًا بالرمز البولندي العكسي ، حيث يتبع اسم العملية وسيطاته. وبالتالي ، يعني (300 60020270 السكتة الدماغية): رسم (السكتة الدماغية) قوس 270 درجة مع نصف قطر 20 في الموقع (300 ، 600). على الرغم من أنه يمكن قراءة PostScript وكتابته بواسطة مبرمج ، إلا أنه يتم إنتاجه عادةً من خلال برامج تنسيق النص ، أو معالجات النصوص أو أدوات عرض الرسومات.

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

3- SGML

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

ويتم استخدام SGML لتحديد DTDs (تعريفات أنواع المستندات) ، ويحدد DTD نوع المستند ، مثل التقرير ، عن طريق تحديد العناصر التي يجب أن تظهر في المستند ، على سبيل المثال إعطاء قواعد لاستخدام عناصر المستند ، مثل أن تظهر فقرة داخل إدخال جدول ولكن قد لا يظهر جدول داخل فقرة.

يمكن تحليل النص الرمز بواسطة برنامج تحليل لتحديد ما إذا كان يتوافق مع DTD ، وقد يقرأ برنامج آخر الترميزات لإعداد فهرس ، أو لترجمة المستند إلى PostScript للطباعة ، قد يولد نوع آخر ، أو صوتًا كبيرًا للقراء ذوي الإعاقات البصرية أو السمعية.