محتويات
أنواع لغات البرمجة عالية المستوى
تُصنّف لغات البرمجة عالية المُستوى إلى أنواع مُختلفة كالآتي:
أنواع لغات البرمجة عالية المستوى وفق نوع استخدامها
تُصنّف لغات البرمجة عالية المستوى إلى أنواع مُختلفة وفق نوع استخدامها[١] كالآتي:
اللغات الخوارزمية
تُستخدم اللغات الخوارزمية (بالإنجليزية: Algorithmic Languages) لمعالجة الحسابات الرياضية والعمليات المنطقية، وعليه تُعنى هذه اللغات أيضاً بتنفيذ العمليات الجبرية، ويُعتبر هذا النوع من اللغات أحد أقدم اللغات عالية المُستوى، ومن الأمثلة عليها؛ لغة FORTRAN، ولغة ALGOL، ولغة LISP، ولغة C.[٢].
اللغات الموجهة للأعمال
تُقدّم اللغات الموجهة للأعمال (بالإنجليزية: Business-Oriented Languages) الحلول البرمجية في مجال قطاع الأعمال والتجارة، لغة كوبول (COBOL) التي تُعتبر اللغة البرمجية الأكثر شيوعاً للأعمال التجارية، وبدأ استخدامها منذ خمسينيات القرن العشرين تحديداً عام 1959م، وتمتاز هذه اللغة بإمكانية إنجاز المهام البرمجية التي لا يُمكن إنجازها من خلال اللغات البرمجية العلمية الأخرى، حيث تُمكّن المبرمج من جمع العديد من البيانات المُختلفة في نوعها؛ كالاسم، والرقم، والعمر، والعنوان ضمن وحدة واحدة، أو سجلٍ واحد في اللغة، ومن الأمثلة الأخرى على هذا النوع من اللغات؛ لغة SQL التي تختص ببرمجة قواعد البيانات.[٢]
اللغات الموجهة للتعليم
تُصمَّم اللغات الموجهة للتعليم (بالإنجليزية: Education-Oriented Languages) لغايات تعليم المُستخدِمين البرمجة بأبسط صورها، ومن الأمثلة عليها؛ لغة Basic التي تم تطويرها من قِبل جون كيميني، وتوماس كورتز في ستينيات القرن العشيرن بطريقة ٍ تُسهّل تعلّمها حتى بالنسبة للأشخاص غير المُختصين بعلم الحاسوب، كما تُعتبر من اللغات التي يسهل اكتشاف الأخطاء فيها.[٢]
تشمل اللغات الموجهة للتعليم أيضاً؛ لغة البرمجة Pascal التي طُوِّرت عام 1970م؛ حيث كانت في الفترة الواقعة بين نهاية السبعينيات وبداية الثمانينات من القرن العشرين أحد أكثر اللغات المُستخدَمة لتعليم الأشخاص البرمجة، والجدير بالذكر أنّها استُخدمت أيضاً لإصدار البرامج التعليمية.[٢]
لغات تنسيق المستندات
تُعنى لغات تنسيق المستندات (بالإنجليزية: Document Formatting Languages) بالتعامل مع النصوص، والرسوم، والمُستندات، فلغة البرمجة TeX على سبيل المثال؛ هي لغة تختص بتنسيق النصوص من خلال تغيير شكل الخط الذي يظهر به النص، بالإضافة إلى طريقة تخطيط الجداول، وإدراج الصور، وغيرها من أنواع التنسيق الأخرى، ومن الأمثلة الأخرى على لغات تنسيق المُستندات لغة PostScript، ولغة SGML.[٢]
لغات تطوير صفحات الويب والإنترنت
تُعتبر لغات تطوير صفحات الويب (بالإنجليزية: Internet and Web Page Development Languages) عصب الإنترنت وقلبه النابض، حيث إنّها تُطوّر محتوى صفحات شبكة الإنترنت، وإنشاء مواقعها المُختلفة، لذا فإنه وبدون تلك اللغات لم يكن الإنترنت سيصل إلى الشكل الذي هو عليه في العصر الحالي، ومن الأمثلة على لغات البرمجة المُختصة بتطوير صفحات الويب والإنترنت؛ لغة الجافا سكربت، ولغة الجافا، ولغة PHP، ولغة XML، ولغة Python، ولغة HDML، ولغة HTML، وغيرها من اللغات الأخرى.[٣]
أنواع لغات البرمجة عالية المستوى تبعاً لنمط البرمجة
تُصنّف لغات البرمجة عالية المُستوى تبعاً لما يُعرف بنموذج البرمجة (بالإنجليزية: Programming Paradigm) الذي يُشير إلى الآلية التي تعمل بها لغة برمجة مُعينة لأداء مهامها البرمجية على أفضل نحو مُمكن، ويُحدد نمط البرمجة طبيعة المهام المُناسبة بشكل أكبر لكل لغة برمجة؛ فعلى الرغم من أنّ معظم اللغات البرمجية الحديثة تُعتبر لغات ذات أغراض عامة يُمكن من خلالها برمجة أي شيء تقريباً، إلا أنّ هناك أنماط مُعينة تتناسب مع مهام مُحددة أكثر من أنماط أخرى،[٤] وفيما يلي أنواع لغات البرمجة عالية المستوى تبعاً لأنماطها البرمجية التي تعمل بها:[٥]
اللغات الإجرائية
يُشار إلى اللغات الإجرائية (بالإنجليزية: Procedural Languages) بلغات البرمجة الأمرية (بالإنجليزية: Imperative Programming Language)، حيث يتم تنفيذ الأوامر الموجودة في البرنامج كسلسة من الإجراءات، بحيث يكون كل إجراء منوطاً بتأدية مهمة مُحددة، ويتم استدعاء مجموعة الإجراءات التي يتكون منها البرنامج في أثناء تنفيذه، ويُمكن للمُبرمج استخدام مجموعة من الأوامر كإجراء، ومن ثم استخدام هذا الإجراء أكثر من مرة خلال البرنامج، ويتم ذلك باختيار اسم الإجراء الذي تم حفظه، ومن الأمثلة على هذا النوع من اللغات؛ لغة البرمجة FORTRAN، ولغة ALGOL، ولغة C، ولغة BASIC، ولغة ADA.[١]
اللغات الوظيفية
تتعامل اللغات الوظيفية (بالإنجليزية: Functional Languages) مع الحسابات الرياضية الموجودة في البرامج، كالدوال الرياضية بإتباع قوانين الرياضيات، ويقوم هذا النوع من لغات البرمجة على التعامُل مع البيانات والوظائف على أنّها ثابتة وغير قابلة للتغير، ففي البرمجة الوظيفية يجب أن لا تُغير الاقترانات أو الدوال الحسابية الحالة الأصلية للبيانات، أو نوعها،[٦] ونظراً لاعتماد هذا النوع من اللغات على الدوال والاقترانات الحسابية فإن هذه اللغات لا تدعم بعض العناصر؛ كالجمل الشرطية، وجُمل التكرار، كما تتميز البرامج التي تُكتب باستخدام هذا النوع من اللغات البرمجية بالكفاءة العالية.[٧]
اللغات الموجهة للكائنات
توفّر اللغات الموجهة للكائنات (بالإنجليزية: Object-Oriented Languages) لمُستخدميها نماذج مُعدّة مُسبقاً للكائنات (Objects) التي يعمل عليها المُستخدِم ضمن برنامجه، حيث تكون أوامر البرنامج قابلة لإعادة الاستخدام في برامج أخرى، ومن شأن هذه الخاصية تسهيل عملية البرمجة على المُستخدِمين بحيث يكون المُبرمج قادراً على وضع نماذج أولية للكائنات، والتعديل عليها، وتطويرها بشكلٍ أسهل.[٣]
يتمّ إعداد النماذج الأولية بجمع أنواع البيانات، والمُتغيرات، والوظائف الموجودة في البرنامج ووضعها ضمن كائن موحد لاستخدامها مرة أخرى، وتمتاز اللغات الكائنية بإمكانية توريث الوظائف والبيانات من كائناتٍ لأخرى في البرنامج؛ الأمر الذي يُقلل من الأوامر البرمجية الزائدة في البرنامج، ومن الأمثلة على هذا النوع من اللغات؛ لغة ++C، ولغة #C، ولغة Python، ولغة Java، وغيرها من اللغات الأخرى.[٣]
اللغات النصية
تتداخل اللغات النصية (بالإنجليزية: Scripting Languages) مع كلًّ من اللغات الموجهة للكائنات واللغات الإجرائية، وعلى الرغم من ذلك إلا أنّه يتم تصنيفها كنوعٍ مُستقل من أنواع اللغات عالية المُستوى، وذلك لأنّها ليست لغة برمجة يُمكن من خلالها تطوير ودعم أنظمة عمل كبيرة،[٥] حيث تُستخدم للتحكُم في تطبيق برمجي مُعين، كتقنيات مُتصفحات الويب،[٨] وهي عبارة عن سلسلة من الأوامر المكتوبة داخل ملف يُمكن تنفيذها دون تجميعها، وتُصنّف لغات البرمجة النصية لنوعين:[٩]
- البرمجة النصية من جانب الخادم (Server)، ومن الأمثلة عليها لغة PHP، وPython.
- البرمجة النصية من جانب العميل (Client)، ومن الأمثلة عليها لغة JavaScript.
اللغات المنطقية
تُعنى اللغات المنطقية (بالإنجليزية: Logic Languages) بحلّ المشكلات البرمجية عن طريق الاستنتاج المنطقي؛ حيث تُستخدم كنهجٍ عام لحل أي مُشكلات حسابية مُشابهه للنماذج المنطقية التي تم بناؤها، ويتم ذلك عبر تشكيل علاقة منطقية تُحدد شكل التداخل بين القواعد والحقائق في البرنامج، وتُعتبر لغة البرمجة Prolog أحد أفضل الأمثلة على لغات البرمجة المنطقية.[١]
المراجع
- ^ أ ب ت Prerana Jain (26-6-2018), “Categorisation of High-level programming languages”، www.includehelp.com, Retrieved 25-11-2020. Edited.
- ^ أ ب ت ث ج David Hemmendinger (19-11-2020), “Computer programming language”، www.britannica.com, Retrieved 25-11-2020. Edited.
- ^ أ ب ت Computer Hope (30-6-2019), “OOP”، www.computerhope.com, Retrieved 25-11-2020. Edited.
- ↑ Emmett Boudreau (16-10-2020), “What Is A Programming Paradigm?”، towardsdatascience.com, Retrieved 25-11-2020. Edited.
- ^ أ ب Krishna Kompalli (31-3-2020), “Programming Language”، medium.com, Retrieved 25-11-2020. Edited.
- ↑ KRIS WOUK (10-5-2019), “5 Functional Programming Languages You Should Know”، www.makeuseof.com, Retrieved 25-11-2020. Edited.
- ↑ “Functional Programming – Introduction”, www.tutorialspoint.com, Retrieved 25-11-2020. Edited.
- ↑ “Scripting Language”, www.techopedia.com,30-6-2020، Retrieved 25-11-2020. Edited.
- ↑ Computer Hope (4-2-2019), “Script”، www.computerhope.com, Retrieved 25-11-2020. Edited.