این متن ابتکاری برنامه نویسی کامپیوتر را به عنوان یک رشته یکپارچه به گونه ای ارائه می دهد که هم کاربردی و هم از نظر علمی معتبر است. این کتاب بر تکنیکهای ارزش ماندگار تمرکز میکند و آنها را دقیقاً در قالب یک ماشین انتزاعی ساده توضیح میدهد. این کتاب تمام پارادایم های اصلی برنامه نویسی را در یک چارچوب یکسان ارائه می کند که روابط عمیق آنها و نحوه و مکان استفاده از آنها را با هم نشان می دهد.
پس از مقدمه ای بر مفاهیم برنامه نویسی، کتاب مدل های محاسباتی شناخته شده و کمتر شناخته شده را ارائه می دهد (» پارادایم های برنامه نویسی”). هر مدل مجموعه ای از تکنیک های خاص خود را دارد و هر کدام بر اساس سودمندی آن در عمل گنجانده شده است. مدل های کلی شامل برنامه نویسی اعلامی، همزمانی اعلامی، همزمانی ارسال پیام، حالت صریح، برنامه نویسی شی گرا، همزمانی حالت اشتراکی و برنامه نویسی رابطه ای است. مدل های تخصصی شامل برنامه نویسی رابط کاربری گرافیکی، برنامه نویسی توزیع شده و برنامه نویسی محدودیت می باشد. هر مدل بر اساس زبان هسته خود است – یک زبان اصلی ساده که از تعداد کمی از عناصر مهم برنامه نویس تشکیل شده است. زبانهای هسته به تدریج معرفی میشوند و مفاهیم را یکی یکی اضافه میکنند، بنابراین روابط عمیق بین مدلهای مختلف را نشان میدهند. زبانهای هسته دقیقاً بر اساس یک ماشین انتزاعی ساده تعریف میشوند. از آنجا که طیف گسترده ای از زبان ها و پارادایم های برنامه نویسی را می توان با مجموعه کوچکی از زبان های هسته نزدیک به هم مدل کرد، این رویکرد به برنامه نویس و دانش آموز اجازه می دهد تا وحدت اساسی برنامه نویسی را درک کنند. این کتاب دارای بخشها و تمرینهای بسیاری از برنامه است که همگی میتوانند بر روی سیستم برنامهنویسی موتزارت اجرا شوند، یک بسته نرمافزاری متن باز که دارای یک محیط توسعه افزایشی تعاملی است.
Concepts, Techniques, and Models of Computer Programming
This innovative text presents computer programming as a unified discipline in a way that is both practical and scientifically sound. The book focuses on techniques of lasting value and explains them precisely in terms of a simple abstract machine. The book presents all major programming paradigms in a uniform framework that shows their deep relationships and how and where to use them together.
After an introduction to programming concepts, the book presents both well-known and lesser-known computation models (»programming paradigms»). Each model has its own set of techniques and each is included on the basis of its usefulness in practice. The general models include declarative programming, declarative concurrency, message-passing concurrency, explicit state, object-oriented programming, shared-state concurrency, and relational programming. Specialized models include graphical user interface programming, distributed programming, and constraint programming. Each model is based on its kernel language—a simple core language that consists of a small number of programmer- significant elements. The kernel languages are introduced progressively, adding concepts one by one, thus showing the deep relationships between different models. The kernel languages are defined precisely in terms of a simple abstract machine. Because a wide variety of languages and programming paradigms can be modeled by a small set of closely related kernel languages, this approach allows programmer and student to grasp the underlying unity of programming. The book has many program fragments and exercises, all of which can be run on the Mozart Programming System, an Open Source software package that features an interactive incremental development environment.
نقد و بررسیها
هنوز بررسیای ثبت نشده است.