زبان برنامه نویسی Lisp چیست | توضیحات کامل زبان برنامه نویسی لیسپ |/ ۲۰۲۲


زبان برنامه نویسی Lisp چیست /۲۰۲۲
فهرست موضوعات مقاله
زبان برنامه نویسی Lisp یک زبان برنامه نویسی کامپیوتری است که در سال ۱۹۵۸ توسط جان مک کارتی توسعه یافت. این زبان مانند زبان برنامه نویسی Prolog بیشتر برای برنامه نویسی با هوش مصنوعی استفاده می شود و با توجه به اینکه زبان Lisp دارای نحو ساده ای است، تحلیل و اجرای آن نسبتا آسان است.
این یک زبان رایج است که می تواند به راحتی برای یک پیاده سازی خاص توسعه یابد. برنامه های نوشته شده در Common LISP به ویژگی های خاص دستگاه مانند طول کلمه و غیره بستگی دارد.
Lisp چیست ؟
پس از ایجاد و توسعه زبان Lisp، ابتدا توسط استیو راسل بر روی یک کامپیوتر IBM 704 اجرا شد.این زبان برای کاربردهای هوش مصنوعی مناسب است زیرا به طور موثر اطلاعات نمادین را پردازش می کند. در طول دهههای ۱۹۸۰ و ۱۹۹۰، تلاشهایی برای ادغام کار گروههای پیادهسازی مختلفی که جایگزین Maclisp شدند، مانند ZetaLisp و NIL انجام شد.
این یک زبان رایج است که می تواند به راحتی برای یک پیاده سازی خاص توسعه یابد. برنامه های نوشته شده در Common LISP به ویژگی های خاص دستگاه مانند طول کلمه و غیره بستگی دارد.
معرفی زبان برنامه نویسی Lisp
Lisp دومین و قدیمی ترین زبان برنامه نویسی سطح بالا بعد از Fortran است و از زمان توسعه خود دستخوش تغییرات زیادی شده است و دارای تعدادی گویش در طول تاریخ است. امروزه گویش های معروف و همه منظوره Lisp Common Lisp و Scheme هستند. زبان برنامه نویسی Lisp توسط جان مک کارتی در سال ۱۹۵۸ زمانی که در موسسه فناوری ماساچوست (MIT) بود اختراع شد.
ویژگی های زبان برنامه نویسی لیسپ
- مستقل از ماشین
- زبان برنامه نویسی go چیست
- متدلوژی طراحی تکراری و گسترش پذیری آسان
- اجازه می دهد تا برنامه ها به صورت پویا به روز شوند
- دارای سطح بالای اشکال زدایی
- ارائه دهنده برنامه نویسی پیشرفته شی گرا
- ارائه سیستم ماکرو مناسب
- ارائه انواع گسترده داده مانند: اشیاء، سازه ها، لیست ها، بردارها، آرایه های قابل تنظیم، جداول هش، و نمادها
- مبتنی بر عبارت
- ارائه سیستم وضعیت شی گرا
- ارائه کتابخانه کامل I / O
- ارائه ساختارهای کنترل گسترده
- پیوستن به هوش مصنوعی
- ترکیب و معناشناسی
- عبارت های لاندا
- Cons ها و لیستها
- ارایهٔ لیست عبارت نمادین
- دستورالعملهای پردازش لیست
- تعامد
- معنائی بودن
- انتزاعی بودن
اپلیکیشن های موفقی که با زبان برنامه نویسی Lisp ساخته شده اند
- Emacs
- G2
- AutoCad
- Igor Engraver
- Yahoo Store
پیشتازی زبان برنامه نویسی Lisp در علم کامپیوتر
زبان برنامه نویسی Lisp که یکی از اولین زبان های ساخته شده بود در بسیاری از زمینه های علم کامپیوتر پیشگام بود که در زیر بعضی از آن ها را مشاهده می کنید
- ساختمان دادهای درخت ( tree data structures)
- مدیریت ذخیره سازی اتوماتیک (automatic storage management)
- نوع داده ای پویا (dynamic typing)
- دستورهای شرطی (conditionals)
- تابع های سطح بالا ( higher-order functions)
- تابع های بازگشتی (recursion)
- self-hosting compile
ساختار کلی زبان برنامه نویسی Lisp
متن برنامه های Lisp معمولاً از نمادها و لیست نمادها تشکیل شده است و به همین دلیل به آن زبان برنامه نویسی Lisp می گویند. یکی از ویژگی های جالب زبان Lisp این است که خود برنامه های Lisp ایندکس می شوند و بنابراین می توان برنامه ها را به عنوان داده تلقی کرد یا داده ها را به عنوان برنامه ارزیابی کرد. Lisp گویش های مختلفی دارد که برخی از آنها قابلیت های شی گرا دارند. از آن جمله می توان به Common Lisp اشاره کرد.
Lisp در ابتدا به عنوان نماد ریاضی و نمادی برای برنامه نویسی کامپیوتری اختراع شد. زبان Lisp به سرعت توجه توسعه دهندگان را به خود جلب کرد، از جمله برای تحقیقات علمی در مورد هوش مصنوعی. Lisp یکی از اولین زبان های برنامه نویسی است و پیشگام بسیاری از ایده ها در علوم کامپیوتر است.
Lisp شامل ساختار داده درختی، مدیریت تعمیر و نگهداری خودکار، برنامه نویسی پویا، برنامه نویسی شی گرا و کامپایلر مستقل است.
داده های زبان برنامه نویسی Lisp
همانطور که در مقدمه بحث کردیم، Lisp بیشتر برای کارهای کامپیوتری و هوش مصنوعی طراحی شده است. در زبان های برنامه نویسی هوش مصنوعی برای بررسی عبارات و گزاره های منطقی به جای انواع داده های عددی به نمادها نیاز داریم. به طور کلی، نوع داده در زبان برنامه نویسی Lisp به شرح زیر است:.
- نوع داده های عددی
- نوع داده ای کاراکتر
- نوع داده های منطقی
- نوع داده ای سمبول
داده های عددی در برنامه نویسی Lisp
انواع داده های عددی در Lisp شامل اعداد صحیح، کاماهای ممیز شناور، اعداد مختلط و کسری است. Lisp معمولی از bignums برای نمایش مقادیر عددی با دقت و اندازه دلخواه استفاده می کند. نوع کسری به طور دقیق کسری را نمایش می دهد، ویژگی که در بسیاری از زبان ها وجود ندارد.
یک Lisp معمولی به ترتیب مقادیر عددی را به ترتیب بین این داده ها وارد می کند. در Lisp می توانید با اعداد بسیار زیاد بدون نگرانی از ریختن آنها کار کنید، زیرا Lisp رنج زیادی را به همراه دارد. در اسکرین شاتی که من تهیه کردم، می توانید انواع داده های عددی را در Lisp مشاهده کنید.
داده های سمبول در برنامه نویسی Lisp
مهم ترین نوع داده در Lisp نوع نمادی است که در هوش مصنوعی، پردازش زبان طبیعی و غیره استفاده می کنیم. در تصویر بعدی لیستی از نمادها تهیه کردیم:
داده های منطقی در برنامه نویسی Lisp
در Lisp نوع منطقی هم داریم که دو حالت درست و غلط را دارد.حالت درست را با true و حالت غلط را با NIL یا () نشان نی دهیم . در شکل زیر من تابع Listp را فرا خوانده ام که خروجی اش یک مقدار منطقی است و می گوید چیزی که تابع رویش فراخوانی شده است لیست است یا نه :
داده های کاراکتر در برنامه نویسی Lisp
در برنامه نویسی Lisp نوع دیگری از داده ها به نام کاراکترها را داریم که محدود به اعداد اسکی نیست و یونیکد را نیز شامل می شود. برای تعریف داده های کاراکتر باید \