لیسپ ( به انگلیسی: Lisp ) یک زبان برنامه نویسی رایانه است که در سال ۱۹۵۸ به وسیلهٔ جان مک کارتی ابداع شده است. [ ۱] این زبان، مانند زبان برنامه نویسی پرولوگ، بیشتر برای برنامه نویسی هوش مصنوعی مورد استفاده قرار می گیرد و با توجه به اینکه زبان لیسپ از نحو ساده ای برخوردار است، تجزیه و پیاده سازی آن نسبتاً با سهولت انجام می شود. [ ۱]
متن برنامه های لیسپ عموماً از نمادها و فهرست هایی از نمادها تشکیل می شود و بدین خاطر است که این زبان Lisp ( کوته نوشت LISt Processor به معنی "پردازشگر فهرست" ) نامیده شده است. یکی از ویژگی های جالب زبان لیسپ این است که خود برنامه های لیسپ نیز فهرست هستند و بنابراین، می توان با برنامه ها به عنوان داده ها رفتار کرد یا داده ها را به عنوان برنامه ارزیابی نمود. لیسپ دارای گویش های مختلفی است که بعضی از آن ها دارای قابلیت های شیءگرا نیز هستند. از این میان می توان به کامن لیسپ اشاره کرد. در ابتدا لیسپ به عنوان علامت گذاری و نمادسازی ریاضیات و برای برنامه نویسی رایانه ابداع شد. زبان لیسپ به سرعت مورد توجه برنامه نویسان از جمله برای تحقیقات علمی هوش مصنوعی قرار گرفت. لیسپ یکی از ابتدایی ترین زبان های برنامه نویسی می باشد و در علوم رایانه بر بسیاری از تفکرات و ایده ها پیشگام بود. لیسپ شامل ساختمان دادهٔ درخت، مدیریت نگهداری اتوماتیک، برنامه نویسی پویا، برنامه نویسی شیء گرا و کامپایلر مستقل می باشد.
نام لیسپ از زبان پردازش لیست گرفته شده است. لینک لیست یکی از قسمت های اصلی ساختمان دادهٔ زبان لیسپ است و سورس کد لیسپ از لیست ها ساخته شده است و می تواند به عنوان ساختمان داده عمل کند. پیشرفت و توسعهٔ سیستم ماکرو به برنامه نویسان اجازه می دهد تا ترکیب های جدید ویا حتی حیطهٔ زبان های برنامه نویسی ویژه ای را ایجاد کرده و در زبان لیسپ تعبیه کنند. قابلیت تبادل کدها و داده ها به زبان لیسپ قابلیت تشخیص ترکیب ها را می دهد، همهٔ کدهای برنامه به صورت عبارت های نمادین یا لیست های پرانتزگذاری شده نوشته شده اند. یک تابع می تواند توسط خودش و یا توابع دیگر فراخوانی شود و یا طبق قواعد نحوی نوشتن یک لیست و استفاده از اول نام عملگرها و پیروی کردن از قواعد آرگومان ها ایجاد شود. به عنوان مثال تابع f دارای ۳ آرگومان می باشد و به صورت مقابل توانایی فراخوانی را دارد و مورد استفاده قرار می گیرد:
این نوشته برگرفته از سایت ویکی پدیا می باشد، اگر نادرست یا توهین آمیز است، لطفا گزارش دهید: گزارش تخلفمتن برنامه های لیسپ عموماً از نمادها و فهرست هایی از نمادها تشکیل می شود و بدین خاطر است که این زبان Lisp ( کوته نوشت LISt Processor به معنی "پردازشگر فهرست" ) نامیده شده است. یکی از ویژگی های جالب زبان لیسپ این است که خود برنامه های لیسپ نیز فهرست هستند و بنابراین، می توان با برنامه ها به عنوان داده ها رفتار کرد یا داده ها را به عنوان برنامه ارزیابی نمود. لیسپ دارای گویش های مختلفی است که بعضی از آن ها دارای قابلیت های شیءگرا نیز هستند. از این میان می توان به کامن لیسپ اشاره کرد. در ابتدا لیسپ به عنوان علامت گذاری و نمادسازی ریاضیات و برای برنامه نویسی رایانه ابداع شد. زبان لیسپ به سرعت مورد توجه برنامه نویسان از جمله برای تحقیقات علمی هوش مصنوعی قرار گرفت. لیسپ یکی از ابتدایی ترین زبان های برنامه نویسی می باشد و در علوم رایانه بر بسیاری از تفکرات و ایده ها پیشگام بود. لیسپ شامل ساختمان دادهٔ درخت، مدیریت نگهداری اتوماتیک، برنامه نویسی پویا، برنامه نویسی شیء گرا و کامپایلر مستقل می باشد.
نام لیسپ از زبان پردازش لیست گرفته شده است. لینک لیست یکی از قسمت های اصلی ساختمان دادهٔ زبان لیسپ است و سورس کد لیسپ از لیست ها ساخته شده است و می تواند به عنوان ساختمان داده عمل کند. پیشرفت و توسعهٔ سیستم ماکرو به برنامه نویسان اجازه می دهد تا ترکیب های جدید ویا حتی حیطهٔ زبان های برنامه نویسی ویژه ای را ایجاد کرده و در زبان لیسپ تعبیه کنند. قابلیت تبادل کدها و داده ها به زبان لیسپ قابلیت تشخیص ترکیب ها را می دهد، همهٔ کدهای برنامه به صورت عبارت های نمادین یا لیست های پرانتزگذاری شده نوشته شده اند. یک تابع می تواند توسط خودش و یا توابع دیگر فراخوانی شود و یا طبق قواعد نحوی نوشتن یک لیست و استفاده از اول نام عملگرها و پیروی کردن از قواعد آرگومان ها ایجاد شود. به عنوان مثال تابع f دارای ۳ آرگومان می باشد و به صورت مقابل توانایی فراخوانی را دارد و مورد استفاده قرار می گیرد:
wiki: لیسپ