- عنوان کتاب: Programming Language Design and Implementation
- نویسنده: Yaar Demirel
- حوزه: زبان برنامهنویسی
- سال انتشار: 2026
- تعداد صفحه: 364
- زبان اصلی: انگلیسی
- نوع فایل: pdf
- حجم فایل: 4.22 مگابایت
این کتاب قصد دارد تا مروری بر فضای طراحی زبانهای برنامهنویسی و چگونگی تأثیر انتخابهای طراحی بر پیادهسازی را در اختیار خواننده قرار دهد. این کتاب نه یک کتاب کامپایلرهای کلاسیک است، زیرا فرض میکند خواننده با تکنیکهای اولیه پیادهسازی کامپایلر آشنا است و نه یک کتاب زبانهای برنامهنویسی مقایسهای سنتی است، زیرا به طور عمیق به هیچ زبان خاصی نمیپردازد، بلکه در عوض مثالهایی از طیف گستردهای از زبانهای برنامهنویسی برای نشان دادن مفاهیم طراحی ارائه میدهد. این کتاب حول مفاهیم سازماندهی شده است. هر مفهوم دارای فصلی است که مفهوم را توضیح میدهد، آن مفهوم را از طریق مثالهایی از گذشته و حال (با استفاده از زبانهای رایج و مبهم)، بحث در مورد مزایا و معایب انتخابهای طراحی، پیادهسازی و در صورت لزوم، کمی نظریه رسمی، نشان میدهد. نظر نویسنده این است که یک طراح زبانهای برنامهنویسی نه تنها باید بداند که سایر طراحان زبان چه کاری انجام دادهاند، بلکه باید درک عملیاتی از پیامدهای انتخابهای طراحی بر پیادهسازی این زبانها نیز داشته باشد. در غیر این صورت، طراح ممکن است انتخابهای طراحی انجام دهد که پیادهسازی را بیش از حد دشوار کند، مانع عملکرد شود یا پیشبینی رفتار برنامهها را برای کاربران زبان بسیار دشوار کند، به خصوص هنگامی که چندین ویژگی زبان به صورت ترکیبی استفاده میشوند. بنابراین، شرح فضای طراحی ویژگیهای مختلف زبان شامل بحث و طرحهایی از پیادهسازی است. این طرحها خیلی دقیق نیستند، اما یک برنامهنویس ماهر با دانش تکنیکهای اولیه کامپایلر باید بتواند از طرحها به عنوان راهنمایی برای پیادهسازی استفاده کند.
This book aims to provide the reader with an overview of the design space for programming languages and how design choices affect implementation. It is not a classical compilers book, as it assumes the reader is familiar with basic compiler implementation techniques, nor is it a traditional comparative programming languages book, because it does not go into depth about any particular language, but instead take examples from a wide variety of programming languages to illustrate design concepts. The book is organized around concepts. Each concept has a chapter that explains the concept, illustrates the concept through examples from past and present (using both mainstream and obscure languages), discussion about pros and cons of design choices, implementation and, where deemed necessary, a bit of formal theory. It is the opinion of the author that a designer of programming languages should not only know what other language designers have done but also have an operational understanding of the consequences design choices have on implementation of these languages. Otherwise, the designer is liable to make design choices that renders implementation excessively difficult, impedes performance or makes it very hard for the users of the language to predict the behavior of programs, especially when several language features are used in combination. Therefore, the description of the design space of various language features includes discussion and sketches of implementation. These sketches are not very detailed, but a competent programmer with knowledge of basic compiler techniques should be able to use the sketches as a guide for implementation.
این کتاب را میتوانید از لینک زیر بصورت رایگان دانلود کنید:





نظرات کاربران