لغة وولفرام

لغة وولفرام ( تُلفظ / ˈwʊlfrəm / WUUL - frəm ) هي لغة برمجة احتكارية، [ 7 ] عالية المستوى ومتعددة الأنماط، [ 8 ] طورتها شركة وولفرام للأبحاث . تُركز هذه اللغة على الحساب الرمزي ، والبرمجة الوظيفية ، والبرمجة القائمة على القواعد ، [ 9 ] ويمكنها استخدام هياكل وبيانات متنوعة. [ 9 ] وهي لغة البرمجة المستخدمة في برنامج الحساب الرمزي الرياضي ماثيماتيكا . [ 10 ]

تاريخ

كانت لغة Wolfram جزءًا من الإصدار الأولي من Mathematica في عام 1988. [ 11 ]

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

أضافت وولفرام أيضًا ميزات لمهام أكثر تعقيدًا، مثل النمذجة ثلاثية الأبعاد. [ 13 ]

تم اعتماد اسم للغة أخيرًا في عام 2013، عندما قررت شركة Wolfram Research إتاحة نسخة مجانية من محرك اللغة لمستخدمي Raspberry Pi ، وكان عليهم اختيار اسم لها. [ 14 ] أُدرجت اللغة ضمن حزمة البرامج الموصى بها التي توفرها مؤسسة Raspberry Pi للمبتدئين، مما أثار بعض الجدل نظرًا لطبيعة لغة Wolfram الاحتكارية . [ 15 ] أُعلن عن خطط لنقل لغة Wolfram إلى Intel Edison بعد طرح اللوحة في معرض CES 2014، لكنها لم تُصدر. [ 16 ] في عام 2019، أُضيف رابط لجعل مكتبات Wolfram متوافقة مع محرك الألعاب Unity ، مما أتاح لمطوري الألعاب الوصول إلى وظائف اللغة عالية المستوى. [ 17 ] [ 18 ]

بناء الجملة

تتشابه بنية لغة Wolfram بشكل عام مع تعبير M الخاص بلغة LISP في الستينيات ، مع دعم عوامل التشغيل الوسطية واستدعاءات الدوال "باستخدام تدوين الدوال".

الأساسيات

مرحبا بالعالم

لطباعة عبارة "Hello, World!" بلغة Wolfram، اتبع الخطوات التالية:

اطبع [ "مرحباً بالعالم!" ]

الحساب

تكتب لغة Wolfram التعبيرات الحسابية الأساسية باستخدام عوامل التشغيل الوسطية .

(* هذا تعليق. *)4 + 3 (* = 7 *)1 + 2 * ( 3 + 4 ) (* = 15 *) (* لاحظ أنه يمكن حذف عملية الضرب: 1 + 2 (3 + 4) *)(* عمليات القسمة تُرجع أعدادًا نسبية: *) 6 / 4 (* = 3/2 *)

يتم الإشارة إلى استدعاءات الدوال باستخدام الأقواس المربعة:

Sin [ Pi ] (* = 0 *)(* هذه هي الدالة لتحويل الأعداد النسبية إلى أعداد عشرية: *) N [ 3 / 2 ] (* = 1.5 *)

تُحاط القوائم بأقواس معقوفة:

القائمة الفردية = { 1 ، 3 ، 5 } (* = {1،3،5} *)

سكر تركيبي

قد تنحرف اللغة عن نموذج التعبير M عندما تتوفر طريقة بديلة وأكثر ملاءمة للبشر لعرض التعبير:

  • يتم استخدام عدد من قواعد التنسيق في هذه اللغة، بما في ذلك قواعد تنسيق TeXFormالتعبيرات المكتوبة وقواعد InputFormتنسيق إدخال اللغة.
  • يمكن أيضًا تطبيق الدوال باستخدام التعبير البادئ @والتعبير اللاحق //.
  • يمكن الإشارة إلى المشتقات باستخدام الفاصلة العليا '.
  • تعتبر عوامل التشغيل الوسطية نفسها بمثابة " سكر " لنظام تدوين الدوال .

يقوم برنامج FullFormالتنسيق بإزالة السكريات من المدخلات: [ 19 ]

FullForm [ 1 + 2 ] (* = Plus[1, 2] *)

البرمجة الوظيفية

يُشجع استخدام تقنية الكاري .

مطابقة الأنماط

تُعتبر الدوال في لغة وولفرام بمثابة أنماط بسيطة للاستبدال:

F [ x_ ] := x ^ 0

هذا :=عامل "SetDelayed"، بحيث لا يتم البحث عن x فورًا. x_وهو اختصار برمجي لـ Pattern[x, Blank[]]، أي "فراغ" لأي قيمة تحل محل x في بقية التقييم.

يتم التعبير عن تكرار خوارزمية فرز الفقاعات على النحو التالي:

sortRule := { x___ , y_ , z_ , k___ } /; y > z -> { x , z , y , k } (* Rule[Condition[List[PatternSequence[x, BlankNullSequence[]], Pattern[y, Blank[]], Pattern[z, Blank[]], PatternSequence[k, BlankNullSequence[]]], Greater[y, z]], List[x, z, y, k]] *)

العامل /;هو "شرط"، لذا فإن القاعدة لا تنطبق إلا عندما يكون الشرط صحيحًا y>z. أما الشرطات السفلية الثلاث فهي صيغة لـ " BlankNullSequence[]سلسلة" يمكن أن تكون فارغة.

يمكن استخدام عامل التشغيل ReplaceRepeated //.لتطبيق هذه القاعدة بشكل متكرر، حتى لا يحدث أي تغيير آخر:

{ 9 , 5 , 3 , 1 , 2 , 4 } // . sortRule (* = ReplaceRepeated[{ 9, 5, 3, 1, 2, 4 }, sortRule] *) (* = {1, 2, 3, 4, 5, 9} *)

يُسهّل نظام مطابقة الأنماط أيضًا التكامل والاستنباط القائمين على القواعد. فيما يلي مقتطفات من حزمة قواعد روبي: [ 20 ]

(* قاعدة المقلوب *) Int [ 1 / x_ , x_Symbol ] := Log [ x ]; (* قاعدة القوة *) Int [ x_ ^ m_ . , x_Symbol ] := x ^ ( m + 1 ) / ( m + 1 ) /; FreeQ [ m , x ] && NeQ [ m , -1 ]

التطبيقات

يُعدّ برنامج Mathematica والخدمات الإلكترونية المرتبطة به التطبيق الرسمي والمرجعي للغة Wolfram، وهما برنامجان مغلقا المصدر. [ 21 ] مع ذلك، أصدرت Wolfram Research محللًا للغة بموجب ترخيص MIT مفتوح المصدر . [ 22 ] طُوّر المحلل في الأصل بلغة C++ ، ثم أُعيدت كتابته بلغة Rust في عام 2023. الكتاب المرجعي متاح للجميع . [ 23 ]

على مدار أكثر من ثلاثة عقود من وجود لغة وولفرام، تم تطوير عدد من التطبيقات مفتوحة المصدر من جهات خارجية. ويُعدّ تطبيق MockMMA لريتشارد فيتمان، الذي طُوّر عام ١٩٩١، ذا أهمية تاريخية، لكونه أقدم تطبيق مُعاد تنفيذه، ولأنه تلقى إنذارًا من وولفرام بالتوقف عن استخدامه. ولا تزال التطبيقات الحديثة قيد الصيانة حتى أبريل ٢٠٢٠. تتضمن هذه التطبيقات Symja في Java ، وexpreduce في Golang ، و Mathics القائمة على SymPy . [ 24 ] تركز هذه التطبيقات على اللغة الأساسية ونظام الجبر الحاسوبي الذي تتضمنه، وليس على ميزات "قاعدة المعرفة" عبر الإنترنت الخاصة بـ Wolfram.

في عام ٢٠١٩، [ ٢٥ ] أصدرت شركة Wolfram Research برنامج Wolfram Engine المجاني ، لاستخدامه كمكتبة برمجية في البرامج غير التجارية. يوفر هذا المحرك، المخصص للمطورين فقط، واجهة سطر أوامر لمُقيّم Mathematica (مع عدد محدود من النوى)، ويتطلب التسجيل وتفعيل الترخيص عبر الإنترنت. يوفر مشروع Jupyter Notebook/Lab المجاني بروتوكولًا (ZMQ) لربط دفاتر الملاحظات الخاصة به بلغات برمجة مختلفة، وهو متاح كبديل لواجهة سطر الأوامر النصية فقط عبر نواة Wolfram لـ Jupyter . [ ٢٦ ]

تسمية

تمت تسمية اللغة رسميًا في يونيو 2013، وقد استُخدمت كخلفية برمجية لبرنامج Mathematica وتقنيات Wolfram الأخرى لأكثر من 30 عامًا. [ 27 ] [ 28 ]

انظر أيضاً

مراجع

  1. "إطلاق الإصدار 15 من Wolfram Language & Mathematica: ذكاء اصطناعي مدمج (مفيد) والعديد من الوظائف الأساسية الجديدة" . كتابات ستيفن وولفرام . 16-06-2026 . تاريخ الاسترجاع: 16-06-2026 .
  2. وولفرام، ستيفن. "تيني فيلتمان (1931-2021): من لغة التجميع إلى جائزة نوبل - كتابات ستيفن وولفرام" . stephenwolfram.comwritings . تم الاطلاع عليه بتاريخ 22 يناير 2021 .
  3. مايدر، رومان إي. (1994). مبرمج ماثيماتيكا® . دار النشر الأكاديمية، ص 6. ISBN  978-1-48321-415-3.
  4. "أسئلة وأجوبة حول لغة وولفرام" . بحث وولفرام . تم الاطلاع عليه بتاريخ 2016-12-05 .
  5. سومرز، جيمس. "الورقة العلمية عفا عليها الزمن" . مجلة ذا أتلانتيك . تم الاطلاع عليه بتاريخ 10 أبريل 2018 .
  6. هيكي، ريتش. "رف كتب كلوجور" . Amazon.com . مؤرشف من الأصل بتاريخ 2017-10-03 . تم الاطلاع عليه بتاريخ 2020-05-06 .
  7. "Wolfram Open Code, Open Source, Open Data, Open Resources" . www.wolfram.com . تاريخ الاسترجاع: 2023-02-03 .
  8. "ملاحظات لخبراء لغات البرمجة حول لغة وولفرام" . Wolfram.com . تم الاطلاع عليه بتاريخ 5 نوفمبر 2015 .
  9. ١ ٢ "ماذا ينبغي أن نسمي لغة ماثيماتيكا؟ - مدونة ستيفن وولفرام" . Blog.stephenwolfram.com. ١٢ فبراير ٢٠١٣. تم الاطلاع عليه بتاريخ ٥ نوفمبر ٢٠١٥ .
  10. "الاحتفال بربع قرن من برنامج Mathematica - مدونة Wolfram" . Blog.wolfram.com. 23 يونيو 2013. تم الاطلاع عليه بتاريخ 5 نوفمبر 2015 .
  11. وولفرام (1988). ماثيماتيكا، نظام لإجراء العمليات الحسابية بواسطة الحاسوب.
  12. هايز، برايان (1990-01-01). "أفكار حول برنامج ماثيماتيكا" (ملف PDF) . بيكسل . مؤرشف من النسخة الأصلية (ملف PDF) بتاريخ 2014-07-15 . تم الاطلاع عليه بتاريخ 2020-04-14 .
  13. "مركز توثيق لغة ونظام وولفرام" . Reference.wolfram.com . تم الاطلاع عليه بتاريخ 5 نوفمبر 2015 .
  14. "تثبيت لغة وولفرام (وماثيماتيكا) على كل جهاز راسبيري باي - مدونة وولفرام" . Blog.wolfram.com. 21 نوفمبر 2013. تاريخ الاسترجاع : 5 نوفمبر 2015 .
  15. شير، إيان (22 نوفمبر 2013). "برنامج Mathematica المميز مجانًا على Raspberry Pi منخفض التكلفة - CNET" . News.cnet.com . تم الاطلاع عليه بتاريخ 5 نوفمبر 2015 .
  16. ^ دانيال أي جي سوكولوف (22/11/2014). "Intels Edison: Pentium-System im Format einer SD-Karte | heise online" . Heise.de . تم الاسترجاع 2015/11/05 .
  17. «سيتم دمج لغة وولفرام قريبًا في يونيتي» . غاماسوترا. 10 مارس 2014. تم الاطلاع عليه بتاريخ 5 نوفمبر 2015 .
  18. "هل توجد طريقة لاستخدام لغة وولفرام في يونيتي ثري دي؟" . وولفرام. 2017. مؤرشف من الأصل في 19 يوليو 2017. تم الاطلاع عليه في 11 أبريل 2017 .
  19. "FullForm" . وثائق لغة Wolfram .
  20. "مرحباً بكم في روبي، أداة التكامل القائمة على القواعد" . التكامل القائم على القواعد .
  21. ماكلون، ج (2 أبريل 2019). "لماذا لا تكون تقنية وولفرام مفتوحة المصدر - اثنا عشر سببًا - مدونة وولفرام" .
  22. "محلل الشفرة: تحليل شفرة مصدر لغة وولفرام كأشجار بناء جملة مجردة (ASTs) أو أشجار بناء جملة ملموسة (CSTs)" . جيت هاب . شركة وولفرام للأبحاث.
  23. " مواد مفتوحة من Wolfram: شفرة مفتوحة، مصدر مفتوح، بيانات مفتوحة، موارد مفتوحة" . www.wolfram.com
  24. سيمون. "هل توجد نسخة مفتوحة المصدر من لغة ماثيماتيكا؟" . موقع تبادل أكواد ماثيماتيكا .
  25. وولفرام، ستيفن (21 مايو 2019). "الإطلاق اليوم: محرك وولفرام المجاني للمطورين - كتابات ستيفن وولفرام" .
  26. "محرك Wolfram مجاني للمطورين" . www.wolfram.com . تم الاطلاع عليه بتاريخ 19 يناير 2021 .
  27. كاستريناكيس، جاكوب (14 نوفمبر 2013). "وولفرام تعلن عن مشروعها "الأهم": لغة برمجة تُحاكي العالم" . ذا فيرج . تاريخ الاسترجاع: 21 سبتمبر 2023 .
  28. "شيءٌ عظيمٌ قادم: أهم مشروع تكنولوجي لدينا حتى الآن - كتابات ستيفن وولفرام" . writings.stephenwolfram.com . 13 نوفمبر 2013. تاريخ الاطلاع: 21 سبتمبر 2023 .