ليسب (LISP) هي لغة برمجة كائنية المنحى (OOP)، طورها جون ماكارثي John McCarthy بين عامي 1959 و1960. تستخدم بشكل أساسي في معالجة قوائم البيانات. وتستخدم هذه اللغة في الأبحاث بشكل كبير، وتعتبر اللغة الأساسية في أبحاث الذكاء الاصطناعي.

وقد جاء اسم هذه اللغة من عبارة (LISt Processing) أي معالجة القوائم، لما لهذه اللغة من قدرة على معالجة القائمة. أما القائمة فيمكن تعريفها بأنها بنية بيانات متعددة العناصر.

إن التركيب النحوي في ليسب والذي يعتمد على أسلوب معالجة القوائم، يعتبر أكثر التراكيب ملائمة لتمثيل المتغيرات المركبة، كالنقاط في التمثيل البياني، حيث تعرّف كل نقطة واحدة عادة بإحداثيات (X, Y, Z). وهذا هو الأسلوب المتبع في تعريف النقاط في برنامج أوتوكاد. ومن هذا المنطق وجد مصممو أوتوكاد أن لغة ليسب هي اللغة الأكثر كفاءة للتعامل مع البرنامج، ويمكن اعتمادها لتصبح أداة تخصيص فعّآلة للأوتوكاد.

تعتبر لغة ليسب الأم لغة كبيرة وواسعة، ولا يحتاج مستخدم أوتوكاد إلى كل مفرداتها. ولذلك انبرى مصممو ليسب وأوتوكاد في Autodesk إلى تطوير نموذج مصغر من ليسب مناسب لاحتياجات أوتوكاد، سمي أوتوليسب (AutoLISP). ولكي يكون نموذج أوتوليسب هذا في متناول الجميع فقد تم دمج مترجم ليسب ضمن أوتوكاد ذاته، يعني هذا أن رزمة أوتوكاد تتضمن مترجم أتوليسب، ولا يحتاج المستخدم للبحث عنه كبرنامج منفصل.

مزايا أوتوليسب
--------------

* تنفيذ الحِسابات المتقدمة.
* التفاعل مع المستخدم.
* إنشاء الرسوم وتحريرها.
* التعامل مع قاعدة بيانات الرسم من ملفات أوتوكاد.إنشاء وقراءة الملفات.
* تنفيذ برامج خارج أوتوكاد.
* تعمل على أي نظام تشغيل يعمل عليه أوتوكاد.
* لغة سهلة التعلم.
* يمكن تحرير ملفات برامج أوتوليسب بأي محرر نصوص يرغب به المستخدم.
* يمكن اختبار وظائف (function) أوتوليسب في نافذة الأوامر في أوتوكاد.
* يمكن لبرامج أوتوليسب أن تُبنى وتفحص على انفراد، ثم تدمج لتكوين نموذج متكامل.
* وجود مجموعة رسائل أخطاء وافية تساعد المستخدم بتعريفه بمكامن الأخطاء في البرنامج.
* تتوفر مجموعة كبيرة من برامج أوتوليسب مجاناً من عدة مصادر.
* تتوفر العديد من المصادر لتعليم أوتوليسب.
* استخدام ليسب كأداة لتكامل التصميم والتصنيع بالحاسوب:

إن الأسلوب الذي يمكن أن يستخدم في تنفيذ هذه المنهجية لا بد وأن يعتمد معالجة أولية من خلال التحكم في نظم التصميم بالحاسوب باستخدام وسيلة تحكم كفء متخصصة مثل لغة أوتوليسب بهدف استخراج إحداثيات كافة كائنات الرسم الذي يمثل الشكل الهندسي للمنتج عند رسمه في نظام التصميم بالحاسوب مثل أوتوكاد، ثم بناء منظومة معالجة لاحقة يتم تنفيذها باستخدام لغة برمجة مرنة ومتينة مثل فيجيوال بسيك، حيث يتم في مرحلة المعالجة الأولية بناء ملف البيانات اللازمة لعمليات التشغيل، مثل نظم القياس ومعدلات التغذية لعمليات الاستقراب والتشطيب وسرع القطع وأعماق القطع والبيانات الأخرى، ثم يتم في مرحلة المعالجة اللاحقة إنشاء ملف التحكم الرقمي باستخدام هذه البيانات وكذلك باستخدام ملف الرسم للمنتج المُعَدّ في مرحلة المعالجة الأولية عند تصميم المنتج في أوتوكاد.

منهجية التنفيذ
--------------

إن الرسم الهندسي للمنتج هو أساس التصنيع، أي أن عمليات القطع اللازمة للإنتاج يتم تحديدها بموجب مقاسات المنتج التي يمثلها الرسم الهندسي لتصميم ذلك المنتج. وهكذا تتم عملية الإنتاج في المصنع باستخدام آلات القطع الأساسية كالمخرطة والفريزة والمقشطة وما شابه. فالعامل الذي يعمل على آلة الخراطة يقوم بإنتاج جزء عند معاينته للرسم الهندسي له مبتدءاً من خامة مقاربة في المقاسات إلى شكل الجزء المراد إنتاجه.

ويتشابه هذا مع آلات التحكم الرقمي ولكن مقاسات الجزء المراد إنتاجه تحدد من خلال برنامج تشغيل الجزء والذي هو انعكاس لرسم المنتج كذلك. ومن هذا المنطلق نجد أن الرسم الهندسي هو أساس التشغيل ومعرفة أبعاد المنتج. فعند رسم أي منتج بواسطة أوتوكاد يتم حفظ الرسم في ملف خاص. فإذا كانت الأبعاد بمقياس رسم 1 : 1 أي ان الرسم يحاكي مقاسات الجزء المراد تصنيعه، فإنه من المنطقي أن نستنتج أننا إذا تمكنا من التحكم في محيط عمل أوتوكاد فمن الممكن أن نستخرج ملفاً يحوي مقاسات وأبعاد المنتج بالأسلوب الذي يُتَبع في كتابة برامج تشغيل الأجزاء على آلات التحكم الرقمي.

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

وهكذا بعد أن تتوفر كافة البيانات الهندسية والتشغيلية يمكن معالجة تلك البيانات وبناء ملف التحكم الرقمي المطلوب. ويمكن أن تتم برمجة المعالجات اللاحقة المكملة باستخدام أي لغة برمجة متينة ذات مستوى عالي مثل لغة الفيجوال بيسك.

مراجع
-----

1. ↑  "معلومات عن أوتوليسب على موقع id.loc.gov". id.loc.gov. مؤرشف من الأصل في 2020-11-02.

  


|  |  |
| --- | --- |
| ضبط استنادي: وطنية عدلها في ويكي بيانات | 
* المكتبة القومية الإسرائيلية (J9U)
* مكتبة الكونغرس (LCNAF)
* قاعدة البيانات الوطنية التشيكية (NLCR AUT)

 |

| * ع
* ن
* ت
لغة برمجة ليسب |
| --- |
| الميزات | 

|  |
| --- |
| 
* جمع القمامة (حاسوب)
* تعبير شرطي
* نظام الأنواع
* Higher-order function
* قائمة متصلة
* M-expression (deprecated)
* Read–eval–print loop
* استدعاء ذاتي (علم الحاسوب)
* S-expression
* استضافة ذاتية محول برمجي
* شجرة (بنية بيانات)

 |
| برمجة كائنية التوجه | 
* Common Lisp Object System (CLOS)
* CommonLoops
* Flavors

 |

 |
| تنفيذ لغات البرمجة | 

|  |  |  |  |  |  |  |  |
| --- | --- | --- | --- | --- | --- | --- | --- |
| وجود المعاييرالتقنية | 

|  |  |
| --- | --- |
| ليسب شائع | 
* Allegro Common Lisp
* Armed Bear Common Lisp (ABCL)
* CLISP
* Clozure CL
* CMU Common Lisp (CMUCL)
* Corman Common Lisp
* Embeddable Common Lisp (ECL)
* GNU Common Lisp (GCL)
* LispWorks
* Macintosh Common Lisp
* Mocl
* Movitz
* بوبلوج
* Steel Bank Common Lisp (SBCL)
* Symbolics Common Lisp

 |
| سكيم | 
* *History*
* Bigloo
* Chez Scheme
* Chicken
* Gambit
* Game Oriented Assembly Lisp (GOAL)
* Ikarus
* JScheme
* Kawa
* Larceny
* MIT/GNU Scheme
* MultiLisp
* Pocket Scheme
* Racket
* RScheme
* Scheme 48
* SCM
* SIOD
* T
* TinyScheme

 |
| ISLISP | 
* OpenLisp

 |

 |
| غير قياسي | 

|  |  |
| --- | --- |
| لوغو | 
* MSWLogo
* NetLogo
* StarLogo
* UCBLogo

 |

* Arc
* أوتوليسب
* BBN LISP
* كلوجر (لغة برمجة)
* ديلان (Apple, *history*)
* Emacs Lisp
* EuLisp
* Franz Lisp, PC-LISP
* Hy
* Interlisp
* Knowledge Engineering Environment
* \*Lisp
* LeLisp
* LFE
* Lisp Machine Lisp
* Maclisp
* MDL
* MLisp
* نيو ليسب
* NIL
* PC-LISP
* Picolisp
* Portable Standard Lisp
* RPL
* S-1 Lisp
* SKILL
* Spice Lisp
* Zetalisp
 |
| نظام التشغيل | 
* Common Lisp Interface Manager, McCLIM
* Genera
* Scsh

 |

 |
| عتاد الحاسوب | 
* Lisp machine
* TI Explorer
* لوحة مفاتيح سبيس كاديت

 |
| مجتمع الممارسة | 

|  |  |
| --- | --- |
| المعايير التقنية | 
* Scheme Requests for Implementation
* Common Lisp HyperSpec
* X3J13

 |
| التعليم | 

|  |  |
| --- | --- |
| كتب | 
* Common Lisp the Language
* How to Design Programs (HTDP)
* On Lisp
* Practical Common Lisp
* Structure and Interpretation of Computer Programs (SICP)

 |
| منهج دراسي | 
* ProgramByDesign

 |

 |
| المنظمات | 

|  |  |
| --- | --- |
| الشركات | 
* أبل
* بي بي إن للتكنولوجيا
* Harlequin
* Lucid Inc.
* سيمبوليكس
* Xanalys

 |
| التعليم | 
* معهد ماساتشوستس للتكنولوجيا (MIT)
* MIT Computer Science and Artificial Intelligence Laboratory (CSAIL)
* Stanford Artificial Intelligence Laboratory
* جامعة كاليفورنيا (بركلي)

 |

 |
| أشخاص | 

|  |
| --- |
| 
* إدموند بيركلي
* دانيال ج. بوبرو
* William Clinger
* R. Kent Dybvig
* Matthias Felleisen
* Robert Bruce Findler
* Matthew Flatt
* فيليس فوكس
* بول غراهام
* Richard Greenblatt
* Timothy P. Hart
* لويس هودز
* Mike Levin
* David Luckham
* جون مكارثي (عالم)
* روبرت تابان موريس
* جويل موزس
* ديفيد بارك (مهندس)
* ستيف راسيل (مهندس)
* ريتشارد ستولمن

 |
| ليسب شائع | 
* سكوت فالمان
* Richard P. Gabriel
* Philip Greenspun (10th rule)
* David A. Moon
* Kent Pitman
* قاي إل. ستيل
* Daniel Weinreb

 |
| سكيم | 
* Shriram Krishnamurthi
* قاي إل. ستيل
* Gerald Jay Sussman
* Julie Sussman

 |
| لوغو | 
* هال أبيلسون
* Denison Bollay
* Wally Feurzeig
* برايان هارفي (عالم حاسوب)
* سيمور بابيرت
* Mitchel Resnick
* سينثيا سولومون

 |

 |

 |
| 
* صفحة تصنيف **تصنيف:ليسب**
* صفحة تصنيف **تصنيف**
* **قائمة**

 |

* أيقونة بوابةبوابة تصميم
* أيقونة بوابةبوابة برمجيات