قائمة لغات البرمجة حسب النوع
| Programming language lists |
|---|
|
هذه قائمة باللغات البرمجية البارزة ، مجمعة حسب النوع.
إن المجموعات متداخلة؛ وليست متبادلة الحصر. ويمكن إدراج لغة في مجموعات متعددة.
لغات البرمجة الموجهة للوكيل
تتيح البرمجة الموجهة للوكيل للمطور إنشاء وكلاء برمجيين وتوسيعهم واستخدامهم ، وهم عبارة عن تجريدات من الكائنات التي يمكنها إرسال رسائل إلى وكلاء آخرين.
لغات المصفوفة
تعمل لغات برمجة المصفوفات (وتسمى أيضًا لغات المتجهات أو متعددة الأبعاد ) على تعميم العمليات على المقياسات لتطبيقها بشكل شفاف على المتجهات والمصفوفات والمصفوفات ذات الأبعاد الأعلى .
- أ+
- آدا
- اناليتيكا
- أبل
- كنيسة صغيرة
- دارتموث الأساسية
- فورتران (اعتبارًا من فورتران 90 )
- فري مات
- جاوس
- لغة البيانات التفاعلية (IDL)
- ج
- جوليا
- ك
- ماتلاب
- أوكتاف
- س
- ر
- راكو [1]
- س
- سكيلاب
- دارجة
- تسلسل ل
- حانة سرية
- ولفرام ماثيماتيكا ( لغة ولفرام )
- إكس10
- زبل
لغات البرمجة الموجهة للجوانب
تتيح البرمجة الموجهة للجوانب للمطورين إضافة وظائف جديدة إلى الكود، والمعروفة باسم "النصيحة"، دون تعديل هذا الكود نفسه؛ بدلاً من ذلك، تستخدم نقطة قطع لتنفيذ النصيحة في كتل الكود.
لغات التجميع
تتوافق لغات التجميع بشكل مباشر مع لغة الآلة (انظر أدناه)، لذا تظهر تعليمات الكود الآلي في شكل يمكن للبشر فهمه، على الرغم من أنه قد لا يكون هناك تعيين واحد لواحد بين بيان فردي وتعليمة فردية. تتيح لغات التجميع للمبرمجين استخدام العناوين الرمزية، والتي يحولها المجمع إلى عناوين مطلقة أو قابلة للنقل . تدعم معظم المجمعات أيضًا وحدات الماكرو والثوابت الرمزية .
لغات التأليف
لغة التأليف هي لغة برمجة مصممة للاستخدام من قبل أشخاص غير متخصصين في الكمبيوتر لإنشاء برامج تعليمية ومواقع ويب وبرامج كمبيوتر تفاعلية أخرى بسهولة.
لغات واجهة سطر الأوامر
تُسمى أيضًا لغات واجهة سطر الأوامر (CLI) بلغات الدفعات أو لغات التحكم في الوظائف. الأمثلة:
- 4DOS (غلاف لأجهزة الكمبيوتر IBM )
- 4OS2 (غلاف لأجهزة الكمبيوتر IBM )
- bash (غلاف Bourne-Again من GNU ، مؤسسة البرمجيات الحرة )
- CLIST ( قائمة أوامر MVS )
- مدير تنفيذي لـCMS
- csh و tcsh (بقلم بيل جوي، جامعة كاليفورنيا في بيركلي )
- لغة الأوامر الرقمية CLI لـ VMS ( DEC ، Compaq ، HP )
- لغة الدفعة DOS (لأجهزة IBM PC DOS ، ما قبل Windows )
- تنفيذي 2
- Expect ( أداة أتمتة واختبار يونكس )
- سمكة ( غلاف يونكس )
- غلاف Hamilton C (غلاف C لنظام Windows)
- ksh (غلاف يونكس قياسي ، كتبه ديفيد كورن )
- PowerShell ( واجهة سطر أوامر قائمة على .NET )
- rc (غلاف لخطة 9 )
- ريكس
- sh ( غلاف يونكس القياسي ، بواسطة ستيفن ر. بورن )
- TACL (لغة الأوامر المتقدمة الترادفية)
- لغة الدفعة لنظام Windows (الإدخال لـ COMMAND.COM أو CMD.EXE )
- zsh ( غلاف يونكس )
اللغات المجمعة
هذه هي اللغات التي تتم معالجتها عادةً بواسطة المترجمين ، على الرغم من أنه من الناحية النظرية يمكن تجميع أو تفسير أي لغة.
- أركتس
- أكشن سكريبت
- أدا (لغة متعددة الأغراض)
- ألغول 58
- ALGOL 60 (تصميم مؤثر)
- آلة صغيرة ALGOL
- ألغول 68
- Ballerina → وقت تشغيل البايت كود
- BASIC (بما في ذلك الإصدار الأول من Dartmouth BASIC)
- مدرسة كولومبيا البريطانية
- ج (لغة إجرائية مستخدمة على نطاق واسع)
- C++ (لغة متعددة النماذج مشتقة من لغة C)
- C# (إلى وقت تشغيل CIL )
- سيلان (إلى بايت كود JVM )
- برد
- CLIPPER 5.3 (يعتمد على نظام التشغيل DOS)
- برنامج CLEO لأجهزة الكمبيوتر من طراز Leo
- Clojure (إلى بايت كود JVM )
- كوبول
- كوبرا
- اللغة الشائعة
- كريستال
- حليقة
- د (من إعادة هندسة C++)
- DASL →Java، JS ، JSP، Flex.war
- دلفي ( نظام تطوير Object Pascal من Borland )
- DIBOL (كوبول رقمي)
- ديلان
- إيفل (تم تطويره بواسطة برتراند ماير )
- الدردار
- إيماكس ليسب
- زمرد
- إرلانج
- عامل
- فورتران (تم تجميعها لأول مرة بواسطة جون باكوس من شركة IBM )
- جاوس
- جو (جولانج)
- Gosu (إلى بايت كود JVM )
- Groovy (إلى بايت كود JVM )
- هاسكل
- الميناء
- هولي سي
- إعلام (عادةً ملفات قصصية لـ Glulx أو Z-code )
- Java (عادةً ما يكون بايت كود JVM ؛ إلى كود الآلة )
- جوفيال
- جوليا (على الطاير إلى الكود الآلي)
- Kotlin (Kotlin/Native يستخدم LLVM لإنتاج الثنائيات)
- لابفيو
- الزئبق
- ميسا
- Nemerle (إلى بايت كود لغة وسيطة)
- نيم
- Objective-C
- ص
- باسكال (معظم التطبيقات)
- PL/I (في الأصل لأجهزة الكمبيوتر المركزية من IBM)
- زائد
- بايثون (إلى البايت كود الوسيط لآلة افتراضية )
- برنامج مولد التقارير ( RPG )
- أحمر
- الصدأ
- سكالا (إلى بايت كود JVM )
- المخطط (على سبيل المثال Gambit)
- SequenceL – وظيفية بحتة، ومتوازية وخالية من السباق
- Simula (مجموعة فرعية موجهة للكائنات من ALGOL 60 )
- بايت كود VM مستقل عن منصة Smalltalk
- سويفت
- مل
- التعلم الآلي القياسي (SML)
- أوكامل
- F# (إلى CIL ، يولد وقت التشغيل)
- تورينج
- ف (فلانج)
- فالا (نظام نوع GObject)
- Visual Basic ( وقت تشغيل CIL JIT)
- فيجوال فوكس برو
- برولوج مرئي
- شوجو
- زيج
لغات البرمجة المتسلسلة
لغة البرمجة المتسلسلة هي لغة برمجة حاسوبية خالية من النقاط حيث تشير جميع التعبيرات إلى وظائف ، ويشير تقابل التعبيرات إلى تكوين الوظائف . [4] تحل البرمجة المتسلسلة محل تطبيق الوظائف ، وهو أمر شائع في أنماط البرمجة الأخرى، مع تكوين الوظائف كطريقة افتراضية لبناء البرامج الفرعية .
اللغات المتزامنة
توفر لغات تمرير الرسائل بنيات لغوية للتزامن . النموذج السائد للتزامن في اللغات السائدة مثل Java هو التزامن في الذاكرة المشتركة . كانت اللغات المتزامنة التي تستخدم تمرير الرسائل مستوحاة بشكل عام من حسابات العمليات مثل عمليات الاتصال المتسلسلة (CSP) أو حساب π .
- آدا – لغة متعددة الأغراض
- ألف – لغة متزامنة مع الخيوط وتمرير الرسائل، تستخدم لبرمجة الأنظمة في الإصدارات المبكرة من Plan 9 من Bell Labs
- Ateji PX – امتداد للغة Java للتوازي
- Ballerina – لغة مصممة لتنفيذ وتنظيم الخدمات المصغرة. توفر نموذجًا للتزامن المتوازي القائم على الرسائل.
- ChucK – لغة برمجة خاصة بالمجال للصوت، والتحكم الدقيق في التزامن والتوقيت
- سيلك – سي متزامن
- Cω – C Omega، لغة بحثية تمتد إلى C#، تستخدم الاتصال غير المتزامن
- Clojure – لهجة من لغة Lisp للآلة الافتراضية Java
- كنيسة صغيرة
- مجموعة فورتران المشتركة
- باسكال متزامن (من تأليف برينش هانسن)
- كاري
- E - يستخدم الوعود ويضمن عدم حدوث طريق مسدود
- إيفل (من خلال آلية SCOOP ، الحوسبة المتزامنة البسيطة الموجهة للكائنات)
- Elixir (يعمل على Erlang VM)
- الزمرد – يستخدم الخيوط والشاشات
- إرلانج – يستخدم تمرير الرسائل غير المتزامنة دون مشاركة أي شيء
- مخطط Gambit – استخدام مكتبة Termite
- Gleam (يعمل على Erlang VM)
- جو (جولانج)
- Haskell – يدعم البرمجة المتزامنة والموزعة والمتوازية عبر أجهزة متعددة
- جافا
- انضم إلى Java – لغة متزامنة تعتمد على Java
- إكس10
- جوليا
- جول – لغة تدفق البيانات، تتواصل عن طريق تمرير الرسائل
- لابفيو
- Limbo – قريب من Alef ، يستخدم في برمجة الأنظمة في Inferno (نظام التشغيل)
- MultiLisp – نسخة مخطط ممتدة لدعم التوازي
- أوكامل
- أوكام - متأثر بشكل كبير بعملية الاتصال التسلسلي (CSP)
- أوكام-π – نسخة حديثة من أوكام ، والتي تتضمن أفكارًا من حساب π لميلنر
- أورك
- Oz – لغة متعددة النماذج، تدعم التزامن بين الحالات المشتركة وتمرير الرسائل، والمستقبلات، ونظام برمجة موزارت متعدد المنصات Oz
- ص
- Pict – في الأساس عبارة عن تنفيذ قابل للتنفيذ لحساب π الخاص بـ Milner
- بايثون – يستخدم التوازي القائم على الخيوط والتوازي القائم على العمليات [6]
- راكو [7]
- الصدأ
- Scala – تنفيذ عناصر من نمط Erlang على JVM
- SequenceL – وظيفي بحت، ومتوازي تلقائيًا وخالٍ من السباق
- SR – لغة البحث
- ف (فلانج)
- متوازي موحد C
- XProc – لغة معالجة XML، التي تتيح التزامن
لغات برمجة القيود
لغة برمجة القيود هي لغة برمجة إعلانية حيث يتم التعبير عن العلاقات بين المتغيرات كقيود . يتم التنفيذ من خلال محاولة العثور على قيم للمتغيرات التي تلبي جميع القيود المعلنة.
لغات الأقواس المجعدة
تحتوي لغة الأقواس المتعرجة أو الأقواس المتعرجة على قواعد نحوية تحدد الكتلة على أنها العبارات الموجودة بين الأقواس المتعرجة، أو الأقواس،{} . نشأت هذه القواعد النحوية مع BCPL (1966)، وانتشرت بواسطة C . تنحدر العديد من لغات الأقواس المتعرجة من C أو تتأثر بها بشدة . الأمثلة:
- أ ب س ل/ج+
- الالف
- أوك
- أركتس
- ب
- قبل الميلاد
- مدرسة كولومبيا البريطانية
- راقصة باليه
- C – تم تطويره حوالي عام 1970 في مختبرات بيل
- سي++
- سي شارب
- سيلان
- تشاك – لغة برمجة صوتية
- Cilk – لغة C متزامنة للبرمجة المتوازية متعددة الخيوط
- الإعصار – البديل الأكثر أمانًا للفيروس C
- د
- دارت
- DASL – يعتمد على Java
- هـ
- إيكماسكربت
- جي ال اس ال
- جو (جولانج)
- إتش إل إس إل
- جافا
- ليمبو
- ال بي سي
- ميل
- Nemerle (أقواس مجعدة اختيارية) [9]
- Objective-C
- كلية بيستال
- بيرل
- بي اتش بي
- بيكو
- رمح
- باورشيل
- ر
- راكو
- الصدأ
- دارجة
- سكالا (أقواس مجعدة اختيارية)
- سيد
- الصلابة [10]
- سوبر كوليدر
- سويفت
- غير واقعي
- ف (فلانج)
- يوريك
- نعم
لغات تدفق البيانات
تعتمد لغات برمجة تدفق البيانات على تمثيل (عادةً ما يكون مرئيًا) لتدفق البيانات لتحديد البرنامج. تُستخدم غالبًا للتفاعل مع الأحداث المنفصلة أو لمعالجة تدفقات البيانات. تتضمن أمثلة لغات تدفق البيانات ما يلي:
اللغات الموجهة للبيانات
توفر اللغات الموجهة للبيانات طرقًا قوية للبحث والتلاعب بالعلاقات التي تم وصفها بجداول علاقات الكيانات التي تربط مجموعة واحدة من الأشياء بمجموعات أخرى. [ بحاجة لمصدر ] تتضمن أمثلة اللغات الموجهة للبيانات ما يلي:
- كلاريون
- مجز
- dBase هي لغة الوصول إلى قاعدة البيانات العلائقية
- شبح
- MUMPS (لغة عامة قياسية ANSI مع تخصصات في عمل قواعد البيانات)
- Caché ObjectScript (مجموعة فرعية خاصة من MUMPS)
- يسترد
- RDQL
- سباركل
- إس كيو إل
- Visual FoxPro – محرك RDBMS أصلي، موجه للكائنات، RAD
- ويب دي إن إيه
- ولفرام ماثيماتيكا ( لغة ولفرام )
لغات جدول القرار
يمكن استخدام جداول القرار كوسيلة مساعدة لتوضيح المنطق قبل كتابة برنامج بأي لغة، ولكن في ستينيات القرن العشرين تم تطوير عدد من اللغات حيث يتم التعبير عن المنطق الرئيسي مباشرة في شكل جدول قرار، بما في ذلك:
اللغات التصريحية
تعبر اللغات التصريحية عن منطق الحساب دون وصف تدفق التحكم فيه بالتفصيل. تتناقض البرمجة التصريحية مع البرمجة الإلزامية من خلال لغات البرمجة الإلزامية، حيث يتم تحديد تدفق التحكم من خلال أوامر تسلسلية (أمرية). لغات البرمجة الوظيفية (الخالصة) والقائمة على المنطق هي أيضًا تصريحاتية، وتشكل الفئات الفرعية الرئيسية للفئة التصريحية. يسرد هذا القسم أمثلة إضافية ليست ضمن تلك الفئات الفرعية.
- اناليتيكا
- Ant (دمج البرمجة التصريحية والبرمجة الإلزامية )
- كاري
- شيفرة
- سجل البيانات
- لغة مواصفات التطبيقات الموزعة (DASL) (تجمع بين البرمجة التصريحية والبرمجة الإلزامية )
- مستوى كفاءة الطاقة
- شبح
- إعلام (دمج البرمجة التصريحية والبرمجة الإلزامية )
- بريق
- الزئبق
- ميتافونت
- ميتا بوست
- موديليكا
- نيكس
- برولوج
- لغة البرمجة QML
- أوز
- RDQL
- SequenceL – وظيفي بحت، ومتوازي تلقائيًا وخالٍ من السباق
- سباركل
- SQL (DQL فقط، وليس DDL وDCL وDML)
- سوفليه
- ولفرام ماثيماتيكا ( لغة ولفرام )
- إكس بيس
- تحويلات XSL
اللغات القابلة للتضمين
في الكود المصدر
تقوم لغات التضمين المصدرية بتضمين أجزاء صغيرة من الكود القابل للتنفيذ داخل جزء من النص الحر، والذي غالبًا ما يكون صفحة ويب.
تقتصر اللغات المضمنة في جانب العميل على قدرات المتصفح أو العميل المقصود. وتهدف إلى توفير الديناميكية لصفحات الويب دون الحاجة إلى إعادة الاتصال بالخادم.
إن اللغات المضمنة من جانب الخادم أكثر مرونة بكثير، حيث يمكن دمج أي لغة تقريبًا في الخادم. والهدف من تضمين أجزاء من التعليمات البرمجية من جانب الخادم في صفحة الويب هو إنشاء ترميز إضافي ديناميكيًا؛ حيث يختفي الكود نفسه عند تقديم الصفحة، ليحل محله ناتجها.
جانب الخادم
- بي اتش بي
- في بي سكريبت
- Tcl – خادم جانبي في NaviServer ومكون أساسي في أنظمة صناعة الإلكترونيات
- WebDNA – مخصص لمواقع الويب التي تعتمد على قواعد البيانات
الأمثلة المذكورة أعلاه مخصصة بشكل خاص لهذا الغرض. يمكن تكييف عدد كبير من اللغات الأخرى، مثل Erlang و Scala و Perl و Ring و Ruby (على سبيل المثال، عن طريق تحويلها إلى وحدات Apache ).
جانب العميل
- أكشن سكريبت
- JavaScript (المعروف أيضًا باسم ECMAScript أو JScript)
- VBScript (نظام التشغيل Windows فقط)
في كود الكائن
يمكن تضمين مجموعة كبيرة ومتنوعة من لغات البرمجة الديناميكية أو لغات البرمجة النصية في التعليمات البرمجية القابلة للتنفيذ المجمعة. في الأساس، يجب ربط التعليمات البرمجية الكائنية لمترجم اللغة بالملف القابل للتنفيذ. يمكن بعد ذلك تمرير أجزاء التعليمات البرمجية المصدرية للغة المضمنة إلى دالة تقييم كسلاسل. يمكن تنفيذ لغات التحكم في التطبيق بهذه الطريقة، إذا تم إدخال التعليمات البرمجية المصدرية بواسطة المستخدم. تُفضل اللغات ذات المترجمين الصغار.
لغات البرمجة التعليمية
اللغات التي تم تطويرها في المقام الأول لغرض التدريس والتعلم البرمجة.
اللغات الباطنية
لغة البرمجة الباطنية هي لغة برمجة مصممة لاختبار حدود تصميم لغة البرمجة الحاسوبية، أو كدليل على المفهوم، أو كنكتة.
لغات التمديد
لغات البرمجة التوسعية هي لغات مدمجة في برنامج آخر وتستخدم لتسخير ميزاته في نصوص التوسعة.
- AutoLISP (خاص بـ AutoCAD )
- حبة الفاصوليا
- كال
- C/AL (C/الجانب)
- حيلة
- إيماكس ليسب
- JavaScript وبعض اللهجات، على سبيل المثال، JScript
- Lua (مضمن في العديد من الألعاب)
- OpenCL (امتداد لـ C وC++ لاستخدام وحدة معالجة الرسوميات والامتدادات المتوازية لوحدة المعالجة المركزية)
- OptimJ (امتداد لـ Java مع دعم اللغة لكتابة نماذج التحسين والتجريدات القوية لمعالجة البيانات الضخمة)
- بيرل
- رمح
- باورشيل
- Python (مضمن في Maya وBlender وحزم الرسوم المتحركة ثلاثية الأبعاد الأخرى)
- ريكس
- جرس
- روبي (جوجل سكتش اب)
- دارجة
- إس كيو إل
- سنجاب
- تي سي ال
- سكربت Vim (vim)
- فيجوال بيسك للتطبيقات (VBA)
لغات الجيل الرابع
لغات البرمجة من الجيل الرابع هي لغات عالية المستوى مبنية حول أنظمة قواعد البيانات. تُستخدم عمومًا في البيئات التجارية.
- 1C: لغة برمجة للمؤسسات
- أبا
- كورفيجن
- GraphTalk من CSC
- CA-IDEAL (بيئة تطوير تفاعلية لعمر التطبيق) للاستخدام مع CA-DATACOM/DB
- مولد التقارير Easytrieve (الآن CA-Easytrieve Plus)
- ركز
- آي بي إم إنفورميكس-4GL
- لينك 4GL
- LiveCode (لا يعتمد على قاعدة بيانات؛ ومع ذلك، فإن الهدف هو العمل على مستوى أعلى من التجريد من 3GLs.)
- MAPPER ( Unisys/Sperry ) – الآن جزء من BIS
- MARK-IV ( Sterling/Informatics ) الآن VISION:BUILDER of CA
- طبيعي
- التقدم 4GL
- الموجة الكهروضوئية
- يسترد
- ساس
- إس كيو إل
- Ubercode (VHLL، أو لغة عالية المستوى للغاية)
- يونيفيس
- بيانات مرئية مرنة
- فيجوال فوكس برو
- إكس بيس
اللغات الوظيفية
تحدد لغات البرمجة الوظيفية البرامج والبرامج الفرعية كوظائف رياضية وتتعامل معها باعتبارها من الدرجة الأولى. العديد من اللغات الوظيفية المزعومة هي "غير نقية"، وتحتوي على ميزات أمرية. ترتبط العديد من اللغات الوظيفية بأدوات الحساب الرياضية. تشمل اللغات الوظيفية:
نقي
ملوث
- أبل
- نظام تتبع المركبات
- كال
- C++ (منذ C++11 )
- سي شارب
- في بي.نت
- سيلان
- حليقة
- د
- دارت
- إيكماسكربت
- إرلانج
- فكسل
- فليكس
- G (تستخدم في LabVIEW)
- رائع
- قفزة
- ج
- جافا (منذ الإصدار 8)
- جوليا
- كوتلين
- ليثغة
- مل
- التعلم الآلي القياسي (SML)
- أوكامل
- ف#
- نيميرلي
- نيم
- أوبال
- العمليات 5
- بيرل
- بي اتش بي
- PL/pgSQL
- بايثون
- Q (لغة برمجة معادلية)
- Q (لغة برمجة من Kx Systems)
- ر
- راكو
- ريبول
- أحمر
- جرس
- روبي
- ريفال
- الصدأ
- سكالا
- سويفت
- جداول البيانات
- ف (فلانج)
- تي سي ال
- ولفرام ماثيماتيكا ( لغة ولفرام )
لغات وصف الأجهزة
في مجال الإلكترونيات، تعد لغة وصف الأجهزة (HDL) لغة كمبيوتر متخصصة تستخدم لوصف بنية وتصميم وتشغيل الدوائر الإلكترونية، والأكثر شيوعًا، الدوائر المنطقية الرقمية. النوعان الأكثر استخدامًا ودعمًا من لغة وصف الأجهزة المستخدمة في الصناعة هما Verilog و VHDL . تشمل لغات وصف الأجهزة ما يلي:
HDLs لتصميم الدوائر التناظرية
- Verilog-AMS (Verilog للإشارات التناظرية والمختلطة)
- VHDL-AMS (VHDL مع امتداد إشارة تناظرية/مختلطة)
HDLs لتصميم الدوائر الرقمية
اللغات الأمرية
قد تكون لغات البرمجة الإلزامية متعددة النماذج وتظهر في تصنيفات أخرى. فيما يلي قائمة بلغات البرمجة التي تتبع النموذج الإلزامي :
- آدا
- ألغول 58
- ALGOL 60 (تصميم لغة مؤثر للغاية)
- ألغول 68
- أساسي
- ج
- سي++
- سي شارب
- سيلان
- برد
- كوبول
- د
- دارت
- إيكماسكربت
- فورتران
- جاوس
- يذهب
- رائع
- رمز
- جافا
- جوليا
- لوا
- ماتلاب
- لغات الآلة
- مودولا-2 ، مودولا-3
- النكاف
- نيم
- أوكامل
- أوبيرون
- كائن باسكال
- فتح كائن Rexx (ooRexx)
- لغة البرمجة المفتوحة (OPL)
- لغة الأعمال المتقدمة OpenEdge (ABL)
- باسكال
- بيرل
- بي اتش بي
- ب ل/ي
- ب/س
- باورشيل
- نثر
- بايثون
- راكو
- ريكس
- جرس
- روبي
- الصدأ
- سيتل
- حانة سرية
- سويفت
- تي سي ال
- ف (فلانج)
- ولفرام ماثيماتيكا ( لغة ولفرام )
لغات الوضع التفاعلي
تعمل لغات الوضع التفاعلي كنوع من الغلاف: يمكن إدخال التعبيرات أو العبارات واحدة تلو الأخرى، وتظهر نتيجة تقييمها على الفور. يُطلق على الوضع التفاعلي أيضًا حلقة القراءة والتقييم والطباعة (REPL).
- أبل
- أساسيات (بعض اللهجات)
- كلوجور
- اللغة الشائعة
- Dart (باستخدام أدوات المطور الخاصة بـ Observatory أو Dartium)
- إيكماسكربت
- إرلانج
- الإكسير (مع iex)
- ف#
- فريل
- جاوس
- رائع
- حيلة
- Haskell (مع مترجم GHCi أو Hugs)
- اللغة الإنجليزية:IDL
- ج
- جافا (منذ الإصدار 9)
- جوليا
- لوا
- MUMPS (لغة عامة قياسية ANSI)
- القيقب
- ماتلاب
- مل
- أوكامل
- بيرل
- بي اتش بي
- رمح
- بوستسكريبت
- PowerShell ( واجهة سطر أوامر قائمة على .NET )
- برولوج
- بايثون
- نثر
- ر
- راكو
- ريبول
- أحمر
- ريكس
- جرس
- روبي (مع IRB )
- سكالا
- مخطط
- Smalltalk (في أي مكان في بيئة Smalltalk)
- S-Lang (مع غلاف S-Lang، slsh)
- حانة سرية
- سويفت
- Tcl (مع غلاف Tcl، tclsh)
- غلاف يونكس
- فيجوال فوكس برو
- ولفرام ماثيماتيكا ( لغة ولفرام )
اللغات المفسرة
اللغات المفسرة هي لغات برمجة يمكن فيها تنفيذ البرامج من شكل الكود المصدري بواسطة مفسّر. من الناحية النظرية، يمكن تجميع أو تفسير أي لغة، لذا فإن مصطلح اللغة المفسرة يشير عمومًا إلى اللغات التي يتم تفسيرها عادةً بدلاً من تجميعها.
- نملة
- أبل
- لغة البرمجة AutoHotkey
- لغة البرمجة AutoIt
- أساسيات (بعض اللهجات)
- لغة برمجة للأعمال (PL/B، كانت تُعرف سابقًا باسم DATABUS، وتمت إضافة التجميع الاختياري للإصدارات الأحدث)
- برج إيفل (عبر تقنية ذوبان الجليد في EiffelStudio )
- إيماكس ليسب
- بؤري
- لغة GameMaker
- رائع
- ج
- جك
- جوليا (تم تجميعها أثناء التشغيل إلى كود الآلة ، افتراضيًا، تتوفر أيضًا إمكانية التفسير)
- جافا سكريبت
- Lisp (الإصدارات المبكرة، قبل عام 1962، وبعض الإصدارات التجريبية؛ أنظمة Lisp الإنتاجية عبارة عن مُجمِّعات، ولكن لا يزال العديد منها يوفر مُفسِّرًا إذا لزم الأمر)
- ال بي سي
- لوا
- MUMPS (لغة عامة قياسية ANSI)
- القيقب
- ماتلاب
- أوكامل
- باسكال (التطبيقات المبكرة)
- كلية بيستال
- بيرل
- بي اتش بي
- بوستسكريبت
- باورشيل
- نثر
- بايثون
- ريكس
- ر
- راكو
- ريبول
- أحمر
- جرس
- روبي
- دارجة
- بذرة 7
- حانة سرية
- التعلم الآلي القياسي (SML)
- يلف
- تي سي ال
- شاي
- تورك سكريبت
- لغة البرمجة thinBasic
- في بي سكريبت
- Windows PowerShell – واجهة سطر أوامر تعتمد على .NET
- بعض لغات البرمجة النصية – أدناه
- ولفرام ماثيماتيكا ( لغة ولفرام )
اللغات التكرارية
اللغات التكرارية هي لغات مبنية حول أو تقدم المولدات .
اللغات حسب نوع إدارة الذاكرة
اللغات التي تم جمعها من القمامة
جمع القمامة (GC) هو شكل من أشكال إدارة الذاكرة التلقائية. يحاول جامع القمامة استعادة الذاكرة التي تم تخصيصها بواسطة البرنامج ولكنها لم تعد مستخدمة.
اللغات ذات إدارة الذاكرة اليدوية
This section needs expansion. You can help by adding to it. (November 2016) |
- ألغول 68
- التجمع (متنوع)
- النعيم
- ج
- سي++
- مكون باسكال
- رابعا
- فورتران
- فريبيسك
- الوحدة 2
- أوبيرون
- باسكال
- ب ل/ي
- زيج
اللغات ذات إدارة الذاكرة اليدوية الاختيارية
- لا يلزم تنفيذات Ada بتقديم جمع القمامة، ولكن دلالات اللغة تدعم ذلك، والعديد من التنفيذات تتضمنه.
- عادةً ما يتم حساب Blitz BASIC (المعروف أيضًا باسم BlitzMax) من خلال المراجع، [12] كما يدعم أيضًا جامع القمامة. ومع ذلك، فإنه يأتي أيضًا مع أدوات مساعدة اختيارية لاستخدام المؤشرات [13] وتخصيص الذاكرة وتحريرها بشكل مباشر. [14]
- يدعم COBOL المؤشرات [15] وتخصيص الكومة [16] اعتبارًا من COBOL 2002، إلى جانب جامع القمامة. [17]
- يوفر Cython إدارة ذاكرة يدوية اختيارية من خلال السماح للمستخدم باستيراد
mallocوreallocوfreeمن C، والتي يمكنهم بعد ذلك استخدامها في كود Python. [18] - يوفر D للمبرمجين التحكم الكامل في جامع القمامة الخاص بهم، بما في ذلك القدرة على تعطيله تمامًا. [19]
- عادةً ما يتم جمع البيانات غير المرغوب فيها أو حسابها كمرجع في Nim بشكل افتراضي، اعتمادًا على تكوينه، ولكن قد يستخدم المبرمج المفتاح
--mm:noneلإلغاء تخصيص الذاكرة يدويًا. [20] - يدعم Objective-C و Objective-C++ العد الاختياري للمراجع وجمع القمامة كبدائل لإدارة الذاكرة اليدوية (ألغت Apple جامع القمامة).
- كان PostScript يتطلب في الأصل من المطورين استعادة الذاكرة يدويًا باستخدام مشغلي
saveandrestore. قدم PostScript Level 2 جامع القمامة، لكن استخدامه اختياري. [21] - يدعم Rust العد المرجعي الاختياري، ولكن إدارة الذاكرة اليدوية هي المفضلة.
- تدير Scala الذاكرة بشكل طبيعي تلقائيًا في أهداف JVM وJavaScript الخاصة بها. ومع ذلك ، يدعم مُجمِّع Scala Native المستند إلى LLVM استخدام المؤشرات، بالإضافة إلى تخصيص الكومة على غرار C (على سبيل المثال
malloc،، ) وتخصيص المكدس ( ). [22]reallocfreestackalloc - يستخدم Swift عادةً عد المراجع، ولكنه يسمح أيضًا للمستخدم بإدارة الذاكرة يدويًا باستخدام
mallocوfree. على منصات Apple، يتم استيراد هذه الوظائف من مكتبة C القياسية (التي يتم استيرادها منFoundationأوAppKitأوUIKit)؛ على Linux، يحتاج المطور إلى استيرادGlibcوucrtعلى Windows. - يستخدم V (Vlang) GC افتراضيًا، لراحة المستخدم، ويمكن إيقاف تشغيله (-gc none). ويتمتع المستخدمون بحرية إدارة الذاكرة يدويًا. ويمكنهم أيضًا استخدام التحرير التلقائي (-autofree) أو تخصيص الساحة (-prealloc).
- يستخدم Vala العد المرجعي بشكل افتراضي، ولكن المستخدم حر في إدارة الذاكرة يدويًا إذا رغب في ذلك. [23]
اللغات ذات إدارة الذاكرة الحتمية
This section needs expansion. You can help by adding to it. (April 2018) |
اللغات ذات العد التلقائي للمراجع (ARC)
This section needs expansion. You can help by adding to it. (September 2018) |
اللغات القائمة على القوائم – LISPs
اللغات المبنية على القائمة هي نوع من اللغات المهيكلة بالبيانات والتي تعتمد على بنية بيانات القائمة .
اللغات الصغيرة
تخدم اللغات الصغيرة [26] مجال مشكلة متخصص.
- awk – يستخدم لمعالجة ملفات النصوص.
- sed – تحليل النص وتحويله
- SQL – تحتوي على عدد قليل من الكلمات الرئيسية وليس على كل التراكيب اللازمة للغة برمجة كاملة [أ] – تقوم العديد من أنظمة إدارة قواعد البيانات بتوسيع SQL بتراكيب إضافية كلغة إجراء مخزنة
اللغات المبنية على المنطق
تحدد اللغات القائمة على المنطق مجموعة من السمات التي يجب أن يتمتع بها الحل، بدلاً من مجموعة من الخطوات للحصول على الحل.
تتضمن اللغات البارزة التي تتبع نموذج البرمجة هذا ما يلي :
- ألف
- ألما-0
- كاري
- سجل البيانات
- فريل
- Flix (لغة برمجة وظيفية ذات قيود Datalog من الدرجة الأولى)
- جانوس
- λProlog (لغة برمجة منطقية تتميز بالكتابة المتعددة الأشكال والبرمجة المعيارية والبرمجة من الدرجة الأعلى)
- أوز ، ونظام برمجة موزارت متعدد المنصات أوز
- Prolog (يقوم بصياغة البيانات وآلية تقييم البرنامج كشكل خاص من المنطق الرياضي يسمى منطق Horn وآلية إثبات عامة تسمى الحل المنطقي )
- عطارد (بناءً على برولوغ)
- Visual Prolog (امتداد Prolog الموجه للكائنات)
- روب
- سوفليه
لغات الآلة
يمكن تنفيذ لغات الآلة مباشرة بواسطة وحدة المعالجة المركزية للكمبيوتر. وعادة ما يتم صياغتها على هيئة أنماط بت، وعادة ما يتم تمثيلها بالنظام الثماني أو السداسي عشر . يتسبب كل نمط بت في قيام الدوائر الموجودة في وحدة المعالجة المركزية بتنفيذ إحدى العمليات الأساسية للأجهزة. يتحكم تنشيط المدخلات الكهربائية المحددة (على سبيل المثال، دبابيس حزمة وحدة المعالجة المركزية للمعالجات الدقيقة)، والإعدادات المنطقية لقيم حالة وحدة المعالجة المركزية، في حساب المعالج. لغات الآلة الفردية خاصة بعائلة من المعالجات؛ لا يمكن تشغيل كود لغة الآلة لعائلة واحدة من المعالجات مباشرة على معالجات في عائلة أخرى ما لم يكن لدى المعالجات المعنية أجهزة إضافية لدعمها (على سبيل المثال، تضمنت معالجات DEC VAX وضع توافق PDP-11). يتم تعريفها (أساسًا) دائمًا بواسطة مطور وحدة المعالجة المركزية، وليس بواسطة أطراف ثالثة. [ب] يتم تعريف الإصدار الرمزي، لغة التجميع للمعالج ، أيضًا بواسطة المطور، في معظم الحالات. بعض مجموعات تعليمات كود الآلة المستخدمة بشكل شائع هي:
- ريسك-V
- ذراع
- ديسمبر :
- إنتل 8008 و 8080 و 8085
- x86 :
- 16 بت x86 ، تم استخدامه لأول مرة في Intel 8086
- Intel 8086 و 8088 (تم استخدام الأخير في أول وأوائل أجهزة الكمبيوتر الشخصية من IBM )
- إنتل 80186
- Intel 80286 (أول معالج x86 مع الوضع المحمي ، والذي تم استخدامه في IBM PC AT )
- IA-32 ، تم تقديمه في 80386
- x86-64 – تم إنشاء المواصفات الأصلية بواسطة AMD . هناك إصدارات مختلفة من المصنع، لكنها متشابهة بشكل أساسي:
- AMD64 من AMD
- معالج Intel 64 من شركة Intel
- 16 بت x86 ، تم استخدامه لأول مرة في Intel 8086
- آي بي إم [ج]
- ميبس
- موتورولا 6800 ( 8 بت )
- سلسلة Motorola 68000 (وحدات المعالجة المركزية المستخدمة في أجهزة كمبيوتر Macintosh المبكرة وأجهزة كمبيوتر Sun المبكرة )
- تقنية MOS 65xx ( 8 بت )
- 6502 (وحدة المعالجة المركزية لأجهزة الكمبيوتر VIC-20 و BBC Micro و Apple II و Atari 8 بت )
- 6510 (وحدة المعالجة المركزية لـ Commodore 64 )
- مركز التصميم الغربي 65816/65802 (وحدة المعالجة المركزية لجهاز Apple IIGS و(الإصدار المتغير) Super Nintendo Entertainment System )
- شركة ناشيونال سيميكونداكتور NS320xx
- الطاقة ، تم استخدامها لأول مرة في IBM RS/6000
- PowerPC – يستخدم في Power Macintosh وفي العديد من وحدات التحكم في الألعاب ، وخاصة من الجيل السابع .
- Power ISA – تطور لـ PowerPC .
- شركة Sun Microsystems (الآن Oracle ) SPARC
- يونيفاك [ج]
- MCST إلبروس 2000
لغات الماكرو
لغات الماكرو البديلة للنصوص
تحول لغات الماكرو ملف كود مصدر إلى ملف آخر. "الماكرو" هو في الأساس جزء قصير من النص يتوسع إلى جزء أطول (لا ينبغي الخلط بينه وبين وحدات الماكرو الصحية )، ربما مع استبدال المعلمات. غالبًا ما تستخدم لمعالجة الكود المصدر مسبقًا . يمكن للمعالجات المسبقة أيضًا توفير تسهيلات مثل تضمين الملفات .
قد تقتصر لغات الماكرو على العمل على مناطق التعليمات البرمجية ذات العلامات الخاصة (المُسبقة بعلامة a #في حالة المعالج المسبق C). بدلاً من ذلك، قد لا تكون كذلك، ولكن في هذه الحالة لا يزال من غير المرغوب فيه غالبًا (على سبيل المثال) توسيع ماكرو مُضمَّن في سلسلة حرفية ، لذلك لا تزال بحاجة إلى وعي أولي بالقواعد النحوية. وبما أن الأمر كذلك، فإنها غالبًا ما تظل قابلة للتطبيق على أكثر من لغة. على النقيض من اللغات القابلة للتضمين في المصدر مثل PHP ، والتي تتميز بكامل الميزات.
- cpp (معالج C المسبق)
- m4 (أصلاً من AT&T، مجمع مع Unix)
- ML/I (معالج ماكرو للأغراض العامة)
- TTM (تم تطويره في معهد كاليفورنيا للتكنولوجيا)
لغات الماكرو التطبيقية
تم تضمين لغات البرمجة النصية مثل Tcl و ECMAScript ( ActionScript و ECMAScript for XML و JavaScript و JScript ) في التطبيقات. تسمى هذه اللغات أحيانًا "لغات الماكرو"، على الرغم من أنها تختلف إلى حد ما عن وحدات الماكرو البديلة للنصوص مثل m4 .
لغات البرمجة الفوقية
البرمجة الفوقية هي كتابة برامج تكتب أو تتلاعب ببرامج أخرى، بما في ذلك نفسها، كبياناتها أو تقوم بجزء من العمل الذي يتم عادةً في وقت التشغيل أثناء وقت التجميع . في كثير من الحالات، يسمح هذا للمبرمجين بإنجاز المزيد في نفس الوقت الذي يستغرقونه لكتابة كل التعليمات البرمجية يدويًا.
لغات متعددة النماذج
تدعم لغات البرمجة متعددة النماذج أكثر من نموذج برمجة واحد . فهي تسمح للبرنامج باستخدام أكثر من أسلوب برمجة واحد . والهدف هو السماح للمبرمجين باستخدام أفضل أداة لعمل ما، مع الاعتراف بأنه لا يوجد نموذج واحد يحل جميع المشكلات بالطريقة الأسهل أو الأكثر كفاءة.
- 1C: لغة برمجة للمؤسسات (عامة، إلزامية، موجهة نحو الكائنات، تعتمد على النموذج الأولي، وظيفية)
- Ada ( متزامن ، موزع ، عام ( برمجة ميتا قالبية )، إلزامي ، موجه للكائنات ( مبني على الفئة ))
- ALF ( وظيفي ، منطقي )
- ألما-0 (قيد، أمر، منطق)
- APL (وظيفي، أمر، موجه نحو الكائنات (مبني على الفئة))
- BETA (وظيفي، أمر، موجه نحو الكائنات (يعتمد على الفئة))
- C++ (عام، أمر، موجه نحو الكائنات (مبني على الفئة)، وظيفي، برمجة فوقية)
- C# (عام، أمر، موجه نحو الكائنات (يعتمد على الفئة)، وظيفي، إعلاني)
- سيلان (عام، أمر، موجه نحو الكائنات (يعتمد على الفئة)، وظيفي، إعلاني)
- ChucK (أمر حتمي، موجه نحو الكائنات، قائم على الوقت، متزامن، أثناء التنقل)
- كوبرا (عامة، إلزامية، موجهة نحو الكائنات (مبنية على الفئة)، وظيفية، تعاقدية)
- Common Lisp (وظيفية، أمرية، موجهة نحو الكائنات (تعتمد على الفئة)، موجهة نحو الجوانب (قد يضيف المستخدم نماذج أخرى، مثل المنطق))
- Curl (وظيفي، أمر، موجه نحو الكائنات (يعتمد على الفئة)، برمجة فوقية)
- الكاري (متزامن، وظيفي، منطقي)
- د (عام، أمر، وظيفي، موجه نحو الكائنات (يعتمد على الفئة)، برمجة فوقية)
- دارت (عامة، إلزامية، وظيفية، موجهة نحو الكائنات (مبنية على الفئة))
- لغة برمجة كائنات دلفي باسكال (عامة، إلزامية، موجهة للكائنات (مبنية على الفئة)، برمجة فوقية)
- ديلان (وظيفي، موجه نحو الكائنات (يعتمد على الفئة))
- ECMAScript (وظيفي، أمر، موجه نحو الكائنات (يعتمد على النموذج الأولي))
- إيفل (أمري، موجه نحو الكائنات (يعتمد على الفئة)، عام، وظيفي (وكلاء)، متزامن (SCOOP))
- F# (وظيفية، عامة، موجهة نحو الكائنات (تعتمد على الفئة)، موجهة نحو اللغة)
- فانتوم (وظيفي، موجه للكائنات (يعتمد على الفئة))
- اذهب ، جولانج (أمرية، إجرائية)،
- رائع (وظيفي، موجه نحو الكائنات (يعتمد على الفئة)، أمر، إجرائي)
- الميناء
- قفزة
- J (وظيفي، أمر، موجه نحو الكائنات (مبني على الفئة))
- جوليا (أمرية، إرسال متعدد ("موجه نحو الكائنات")، وظيفي، برمجة فوقية)
- LabVIEW ( مرئي ، تدفق بيانات ، متزامن، معياري، وظيفي، موجه للكائنات، برمجة نصية)
- لوا (وظيفية، أمرية، موجهة نحو الكائنات ( تعتمد على النموذج الأولي ))
- عطارد (وظيفي، منطقي، موجه نحو الأشياء)
- بروتوكولات الكائنات الفوقية (الموجهة للكائنات (المبنية على الفئة، والمبنية على النموذج الأولي))
- Nemerle (وظيفي، موجه نحو الكائنات (يعتمد على الفئة)، أمر، برمجة فوقية)
- Objective-C (أمرية، موجهة للكائنات (تعتمد على الفئة)، تأملية)
- OCaml (وظيفي، أمر، موجه نحو الكائنات (مبني على الفئة)، معياري)
- Oz (وظيفي (تقييم: حريص ، كسول )، منطق، قيد ، أمر، موجه نحو الكائنات (يعتمد على الفئة)، متزامن، موزع)، ونظام برمجة موزارت متعدد المنصات Oz
- باسكال الكائني (أمري، موجه للكائنات (يعتمد على الفئة))
- Perl (أمرية، وظيفية (لا يمكن أن تكون وظيفية بحتة)، موجهة نحو الكائنات، موجهة نحو الفئة، موجهة نحو الجوانب (من خلال الوحدات النمطية))
- PHP (أمرية، موجهة للكائنات، وظيفية (لا يمكن أن تكون وظيفية بحتة))
- بايك (لغة برمجة ديناميكية، متعددة الأغراض، عالية المستوى، متعددة المنصات)
- Prograph (تدفق البيانات، موجه نحو الكائنات (يعتمد على الفئة)، مرئي)
- بايثون (وظيفي، مُجمَّع، مُفسَّر، مُوجَّه نحو الكائنات (مبني على الفئة)، أمر، برمجة فوقية، امتداد، غير نقي، وضع تفاعلي، تكراري، انعكاسي، برمجة نصية)
- R (مصفوفة، مفسرة، غير نقية، وضع تفاعلي، قائم على القائمة، قائم على النموذج الأولي الموجه للكائنات، البرمجة النصية)
- Racket (وظيفي، أمر، موجه نحو الكائنات (يعتمد على الفئة) ويمكن للمستخدم توسيعه)
- راكو (متزامن، متسلسل، وظيفي، برمجة فوقية عامة، أمر، انعكاس موجه للكائنات، خطوط أنابيب، تفاعلي، وقيود عبر المكتبات، موزعة)
- ريبول (وظيفي، أمر، موجه نحو الكائنات (يعتمد على النموذج الأولي)، برمجة فوقية (لهجة))
- الأحمر (وظيفي، أمر، موجه نحو الكائنات (يعتمد على النموذج الأولي)، برمجة فوقية (لهجة))
- ROOP (أمرية، منطقية، موجهة نحو الكائنات (تعتمد على الفئة)، تعتمد على القواعد)
- حلقة (أمرية، وظيفية، موجهة نحو الكائنات (تعتمد على الفئة)، برمجة فوقية، إعلانية، طبيعية)
- روبي (أمرية، وظيفية، موجهة نحو الكائنات (مبنية على الفئة)، برمجة فوقية)
- Rust (متزامن، وظيفي، حتمي، موجه نحو الكائنات، عام، برمجة فوقية، مُجمَّع)
- سكالا (وظيفية، موجهة للكائنات)
- Seed7 (أمرية، موجهة للكائنات، عامة)
- SISAL (متزامن، تدفق البيانات، وظيفي)
- جداول البيانات (الوظيفية، المرئية)
- Swift (موجه نحو البروتوكول، موجه نحو الكائنات، وظيفي، أمر، مبني على الكتل)
- Tcl (وظيفي، أمر، موجه نحو الكائنات (مبني على الفئة))
- الشاي (وظيفي، أمر، موجه نحو الأشياء (مبني على الطبقة))
- V (Vlang) (وظيفي، أمر، إجرائي، منظم، متزامن)
- Windows PowerShell (وظيفي، أمر، خط أنابيب، موجه للكائنات (مبني على الفئة))
- ولفرام ماثيماتيكا ( لغة ولفرام )
التحليل العددي
تُستخدم أيضًا العديد من لغات البرمجة للأغراض العامة، مثل C و Python ، في الحوسبة التقنية، وتركز هذه القائمة على اللغات المستخدمة حصريًا تقريبًا في الحوسبة التقنية.
اللغات غير المعتمدة على اللغة الإنجليزية
- اللغة الصينية الأساسية (الصينية)
- فيولنير (آيسلاندي)
- اللغة الرمزية للتصميم (الفرنسية)
- رابيرا (روسية)
- إيزيل (التاميلية)
اللغات القائمة على الفئات الموجهة للكائنات
تدعم لغات البرمجة الموجهة للكائنات القائمة على الفئة الكائنات التي يتم تعريفها بواسطة فئتها. تتضمن تعريفات الفئة بيانات الأعضاء. يعد تمرير الرسائل مفهومًا رئيسيًا، إن لم يكن المفهوم الرئيسي، في لغات البرمجة الموجهة للكائنات.
تُسمى الدوال المتعددة الأشكال التي يتم تحديد معلماتها حسب فئة بعض حججها عادةً بالطرق . في اللغات ذات الإرسال الفردي ، تتضمن الفئات عادةً أيضًا تعريفات الطرق. في اللغات ذات الإرسال المتعدد ، يتم تعريف الطرق بواسطة دوال عامة . هناك استثناءات حيث تكون طرق الإرسال الفردي عبارة عن دوال عامة (على سبيل المثال نظام كائنات Bigloo ).
- اللغة الشائعة
- سيسيل
- ديلان
- جوليا [د]
- راكو [29]
إرسال واحد
- أكشن سكريبت 3.0
- ممثل
- Ada 95 و Ada 2005 (لغة متعددة الأغراض)
- أبل
- النسخة التجريبية
- سي++
- سي شارب
- سيلان
- دارت
- الأكسجين (الذي كان يسمى سابقًا كروم)
- تشاك
- كوبرا
- كولد فيوجن
- حليقة
- د
- لغة مواصفات التطبيقات الموزعة (DASL)
- كائنات دلفي باسكال
- هـ
- جنو إي
- ايفل
- فورتران 2003
- قلعة
- جامباس
- لغة صانع الألعاب
- الميناء
- ج
- جافا
- لابفيو
- لوا
- Modula-2 (تجريد البيانات، إخفاء المعلومات، الكتابة القوية، الوحدات النمطية الكاملة)
- Modula-3 (تمت إضافة المزيد من الميزات الموجهة للكائنات إلى Modula-2)
- نيميرلي
- نتريكس
- Oberon-2 (تكافؤ كامل في التوجه نحو الكائنات بطريقة أصلية، مكتوبة بقوة، وWirthian)
- كائن باسكال
- كائن REXX
- Objective-C (مجموعة فرعية من C تضيف نموذج كائن مشتق من Smalltalk وبنية جملة تمرير الرسائل)
- أوكامل
- لغة الأعمال المتقدمة OpenEdge (ABL)
- أوز، نظام برمجة موزارت
- بيرل 5
- بي اتش بي
- رمح
- بروجراف
- بايثون (لغة تفسيرية، اختياريًا موجهة للكائنات)
- الثورة (لا يتمكن المبرمج من اختيار الكائنات)
- جرس
- روبي
- سكالا
- حانة سرية
- سيمولا (أول لغة موجهة للكائنات، طورها أولي-جوهان دال وكريستين نيجارد )
- Smalltalk (التوجيه نحو الكائنات فقط، تم تطويره في Xerox PARC )
- يلف
- سوبر كوليدر
- VBScript (لغة برمجة الماكرو في Microsoft Office)
- بيانات مرئية مرنة
- فيجوال فوكس برو
- برولوج مرئي
- إكس++
- شوجو
- إكس أو تي سي إل
لغات البرمجة القائمة على النماذج الأولية الموجهة للكائنات
اللغات القائمة على النماذج الأولية هي لغات موجهة للكائنات حيث تمت إزالة التمييز بين الفئات والمثيلات:
- 1C: لغة برمجة للمؤسسات
- لغة متزامنة تعتمد على الجهات الفاعلة (ABCL، ABCL/1، ABCL/R، ABCL/R2، ABCL/c+)
- أغورا
- سيسيل
- إيكماسكربت
- أكشن سكريبت
- ECMAScript لـ XML
- JavaScript (سميت في البداية باسم Mocha، ثم LiveScript)
- جيه سكريبت
- ألعاب إلكترونية في سكويك
- أيو
- لوا
- موو
- نيوتن سكريبت
- مائل
- ر
- ريبول
- أحمر
- الذات (أول لغة تعتمد على النموذج الأولي، مشتقة من Smalltalk )
- تادس
لغات قواعد التسلل
تشير لغات قاعدة التسلل إلى كتل التعليمات البرمجية من خلال المسافة البادئة الخاصة بها .
اللغات الإجرائية
تعتمد لغات البرمجة الإجرائية على مفهوم الوحدة والنطاق (نطاق عرض البيانات) لعبارة التعليمات البرمجية القابلة للتنفيذ. يتكون البرنامج الإجرائي من وحدة أو أكثر أو وحدات نمطية، إما مشفرة من قبل المستخدم أو متوفرة في مكتبة التعليمات البرمجية؛ تتكون كل وحدة نمطية من إجراء واحد أو أكثر، يُطلق عليه أيضًا وظيفة أو روتين أو برنامج فرعي أو طريقة، اعتمادًا على اللغة. تتضمن أمثلة اللغات الإجرائية ما يلي:
- أدا (لغة متعددة الأغراض)
- ألغول 58
- ALGOL 60 (تصميم لغة مؤثر للغاية)
- ألغول 68
- ألما-0
- BASIC (تفتقر هذه إلى معظم الوحدات النمطية في (خاصة) الإصدارات قبل عام 1990 تقريبًا)
- مدرسة كولومبيا البريطانية
- النعيم
- ج
- سي++
- C# (مشابهة لـ Java/C++)
- سيلان
- برد
- ChucK (تركيب نحوي شبيه بلغة C/Java، مع عناصر تركيب نحوي جديدة للوقت والتوازي)
- كوبول
- كوبرا
- كولد فيوجن
- CPL (لغة البرمجة المدمجة)
- حليقة
- د
- لغة مواصفات التطبيقات الموزعة (DASL) (تجمع بين البرمجة التصريحية والبرمجة الإلزامية )
- إيكماسكربت
- أكشن سكريبت
- ECMAScript لـ XML
- JavaScript (سميت في البداية باسم Mocha، ثم LiveScript)
- جيه سكريبت
- مصدر
- ايفل
- رابعا
- فورتران (تحسينات في المعايير اللاحقة)
- جاوس
- يذهب
- الميناء
- هايبر توك
- جافا
- جوفيال
- جوليا
- اللغة ح
- لاسو
- Modula-2 (يعتمد بشكل أساسي على الوحدات النمطية)
- ماتلاب
- ميسا
- MUMPS (الإصدار الأول كان أكثر قابلية للتكيف من اللغات الأخرى في ذلك الوقت؛ لقد أصبح المعيار أكثر قابلية للتكيف منذ ذلك الحين)
- نيميرلي
- نيم
- أوبيرون ، أوبيرون-2 (متابعات محسنة وأصغر وأسرع وأكثر أمانًا لمودولا-2)
- أوكامل
- أوكام
- أورييل
- باسكال (خليفة ALGOL 60، سلف Modula-2)
- باسكال الحرة (FPC)
- كائن باسكال ، دلفي
- كلية بيستال
- بيرل
- رمح
- PL/C
- PL/I (لغة عامة كبيرة، كانت مخصصة في الأصل لأجهزة الكمبيوتر المركزية من IBM)
- زائد
- باورشيل
- نثر
- بايثون
- ر
- راكو
- رابيرا
- لعبة ار بي جي
- الصدأ
- دارجة
- في بي سكريبت
- فيجوال بيسك
- فيجوال فوكس برو
- ولفرام ماثيماتيكا ( لغة ولفرام )
- مايكروسوفت ديناميكس AX (X++)
لغات الاستعلام
اللغات العاكسة
تسمح لغات البرمجة الانعكاسية للبرامج بفحص وتعديل بنيتها عالية المستوى في وقت التشغيل أو وقت التجميع. وهذا أكثر شيوعًا في لغات برمجة الآلة الافتراضية عالية المستوى مثل Smalltalk ، وأقل شيوعًا في لغات البرمجة منخفضة المستوى مثل C. اللغات والمنصات التي تدعم الانعكاس:
- بيفونج
- سيلان
- سحر
- تشاك
- سطر الأوامر
- كوبرا
- مكون Pascal BlackBox Component Builder
- حليقة
- شيفرة
- كائنات دلفي باسكال
- إيكماسكربت
- إيماكس ليسب
- ايفل
- الميناء
- جوليا
- جيه في إم
- ليثغة
- لوا
- نظام مود
- Oberon-2 – نظام Oberon ETH
- Objective-C
- كلية بيستال
- بيرل
- بي اتش بي
- بيكو
- بوبلوج
- باورشيل
- برولوج
- بايثون
- راكو [30]
- ريبول
- أحمر
- جرس
- روبي
- Smalltalk (توجه كائني خالص، أصله من Xerox PARC )
- سنوبول
- تي سي ال
- ولفرام ماثيماتيكا ( لغة ولفرام )
- إكس أو تي سي إل
- إكس++
- شوجو
اللغات القائمة على القواعد
تقوم اللغات القائمة على القواعد بإنشاء قواعد عند تنشيطها بواسطة شروط في مجموعة من البيانات. من بين جميع عمليات التنشيط الممكنة، يتم تحديد مجموعة معينة ويتم تنفيذ العبارات التي تنتمي إلى تلك القواعد. تشمل اللغات القائمة على القواعد ما يلي: [ بحاجة لمصدر ]
- أوك
- مقاطع
- كلير
- قواعد التعامل مع القيود
- يسيل لعابه
- لغة برمجة العميل GOAL
- جيس
- العمليات 5
- برولوج
- ToonTalk – الروبوتات هي القواعد
- ولفرام ماثيماتيكا ( لغة ولفرام )
- XSLT [ بحاجة لمصدر ]
لغات البرمجة النصية
- انجيل سكريبت
- أبل سكريبت
- مفتاح التشغيل السريع التلقائي
- أوتويت
- أوك
- قبل الميلاد
- حبة الفاصوليا
- سحق
- Ch (مترجم C/C++ قابل للتضمين)
- سطر الأوامر
- كليست
- كولد فيوجن
- إيكماسكربت
- أكشن سكريبت
- ECMAScript لـ XML
- JavaScript (سميت في البداية باسم Mocha، ثم LiveScript)
- جيه سكريبت
- مصدر
- إيماكس ليسب
- مدير تنفيذي لـCMS
- تنفيذي 2
- لغة صانع الألعاب (GML)
- جي دي سكريبت
- أيو
- جاس
- جوليا (تم تجميعها أثناء التشغيل إلى كود الآلة ، افتراضيًا، تتوفر أيضًا إمكانية التفسير)
- جيه في إم
- ك.ش
- لاسو
- لوا
- ماكس سكريبت
- ميل
- الكائن REXX (OREXX، OOREXX)
- أورييل
- نص باسكال
- بيرل
- PHP (مخصص لخوادم الويب)
- باورشيل
- بايثون
- ر
- راكو
- ريبول
- أحمر
- ريكس
- ثورة
- جرس
- روبي
- دارجة
- سيد
- ش
- محادثة قصيرة
- سنجاب
- شاي
- تي سي ال
- تورك سكريبت
- في بي سكريبت
- WebDNA ، مخصص لمواقع الويب المعتمدة على قواعد البيانات
- Windows PowerShell ( واجهة سطر أوامر قائمة على .NET )
- تتمتع العديد من لغات أوامر shell مثل Unix shell أو DIGITAL Command Language (DCL) على VMS بقدرات برمجة نصية قوية.
اللغات المعتمدة على المكدس
اللغات المعتمدة على المكدس هي نوع من اللغات المهيكلة للبيانات والتي تعتمد على بنية بيانات المكدس .
اللغات المتزامنة
تم تحسين لغات البرمجة المتزامنة لبرمجة الأنظمة التفاعلية، وهي الأنظمة التي غالبًا ما تتعرض للمقاطعة ويجب أن تستجيب بسرعة. تُسمى العديد من هذه الأنظمة أيضًا أنظمة الوقت الفعلي ، وتُستخدم غالبًا في الأنظمة المضمنة .
أمثلة:
لغات التظليل
لغة التظليل هي لغة برمجة رسومية مخصصة لبرمجة تأثيرات التظليل. تتكون أشكال هذه اللغة عادةً من أنواع بيانات خاصة، مثل "اللون" و"العادي". نظرًا لتنوع الأسواق المستهدفة للرسومات الحاسوبية ثلاثية الأبعاد.
العرض في الوقت الحقيقي
إنها توفر تجريدًا أعلى للأجهزة ونموذج برمجة أكثر مرونة من النماذج السابقة التي كانت تبرمج معادلات التحويل والتظليل. وهذا يمنح المبرمج سيطرة أكبر على عملية العرض ويقدم محتوى أكثر ثراءً بتكلفة أقل.
- لغة تجميع الرسومات من Adobe (AGAL) [31]
- لغة التجميع ARB (تجميع ARB)
- لغة تظليل OpenGL (GLSL أو glslang)
- لغة التظليل عالية المستوى (HLSL) أو لغة تجميع تظليل DirectX
- لغة تظليل بلاي ستيشن (PSSL)
- لغة التظليل المعدني (MSL)
- سي جي
العرض دون اتصال بالإنترنت
تنتج لغات التظليل المستخدمة في العرض دون اتصال بالإنترنت أقصى جودة للصورة. وتستغرق معالجة مثل هذه البرامج وقتًا طويلاً. وقد تكون القوة الحسابية المطلوبة باهظة الثمن بسبب قدرتها على إنتاج نتائج واقعية للصور.
- لغة التظليل RenderMan (RSL)
- لغة التظليل المفتوحة (OSL)
لغات التعامل مع بناء الجملة
تساعد هذه اللغات في إنشاء محللات ومعاجم لقواعد اللغة الخالية من السياق .
- أنتلر
- Coco/R (EBNF مع الدلالات)
- GNU bison (إصدار FSF من Yacc)
- GNU Flex (إصدار FSF من Lex)
- lex (التحليل المعجمي، من مختبرات بيل)
- م4
- تحليل قواعد التعبير (PEG)
- برولوج
- إيماكس ليسب
- ليثغة
- راكو [32]
- سيبل سي سي
- مخطط
- yacc (مترجم-مترجم آخر من مختبرات Bell)
- جافا سي سي
لغات النظام
لغات برمجة النظام مخصصة للمهام منخفضة المستوى مثل إدارة الذاكرة أو إدارة المهام. تشير لغة برمجة النظام عادةً إلى لغة برمجة تستخدم لبرمجة النظام؛ حيث تم تصميم هذه اللغات لكتابة برامج النظام، والتي تتطلب عادةً أساليب تطوير مختلفة عند مقارنتها ببرامج التطبيق.
System software is computer software designed to operate and control the computer hardware, and to provide a platform for running application software. System software includes software categories such as operating systems, utility software, device drivers, compilers, and linkers. Examples of system languages include:
| Language | Originator | First appeared | Influenced by | Used for |
|---|---|---|---|---|
| ESPOL | Burroughs Corporation | 1961 | ALGOL 60 | MCP |
| PL/I | IBM, SHARE | 1964 | ALGOL 60, FORTRAN, some COBOL | Multics |
| PL360 | Niklaus Wirth | 1968 | ALGOL 60 | ALGOL W |
| C | Dennis Ritchie | 1969 | BCPL | Most operating system kernels, including Windows NT and most Unix-like systems |
| PL/S | IBM | 196x | PL/I | OS/360 |
| BLISS | Carnegie Mellon University | 1970 | ALGOL-PL/I[33] | VMS (portions) |
| PL/8 | IBM | 197x | PL/I | AIX |
| PL/MP and PL/MI | IBM | 197x | PL/I | CPF, OS/400 |
| PL-6 | Honeywell, Inc. | 197x | PL/I | CP-6 |
| SYMPL | CDC | 197x | JOVIAL | NOS subsystems, most compilers, FSE editor |
| C++ | Bjarne Stroustrup | 1979 | C, Simula | See C++ Applications[34] |
| Ada | Jean Ichbiah, S. Tucker Taft | 1983 | ALGOL 68, Pascal, C++, Java, Eiffel | Embedded systems, OS kernels, compilers, games, simulations, CubeSat, air traffic control, and avionics |
| D | Digital Mars | 2001 | C++ | Multiple domains[35] |
| Nim | Andreas Rumpf | 2008 | Ada, Modula-3, Lisp, C++, Object Pascal, Python, Oberon | OS kernels, compilers, games |
| Rust | Mozilla Research[36] | 2010 | C++, Haskell, Erlang, Ruby | Servo layout engine, Redox OS |
| Swift | Apple Inc. | 2014 | C, Objective-C, Rust | macOS, iOS app development[e] |
| Zig | Andrew Kelley | 2016 | C, C++, LLVM IR, Go, Rust, JavaScript | As a replacement for C |
| V (Vlang) | Alexander Medvednikov | 2019 | C, Go, Oberon-2, Rust, Swift, Kotlin | Vinix OS, OS kernels, compilers, games |
Transformation languages
Transformation languages serve the purpose of transforming (translating) source code specified in a certain formal language into a defined destination format code. It is most commonly used in intermediate components of more complex super-systems in order to adopt internal results for input into a succeeding processing routine.
Visual languages
Visual programming languages let users specify programs in a two-(or more)-dimensional way, instead of as one-dimensional text strings, via graphic layouts of various types. Some dataflow programming languages are also visual languages.
Wirth languages
Computer scientist Niklaus Wirth designed and implemented several influential languages.
- ALGOL W
- Euler
- Modula
- Oberon (Oberon, Oberon-07, Oberon-2)
- Pascal
- Object Pascal (umbrella name for Delphi, Free Pascal, Oxygene, others)
XML-based languages
These are languages based on or that operate on XML.
See also
- Programming paradigm
- IEC 61131-3 – a standard for programmable logic controller (PLC) languages
- List of educational programming languages
- List of markup languages
- Esoteric programming language
Notes
- ^ The objects of SQL are collections of database records, called tables. A full programming language can specify algorithms, irrespective of runtime. Thus an algorithm can be considered to generate usable results. In contrast, SQL can only select records that are limited to the current collection, the data at hand in the system, rather than produce a statement of the correctness of the result.
- ^ A notable exception would be the Soviet/Russian 1801 series CPU, which originally used their own domestic ISA, but were later redesigned to be PDP-11 compatible as a policy decision.
- ^ a b Submodels are not listed, only base models.
- ^ The concept of object with the traditional single-dispatch OO semantics is not present in Julia, instead with the more general multiple dispatch on different types at runtime.
- ^ Swift uses automatic reference counting.
References
- ^ "Operators". Retrieved 2024-05-13.
- ^ "wrap".
- ^ ""Aspects in Raku"".
- ^ "Christopher Diggins: What is a concatenative language". Drdobbs.com. 2008-12-31. Retrieved 2013-07-01.
- ^ "Feed operator".
- ^ Documentation » The Python Standard Library » Concurrent Execution
- ^ "Channels and other mechanisms".
- ^ "ProblemSolver".
- ^ a b "Indentation based syntax · rsdn/nemerle Wiki". GitHub. Retrieved 2022-03-18.
- ^ "Solidity: Solidity 0.8.11 documentation".
- ^ "Iterator".
- ^ "Memory Management · BlitzMax". Retrieved 2023-07-14.
- ^ "Pointers · BlitzMax". Retrieved 2023-07-14.
- ^ "BRL.Blitz · BlitzMax". Retrieved 2023-07-14.
- ^ "Using Pointers in an ILE COBOL Program - IBM Documentation". IBM. Retrieved 2023-07-14.
- ^ "HEAP - IBM Documentation". IBM. Retrieved 2023-07-14.
- ^ "SOM-based OO COBOL language elements that are changed - IBM Documentation". IBM. Retrieved 2023-07-14.
- ^ "Memory Allocation — Cython 3.0.0.dev0 documentation". Retrieved 2023-07-14.
- ^ "Garbage Collection". D Programming Language. Retrieved 2022-03-18.
- ^ "Nim's Memory Management". Retrieved 2022-03-18.
- ^ Adobe (February 1999). PostScript Language Reference, third edition (PDF). Addison-Wesley Publishing Company. pp. 56–65.
- ^ "Native code interoperability – Scala Native 0.4.14 documentation". Retrieved 2023-07-05.
- ^ "Projects/Vala/ReferenceHandling - GNOME Wiki!". Archived from the original on 2024-01-21. Retrieved 2022-03-21.
- ^ "Understanding Ownership - The Rust Programming Language". doc.rust-lang.org.
- ^ "Smart Pointers - The Rust Programming Language". doc.rust-lang.org.
- ^ Jon Bentley (AT&T) August 1986 CACM 29 (8) "Little Languages", pp 711-721 from his Programming Pearls column
- ^ "Meta-programming: What, why and how". 2011-12-14.
- ^ "ماكروات إجرائية لتوليد الكود من السمات". doc.rust-lang.org .
- ^ "الفئات والأدوار".
- ^ "بروتوكول الكائن الفوقي (MOP)".
- ^ سكابيا، ماركو. "ما هو AGAL". Adobe Developer Connection . Adobe . تم الاسترجاع في 8 مايو 2018 .
- ^ "القواعد النحوية".
- ^ Wulf, WA; Russell, DB; Haberman, AN (December 1971). "BLISS: A Language for Systems Programming". Communications of the ACM . 14 (12): 780–790. CiteSeerX 10.1.1.691.9765 . doi :10.1145/362919.362936. S2CID 9564255.
- ^ "تطبيقات C++".
- ^ "المنظمات التي تستخدم لغة البرمجة D". لغة البرمجة D.
- ^ "أبحاث موزيلا". 1 يناير 2014.
