فورتريس (لغة برمجة)
فورتريس هي لغة برمجة تجريبية متوقفة، كانت مخصصة للحوسبة عالية الأداء ، وقد طورتها شركة صن مايكروسيستمز بتمويل من مشروع أنظمة الحوسبة عالية الإنتاجية التابع لوكالة مشاريع البحوث الدفاعية المتقدمة ( داربا ) . وكان من بين مصممي اللغة جاي إل. ستيل جونيور ، الذي تشمل أعماله السابقة لغات سكيم ، وكومون ليسب ، وجافا .
تصميم
كان الهدف من اسم Fortress هو الإشارة إلى لغة Fortran آمنة ، أي "لغة للحوسبة عالية الأداء توفر تجريدًا وأمانًا للأنواع يضاهي مبادئ لغات البرمجة الحديثة". [ 1 ] تضمنت ميزات اللغة التوازي الضمني ، ودعم Unicode ، وبنية نحوية ملموسة مشابهة للرموز الرياضية . لم تُصمم اللغة لتكون مشابهة لـ Fortran، بل تُشبه من الناحية النحوية لغات Scala و Standard ML و Haskell . صُممت Fortress منذ البداية لتضم العديد من أنماط التنسيق النحوي. يمكن عرض شفرة المصدر كنص ASCII ، أو Unicode ، أو كصورة مُنسقة. وهذا يسمح بدعم الرموز الرياضية وغيرها من الرموز في المخرجات المعروضة لتسهيل القراءة. تقوم أداة fortify، المبنية على Emacs ، بتحويل شفرة مصدر Fortress المكتوبة بنظام ASCII إلى مخرجات LaTeX . [ 2 ]
صُممت لغة Fortress لتكون متوازية للغاية، وغنية بالوظائف المُضمنة في مكتبات، مستوحاة من لغة Java. فعلى سبيل المثال، forكانت حلقة التكرار عملية متوازية، لا تتكرر بالضرورة بشكل خطي تمامًا، وذلك بحسب التنفيذ الأساسي. ومع ذلك، forكانت هذه الحلقة دالة مكتبية، ويمكن استبدالها بنسخة أخرى حسب رغبة المبرمج، بدلًا من أن تكون جزءًا لا يتجزأ من اللغة.
حرص مصممو برنامج Fortress على جعل صيغته أقرب ما يمكن إلى الشفرة الزائفة ، وقاموا بتحليل مئات الأوراق البحثية والدورات والكتب والمجلات في علوم الحاسوب والرياضيات التي تستخدم الشفرة الزائفة لاستخلاص أنماط الاستخدام الشائعة للغة الإنجليزية والرموز الرياضية القياسية عند استخدامها لتمثيل الخوارزميات في الشفرة الزائفة. ثم قاموا بتصميم المترجم بحيث يحافظ على تطابق تام بين الشفرة الزائفة وبرنامج Fortress القابل للتنفيذ. [ 3 ]
تاريخ
كانت لغة Fortress واحدة من ثلاث لغات تم إنشاؤها بتمويل من مشروع أنظمة الحوسبة عالية الإنتاجية ؛ واللغتان الأخريان هما X10 من شركة IBM و Chapel من شركة Cray . في نوفمبر 2006، عندما وافقت وكالة مشاريع الأبحاث الدفاعية المتقدمة (DARPA) على تمويل المرحلة الثالثة من مشروع HPCS، تم تمويل X10 و Chapel، ولكن لم يتم تمويل Fortress، [ 4 ] مما أدى إلى حالة من عدم اليقين بشأن مستقبل Fortress.
في يناير 2007، تم إصدار Fortress كمصدر مفتوح. [ 5 ] تم إصدار الإصدار 1.0 من مواصفات لغة Fortress في أبريل 2008، إلى جانب تطبيق متوافق يستهدف آلة جافا الافتراضية .
في يوليو 2012، أعلن ستيل أن التطوير النشط لـ Fortress سيتوقف بعد فترة تهدئة قصيرة، مشيرًا إلى وجود صعوبات في استخدام نظام أنواع Fortress على الآلات الافتراضية الحالية. [ 6 ]
مثال: مرحباً بالعالم!
هذه هي نسخة Fortress من برنامج "Hello, World!" النموذجي ، كما هو موضح في بطاقة مرجع Fortress : [ 2 ]
مكون مرحبا تصدير ملف تنفيذي run() = println("Hello, World!") نهاية يجعل أمر التصدير البرنامج قابلاً للتنفيذ ، ويجب على كل برنامج قابل للتنفيذ في Fortress تنفيذ الدالة run() . يجب أن يحمل الملف الذي يُحفظ فيه البرنامج للتجميع نفس الاسم المحدد في أمر المكون الأولي . أما الدالة println() فهي المسؤولة عن إخراج عبارة "Hello, World!" على الشاشة.
انظر أيضاً
مراجع
- ↑ إريك ألين؛ ديفيد تشيس؛ جو هاليت؛ فيكتور لوتشانغكو؛ جان ويليم مايسن؛ سوكيونغ ريو؛ غاي إل. ستيل الابن؛ سام توبين هوخشتات؛ وآخرون. (31 مارس 2008). "مواصفات لغة فورتريس: الإصدار 1.0" (ملف PDF) . research.sun.com . صن مايكروسيستمز. مؤرشف من النسخة الأصلية (ملف PDF) بتاريخ 20 يناير 2013.
- 1 2 "بطاقة مرجعية لمشروع فورتريس" (ملف PDF) . Java.net . مؤرشفة من الأصل (ملف PDF) بتاريخ 4 مارس 2016. تم الاطلاع عليها بتاريخ 24 سبتمبر 2016 .
- ↑ "الرمز الزائف - معايير الرمز الزائف؟" . ستاك أوفرفلو. 16-10-2009 . تم الاطلاع عليه بتاريخ 24-09-2016 .
- ↑ جوش سيمونز (22 نوفمبر 2006). "لم يتم اختيار صن للمرحلة الثالثة من برنامج الحوسبة عالية الأداء: أفكاري" . سرة نرجس . مؤرشف من الأصل في 6 يناير 2012 - عبر blogs.oracle.com.
- ↑ "ما هو المميز في فورتريس" . gbcacm.org . فرع بوسطن الكبرى لجمعية آلات الحوسبة (ACM).
{{cite web}}: CS1 maint: deprecated archiveal service ( link ) - ↑ Gls-Oracle (2012-07-20). "انتهاء مشروع Fortress" . مشروع Fortress . مؤرشف من الأصل بتاريخ 2016-09-24 – عبر blogs.oracle.com.
روابط خارجية
- أرشيف موقع المشروع
- الجدول الزمني الفعال لتنفيذ المواصفات والمرجع
- لغات برمجة المصفوفات
- لغات البرمجة المتزامنة
- لغات البرمجة المتوقفة
- عائلة لغات البرمجة فورتران
- لغات برمجة JVM
- لغات البرمجة العددية
- لغات البرمجة التي تدعم وحدات القياس
- لغات البرمجة التي تم إنشاؤها في عام 2006
- البرامج التي تستخدم ترخيص BSD
