في حال كنت مجرّد “هاوٍ” في مجال التّقنيّة، أو مبرمجًا يقرأ عن التّاريخ والحقائق العشوائيّة لهذه “الحرفة” الجميلة، فلا بدّ وأنك صادفت هذا الاسم المثير في عددٍ لا بأس به من المراجع، والكتب؛ لغة ليسب LISP !

البعض يثني عليها باعتبارها معجزة البرمجيات، وأفضل “أداةٍ” للبرمجة، ويتجرأَ على تصنيفها كواحدةٍ من أفضل لغات البرمجة على الإطلاق (حتى لو كان ذلك غير منطقيٍّ على الإطلاق)!

ولكن الأمر الأكيد هنا، أن ثلّةً من القراصنة، والهكر “العظماء” يحبّون “LISP”. 1

“إنّ لغة ليسب LISP ـ على سبيل المزاح ـ هي الطريقة الأكثر ذكاءً لإساءة استخدام جهاز الكمبيوتر”.

ماذا تمثّل لغة ليسب LISP

LISP هي اختصارٌ لمصطلح “list processing”؛ أي بمعنى معالجة القوائم، وهي لغةٌ برمجةٍ تم تصميمها لتسهيل معالجة سلاسل البيانات، وتُعتبر شائعة الاستخدام للذّكاء الاصطناعيّ (AI) في مجال البرمجة، وهي واحدةٌ من أقدم لغات البرمجة التي لا تزال تُستخدم على نطاقٍ واسعٍ نسبيًّا.

في لغة ليسب LISP يتم التعبير عن جميع الحسابات كدالّة لكائنٍ واحدٍ على الأقلّ، ويمكن أن تكون الكائنات عبارةً عن دوالّ (وظائف) أخرى، أو عناصر بيانات (مثل الثوابت أو المتغيرات)، أو هياكل بيانات.

إن قدرة LISP على المعالجة باستخدام “التعبيرات الرمزيّة” بدلًا من الأرقام تجعلها ملائمةً لتطبيقات الذكاء الاصطناعي.2 3

تاريخ لغة ليسب LISP

اختُرِعت لغة ليسب LISP من قبل “جون مكارثي” في عام 1958، بعد فترةٍ وجيزةٍ من تطوّر FORTRAN، وذلك أثناء تواجده في معهد ماساتشوستس للتكنولوجيا (MIT).

تم تنفيذها لأول مرة بواسطة Steve Russell على كمبيوتر IBM 704، وتُعدّ اليوم ثاني أقدم لغة برمجةٍ عاليةٍ المستوى بعد Fortran، وقد تغيرت كثيرًا منذ أيامها الأولى، إذ شهدت إحداث العديد من الإصدارات، أو ما يُسمّى “اللهجات” على مدار تاريخها، ولعلّ أكثرها شهرةً هي Common Lisp، وSchem.

مميزات “Common Lisp”

  • مستقلة عن الآلة.
  • تستخدم منهجية التصميم التكراري، وسهولة، وقابليّة الّتوسّع.
  • تسمح بتحديث البرامج بشكلٍ حيويٍّ.
  • توفر تصحيح الأخطاء على مستوىً عالٍ.
  • توفر برمجةً كائنيّة التوجّه على مستوىً متقدّم.
  • توفر نظام الماكرو الملائم.
  • توفر أنواع بيانات واسعة النطاق مثل، الكائنات، الهياكل، القوائم، المتجهات، المصفوفات القابلة للتعديل، والرموز.
  • قائمة على التعبير (أو الاصطلاح) ” expression”.
  • توفر مكتبة I / O كاملة.
  • توفّر هياكل مراقبة واسعة النطاق.

اللبنات الأساسية في لغة ليسب LISP

تتكون برامج لغة ليسب LISP من ثلاث وحدات بناءٍ أساسية:

  1. ذرة: عبارةٌ عن رقمٍ، أو سلسلةٍ من المحارف المتجاورة، وتشمل الأرقام والحروف الخاصّة.
  2. قائمة: هي تسلسلٌ من الذرات، أو القوائم، أو مجموعة منهما، وتُحاط بقوسين.
  3. سلسلة: هي مجموعةٌ من الأحرف بين علامتي اقتباس مزدوجة.

تطبيقات ناجحة وكبيرة بُنيت باستخدام Lisp

  • Emacs؛ وهو محرر ومعالج نصّي، يمكن من تصفح المواقع، والاطلاع على البريد الإلكتروني، وتنظيم المواعيد، بالإضافة إلى خدماتٍ أخرى من بينها: الدردشة على IRC، والاستماع إلى ملفات MP3.
  • G2.
  • AutoCad؛ وهو برنامج الرسوم، والتصميمات الشهير.
  • Igor Engraver؛ وهو برنامج تدوين موسيقى لأنظمة ماكنتوش، وويندوز.
  • Yahoo Store؛ وهو تطبيق برمجيات عربة التسوق، الذي يقدم لمشغلي ومالكي الشركات الصغيرة مجموعةً متنوعةً من الأدوات والميزات لمساعدتهم على بناء متاجرهم على الإنترنت.

كيف يمكن تعلّم لغة ليسب LISP

إنّ الطريقة الأساسية لتعلّم أي لغة برمجةٍ هي كتابة البرامج بواسطتها.
مع وجود اثنتين من اللهجات الرئيسية للاختيار بينهما: Scheme، وCommon Lisp، فإنّ كلًّا منهما لها مزايا وعيوب، ولكن الاختلافات بينهما صغيرةٌ مقارنةً بالاختلافات بينها وبين اللغات الأخرى، لذلك إذا كنت ترغب في البدء في تعلم Lisp، فلا يهم ما تختاره.

هناك كتبٌ جيدةٌ عن كلٍّ من اللهجات، والعديد من التطبيقات المجانية الجيدة، وعلى العموم، فإذا واجهتك مشكلة ما، يمكنك دائمًا التردّد على مجتمعات دعم المطوّرين، فالناس هناك دائمًا على استعدادٍ لمساعدة المبتدئين. 4

المراجع

  • 1 ، The Lisp approach to AI (Part 1)، من موقع: www.medium.com، اطّلع عليه بتاريخ 17-12-2018
  • 2 ، LISP Tutorial، من موقع: www.tutorialspoint.com، اطّلع عليه بتاريخ 17-12-2018
  • 3 ، LISP (list processing)، من موقع: www.searchmicroservices.techtarget.com، اطّلع عليه بتاريخ 17-12-2018
  • 4 ، What is Lisp?، من موقع: www.paulgraham.com، اطّلع عليه بتاريخ 17-12-2018