کلمه جو
صفحه اصلی

لیسپ

دانشنامه عمومی

لیسپ یک زبان برنامه نویسی رایانه است که در سال ۱۹۵۸ به وسیلهٔ جان مک کارتی ابداع شده است. این زبان، مانند زبان برنامه نویسی پرولوگ، بیشتر برای برنامه نویسی هوش مصنوعی مورد استفاده قرار می گیرد و با توجه به اینکه زبان لیسپ از نحو ساده ای برخوردار است، تجزیه و پیاده سازی آن نسبتاً با سهولت انجام می شود.
اختراع ها در ایالات متحده (۱۹۴۶–۱۹۹۱)
متن برنامه های لیسپ عموماً از نمادها و فهرست هایی از نمادها تشکیل می شود و بدین خاطر است که این زبان لیسپ (مخفف پردازش فهرست) نامیده شده است. یکی از ویژگی های جالب زبان لیسپ این است که خود برنامه های لیسپ نیز فهرست هستند و بنابراین، می توان با برنامه ها به عنوان داده ها رفتار کرد یا داده ها را به عنوان برنامه ارزیابی نمود.لیسپ دارای گویش های مختلفی است که بعضی از آن ها دارای قابلیت های شیءگرا نیز هستند. از این میان می توان به کامن لیسپ اشاره کرد.در ابتدا لیسپ به عنوان علامتگذاری و نمادسازی ریاضیات و برای برنامه نویسی رایانه ابداع شد. زبان لیسپ به سرعت مورد توجه برنامه نویسان از جمله برای تحقیقات علمی هوش مصنوعی قرار گرفت. لیسپ یکی از ابتدایی ترین زبان های برنامه نویسی می باشد و در علوم رایانه بر بسیاری از تفکرات و ایده ها پیشگام بود. لیسپ شامل ساختمان دادهٔ درخت، مدیریت نگهداری اتوماتیک، برنامه نویسی پویا، برنامه نویسی شیء گرا و کامپایلر مستقل می باشد.
نام لیسپ از زبان پردازش لیست گرفته شده است. لینک لیست یکی از قسمت های اصلی ساختمان دادهٔ زبان لیسپ است و سورس کد لیسپ از لیست ها ساخته شده است و می تواند به عنوان ساختمان داده عمل کند. پیشرفت و توسعهٔ سیستم ماکرو به برنامه نویسان اجازه می دهد تا ترکیب های جدید ویا حتی حیطهٔ زبان های برنامه نویسی ویژه ای را ایجاد کرده و در زبان لیسپ تعبیه کنند.قابلیت تبادل کدها و داده ها به زبان لیسپ قابلیت تشخیص ترکیب ها را می دهد، همهٔ کدهای برنامه به صورت عبارت های نمادین یا لیست های پرانتزگذاری شده نوشته شده اند.یک تابع می تواند توسط خودش ویا توابع دیگر فراخوانی شود ویا طبق قواعد نحوی نوشتن یک لیست و استفاده از اول نام عملگرها و پیروی کردن از قواعد آرگومان ها ایجاد شود. به عنوان مثال تابع fدارای ۳ آرگومان می باشد و به صورت مقابل توانائی فراخوانی را دارد و مورد استفاده قرار می گیرد:
(f x y z)تاریخچه زبان لیسپویرایشزبان برنامه نویسی لیسپ توسط جان مک کارتی در سال ۱۹۵۸ در حالی که در مؤسسهٔ فناوری ماساچوست (MIT) بود ابداع شد. مک کارتی طرح خودش را در یک مقالهٔ مرتبط با انجمن ماشین آلات کامپیوتری در سال ۱۹۶۰ منتشر کرد. طرح وی در ابتدا به صورت «بخش اول:توابع بازگشتی از دید عبارت های نمادین و محاسبهٔ آن ها توسط ماشین» ارائه شد و بخش دوم آن هیچگاه منتشر نشد. وی نشان داد که با یک تعداد ساده و کمی از عملگرها و علامت گذاری توابع می توان یک زبان تورینگ کامل برای الگوریتم ها ایجاد کرد.زبان پردازش اطلاعات اولین زبان هوش مصنوعی بود. از سال ۱۹۵۵ یا ۱۹۵۶ و پیش از آن ایده های بسیاری بر زبان لیسپ وارد شد از جمله پردازش لیست و توابع بازگشتی که در زبان لیسپ به کار برده شد.ثبت های اصلی مک کارتی به صورت عبارت های غیر نمادین که خواستار تفسیر کردن و برگرداندن به عبارت های نمادین بود. به عنوان مثال عبارت غیر نمادین car[consA,B معادل عبارت نمادین (car (cons A B)بود که در زبان لیسپ به کار گرفته شده بود. برنامه نویسان به سرعت عبارت نمادین را انتخاب و عبارت های غیر نمادین را ترک کردند.لیسپ برای اولین بار توسط استفان راسل روی یک کامپیوتر IBM 704 اجرا شد. راسل مقالهٔ مک کارتی را مطالعه کرد و دریافت که توابع لیسپ می توانند در کد ماشین اجرا شوند. این نتیجه از مطالعه و دریافت راسل نشان می دهد که مفسر لیسپ می توانست برای اجرای برنامه های لیسپ و ارزیابی صحیح عبارت لیسپ استفاده شود.دو زبان اسمبلی به عنوان دو عملیات اصلی و ابتدائی تجزیه و جدا کردن عناصر اصلی لیست برای IBM 704 شد. این دو زبان اسمبلی car (مضمون آدرس ثبات) و cdr (محتوای کاهش میزان ثبات ها) نسخهٔ لیسپ هنوز ازcar وcdr برای عملیاتی که اولین عنصر در یک لیست و باقی ماندهٔ لیست را برمی گرداند، استفاده می کند.اولین کامپایلر تکمیل شدهٔ لیسپ، در سال ۱۹۶۲توسط تام هارت و مایک لوین در MIT اجرا شد، این کامپایلر معرفی شده مدل لیسپ با کامپایلر نحوی در هر کامپایل و ترجمهٔ توابع می تواند به طور رایگان در هم بیامیزد.زبان به کار گرفته شده در ثبت هارت و لوین نسبت به کدهای ابتدائی مک کارتی به شیوهٔ لیسپ مدرن و جدید نزدیک تر می باشد.

دانشنامه آزاد فارسی

لیسپ (LISP)
نوعی زبان مبتنی بر فهرست که فرقی میان برنامه و داده قائل نیست. این زبان در سال های ۱۹۵۹ و ۱۹۶۰ توسط جان مک کارتی ابداع شد و عمدتاً برای کار با فهرستی از داده ها به کار می رود. LISP در مراکز تحقیقاتی و آموزشی به طور گسترده مورد استفاده قرار می گیرد و در پژوهش های هوش مصنوعی یک زبان استاندارد محسوب می شود.


کلمات دیگر: