تراك (لغة برمجة)
تراك أو لغة حساب وتجميع النص وَبالإنكليزيَّة: Text Reckoning And Compiling، اختصارًا: TRAC. هي لغة برمجة طُوِّرَت بين عامي 1959-1964 من قِبَل كالفين موريس وَنُفِّذَت على معالج البيانات المبرمَج 10 في عام 1964 من قِبَل ل. بيتر دويتش. وَكانت واحدة من «اللُّغات الثلاثة الَّتي نصح بها تيد نيلسون في كتاب مكتبات الحاسوب/آلات الأحلام(Computer Lib/Dream Machines)». بقيت لغة حساب وتجميع النص 64 مُستخدَمة حتَّى 1984 عندها قام كالفين موريس بتحديثها إلى لغة حساب وتجميع النص 84.

تعتبر لغة حساب وتجميع النص لُغَةً مُعتمدة على النص؛ وهي نوع من اللُّغات الكبيرة. وَبعكس اللُّغات الكبيرة التقليديَّة في وقتها مثل تلك الموجودة في المُجَمِّعَاْت، فهي مُصَمَّمَة بإحكام وَمتينة وبعبارة أخرى هي «كاملة». لديها مُعامِلات دخل وَ خرج واضحة، بعكس الدخل وَ الخرج المثاليّ المُضمَن في المستوى الكبير الخارجيّ الأبعد، وبذلك أصبحت أبسط وَأكثر تعدّديَّة للاستعمال من اللُّغات الكبيرة الأقدم.

وتختلف عن اللُّغات الكبيرة التقليديَّة بأنّ أعدادها عبارة عن سلسلة نصيّة من الأرقام، وتُوَفِّر دَوالًّا مُدمَجة «بِدائيّة» لِحسابات الأعداد الطبيعيَّة (دون تخصيص حَدٍّ لأعلى قيمة ممكنة). إحدى جوانب كمالِها -كما يُزعَم- هي حصر مفهوم الغلطة/الخطأ Error في أحداث مثل «قلّة المساحة التخزينيّة اللّازمة للملف» وَ«طلب توسيع سلسلة نصيّة أطول من مساحة المفسّر المخصّصة للعمل»؛ وتوصف هذه العمليّات في لُغات أخرى بأنّها عمليّات غَير شرعيّة لكن تمّ التعامل معها في لغة حساب وتجميع النص بتعريف نتيجة (وَغالبًا ما تكون باطل null) لكلّ احتمال دمج لِلمُعامِلات الوسيطيَّة argument النصيَّة للدوال.

توفّر لغة حساب وتجميع النص آليَّات لاستيعاب المحارِف النحويَّة للُّغة بِكلٍّ من قواعدها النحويَّة الخاصَّة أو بأيِّ مَحرَف آخر، وَبذلك تؤكِّد على السلاسل النصيَّة بكونها سلاسلًا نصيَّة، وَيكون للـشفرة ذاتية التعديل نتيجة «أكثر طبيعيَّة» في التقنيّات البرمجيَّة للغة حساب وتجميع النص من كونها مَيِّزَة خاصَّة.

إنَّ لغة حساب وتجميع النص تشبه أي بي إل أو ليسب، فهي لغة موجهة التعابير (بعكس لغات البرمجة الإجرائيَّة)، وتفتقد المُعامِلات بعكس أي بي إل. يتمّ اعتبارها حالة من البرمجة الوظيفيّة النقيّة.

تشترك مع لغة ليسب بالنحويَّة الَّتي تتضمَّن عمومًا العديد من مستويات الأقواس المُعَشِّشة.

وضع كالفين موريس علامة تجاريّة للاسم «TRAC» بهدف الحفاظ على تحكُّمِه بتعريف اللُّغة، وكان عملًا غير اعتياديّ ومبتكر في ذلك الوقت. وقد أحضر وثيقة مُلكيّة فِكْريّة ضد شركة مُعِدّات رقميّة، مُدَّعيًا وجود عقد لتوصيل حاسوب صغير مُزَوَّدًا بمفسّر لغة حساب وتجميع النص وبذلك تُنْتَهَك حقوقه. «أوّل قضيّة لِـمجلة دكتور دوب، وَهي واحدة من أُولى المنشورات في مجال الحاسوب الشخصيّ، افتتاحيّة لاذعة ضد موريس وَطمعه في حَضّ الناس على لغته البرمجيّة.» انتهت علامته التجاريّة (#72301892) في عام 1992. ومنذ ذلك الحين استُخدِمَ الاسم عدّة مرّات لِمشاريع تقنية معلومات لا علاقة لها بموريس ولا بلغة حساب وتجميع النص، مُتضمَّنةً مشروعًا حاليًّا مفتوح المصدر لِنظام إدارة سُمِّيَ تراك.

لقد استُلهِمَت العديد من اللُّغات من لغة حساب وتجميع النص. ولتفادِ أي مشاكل مع موريس، قاموا بإعادة تسمية أنواع البيانات وَ/أو استخدموا مَحارف مختلفة.في حالة «SAM76»، أُضيفت أنواع بيانات، وبحسب كلاودي كاجان : «السبب هو كون لغة حساب وتجميع النص عبارة عن كلام أطفال»!. وفي حالة مينت ، أُضيفت أنواع بيانات لتمكين الولوج إلى محرر نصّي رفيع.
 عيبٌ واحد محسوس للغة حساب وتجميع النص هو افتقارها لكامل قابليّة التمدّد: بعض وظائفها حسّاسة بحيث تفرّق بين «باطل» null (صفر-محارِف) وَ«مَعدوم» nonexistent (غير محدود)، لكن لا يمكن للدوال المُعَرَّفَة من قِبَل المُستخدِم القيام بذاك التمييز. وَلكن كانت سام76  لُغَةً شبيهةً بلغة حساب وتجميع النص وَقد أزالت تلك الحدود.
 نفّذ رُسْ نيلسون لغة لشركة إيماكس سمّيت مينت(اختصارًا لِـ: MINT Is Not TRAC). وَاستُخدِمَت هذه اللُّغة من قِبَل مُحَرِّر فري دوس الـفري ماكس.

استخدمت لغة حساب وتجميع النص من قِبَل برمجيَّة بروتوكول انتقال الملفّ (FTP) في منتجها حاسوب مكتبيّ/نظام السيطرة على الإرسال(PC/TCP) كما في لُغات طالب المودم النصيَّة(modem dialler scripting language).

استُخدِمَت كـ«واجهة أماميَّة» Front-End على مُعِدَّات كراي للإنتاج الرَّقميّ للأفلام، متضمِّنةً آخر محارب نجمي.

طالع أيضًا 
 تي تي إم، لغة برمجة استُلهِمَت من لغة حساب وتجميع النص.

المراجع

روابط خارجيَّة
The TRAC Foundation (مُؤَرْشَفٌ)
TRAC, a procedure-describing language for the reactive typewriter in the Communications of the ACM, Volume 9 Issue 3, March 1966.
Andrew Walker's TRAC Information page
TRAC entry in the HOPL Encyclopedia of Computer Languages
TRAC information page, at The History of Computing Project, with small code sample and photo of C. M. Mooers.
A TRAC implementation project on سورس فورج. Sadly, this seems to be a dead project.
Oral history interview with Calvin N. Mooers and Charlotte D. Mooers at the Charles Babbage Institute. Interview discusses information retrieval and programming language research from World War II through the early 1990s.

لغات برمجة ماكرو
تراك أو لغة حساب و تجميع النص وَبالإنكليزيَّة : Text Reckoning And Compiling ، اختصارًا : TRAC . هي لغة برمجة طُوِّرَت بين عاميمن قِبَل كالفين موريس وَنُفِّذَت على معالج البيانات المبرمَجفي عاممن قِبَل ل . بيتر دويتش . وَ كانت واحدة من « اللُّغات الثلاثة الَّتي نصح ب ها تيد نيلسون في كتاب مكتبات الحاسوب / آلات الأحلام ( Computer Lib / Dream Mach ines ) » . بقيت لغة حساب و تجميع النصمُستخدَمة حتَّىعند ها قام كالفين موريس بتحديث ها إلى لغة حساب و تجميع النص تعتبر لغة حساب و تجميع النص لُغَةً مُعتمدة على النص ؛ و هي نوع من اللُّغات الكبيرة . وَبعكس اللُّغات الكبيرة التقليديَّة في وقت ها مثل تلك الموجودة في المُجَمِّعَاْت ، ف هي مُصَمَّمَة ب إحكام وَمتينة وبعبارة أخرى هي « كاملة » . لدي ها مُعامِلات دخل وَ خرج واضحة ، ب عكس الدخل وَ الخرج المثالي ي المُضمَن في المستوى الكبير الخارجي ي ال أبعد ، و ب ذٰلك أصبحت أبسط وَأكثر تعدّديَّة لل استعمال من اللُّغات الكبيرة الأقدم . و تختلف عن اللُّغات الكبيرة التقليديَّة بأنّ أعداد ها عبارة عن سلسلة نصيّة من الأرقام ، وتُوَفِّر دَوالًّا مُدمَجة « بِدائيّة » لِحسابات الأعداد الطبيعيَّة ( دون تخصيص حَدٍّ لأعلى قيمة ممكنة ) . إحدى جوانب كمالِ ها - كما يُزعَم - هي حصر مفهوم الغلطة / الخطأ Error في أحداث مثل « قلّة المساحة التخزينيّة اللّازمة للملف » وَ « طلب توسيع سلسلة نصيّة أطول من مساحة المفسّر المخصّصة ل العمل » ؛ وتوصف هذه العمليّات في لُغات أخرى بأنّ ها عمليّات غَير شرعيّة لكن تمّ التعامل مع ها في لغة حساب و تجميع النص ب تعريف نتيجة ( وَغالبًا ما تكون باطل null ) لكلّ احتمال دمج لِلمُعامِلات الوسيطيَّة argument النصيَّة للدوال . توفّر لغة حساب و تجميع النص آليَّات ل استيعاب المحارِف النحويَّة للُّغة بِكلٍّ من قواعد ها النحويَّة الخاصَّة أو بأيِّ مَحرَف آخر ، وَ ب ذٰلك تؤكِّد على السلاسل النصيَّة ب كون ها سلاسلًا نصيَّة ، وَيكون للـشفرة ذاتية التعديل نتيجة « أكثر طبيعيَّة » في التقنيّات البرمجيَّة للغة حساب و تجميع النص من كون ها مَيِّزَة خاصَّة . إنَّ لغة حساب و تجميع النص تشبه أي بي إل أو ليسب ، ف هي لغة موجهة التعابير ( ب عكس لغات البرمجة الإجرائيَّة ) ، وتفتقد المُعامِلات ب عكس أي بي إل . يتمّ اعتبار ها حالة من البرمجة الوظيفيّة النقيّة . تشترك مع لغة ليسب بالنحويَّة الَّتي تتضمَّن عمومًا العديد من مستويات الأقواس المُعَشِّشة . وضع كالفين موريس علامة تجاريّة للاسم « T RAC » ب هدف الحفاظ على تحكُّمِه ب تعريف اللُّغة ، و كان عملًا غير اعتيادي ي ومبتكر في ذلك الوقت . و قد أحضر وثيقة مُلكيّة فِكْريّة ضد شركة مُعِدّات رقميّة ، مُدَّعيًا وجود عقد ل توصيل حاسوب صغير مُزَوَّدًا بمفسّر لغة حساب و تجميع النص و ب ذٰلك تُنْتَهَك حقوق ه . « أوّل قضيّة لِـمجلة دكتور دوب ، وَهي واحدة من أُولى المنشورات في مجال الحاسوب الشخصي ي ، افتتاحيّة لاذعة ضد موريس وَطمع ه في حَضّ الناس على لغته البرمجيّة . » انتهت علامت ه التجاريّة ( # 72301892 ) في عام و منذ ذلك الحين استُخدِمَ الاسم عدّة مرّات لِمشاريع تقنية معلومات لا علاقة ل ها بموريس و لا ب لغة حساب و تجميع النص ، مُتضمَّنةً مشروعًا حاليًّا مفتوح المصدر لِنظام إدارة سُمِّيَ تراك . لقد استُلهِمَت العديد من اللُّغات من لغة حساب و تجميع النص . ولتفادِ أي مشاكل مع موريس ، قاموا ب إعادة تسمية أنواع البيانات وَ / أو استخدموا مَحارف مختلفة . في حالة « S A M76 » ، أُضيفت أنواع بيانات ، و ب حسب كلاودي كاجان\ : « السبب هو كون لغة حساب و تجميع النص عبارة عن كلام أطفال » ! . و في حالة مينت ، أُضيفت أنواع بيانات ل تمكين الولوج إلى محرر نصّي رفيع . عيبٌ واحد محسوس للغة حساب و تجميع النص هو افتقار ها لكامل قابليّة التمدّد : بعض وظائف ها حسّاسة ب حيث تفرّق بين « باطل » null ( صفر - محارِف ) وَ « مَعدوم » nonexistent ( غير محدود ) ، لكن لا يمكن للدوال المُعَرَّفَة من قِبَل المُستخدِم القيام بذاك التمييز . وَ لٰكن كانت سام 76 لُغَةً شبيهةً ب لغة حساب و تجميع النص وَقد أزالت تلك الحدود . نفّذ رُسْ نيلسون لغة ل شركة إيماكس سمّيت مينت ( اختصارًا لِـ : MINT Is Not TRAC ) . وَاستُخدِمَت هذه اللُّغة من قِبَل مُحَرِّر فري دوس الـفري ماكس . استخدمت لغة حساب و تجميع النص من قِبَل برمجيَّة بروتوكول انتقال الملفّ ( F TP ) في منتج ها حاسوب مكتبي ي / نظام السيطرة على ال إرسال ( PC / TCP ) كما في لُغات طالب المودم النصيَّة ( modem dialler scripting language ) . استُخدِمَت كـ « واجهة أماميَّة » Front - End على مُعِدَّات كراي ل الإنتاج الرَّقمي ي للأفلام ، متضمِّنةً آخر محارب نجمي . طالع أيضًا تي تي إم ، لغة برمجة استُلهِمَت من لغة حساب و تجميع النص . المراجع روابط خارجيَّة The TRAC Foundation ( مُؤَرْشَفٌ ) TRAC , a procedure - describing language for the reactive typewriter in the Communications of the ACM , VolumeIssue March A ndrew Walker's TRAC Information page TRAC entry in the HOPL Encyclopedia of Computer Languages TRAC information page , at The History of Computing Project , with sm all code sample and photo of C . M . Mooers . A TRAC implementation project on سورس فورج . Sadly , this seems to be a dead project . Oral history interview with Calvin N . Mooers and Charlotte D . Mooers at the Charles Babbage Institute . Interview discusses information retrieval and programming language research from World War II through the early . لغات برمجة ماكرو