Structure and Interpretation of Computer Programs, 2nd Edition
کامپیوتر مانند ویولن است. میتوانید تصور کنید که یک تازه کار ابتدا یک دستگاه گرامافون و سپس یک ویولن را امتحان کند؛ در مورد دومی خواهد گفت که افتضاح است. این استدلالی است که ما از انسان گرایان و اکثر دانشمندان علوم کامپیوترمان شنیده ایم. آنها میگویند، برنامههای کامپیوتری برای اهداف بخصوصی خوب هستند، اما انعطاف پذیر نیستند. هیچ یک از ویولنها یا ماشینهای تحریر هم اینگونه نیستند، تا زمانی که نحوه استفاده از آن را یاد بگیرید.
کتاب Structure and Interpretation of Computer Programs، در دهه گذشته تاثیر چشمگیری در برنامهی آموزشی علوم کامپیوتر داشته است. ویرایش دوم کتاب «ساختار و تفسیر برنامههای کامپیوتری» که مورد بازنگری قرار گرفته است، شامل تغییراتی در متن کتاب است. پیاده سازیهای جدیدی از اکثر سیستمهای اصلی برنامه نویسی در این کتاب وجود دارد، از جمله مفسرها و کامپایلر ها؛ و نویسندگان تغییرات کوچک زیادی را در این کتاب گنجانده اند که منعکس کننده تجربه آنها در تدریس دورهها در MIT از زمان ویرایش اول کتاب است. در این کتاب زمینه جدیدی معرفی شده است که بر نقش اصلی بازی شده توسط رویکردهای مختلف در برخورد با زمان در مدلهای محاسباتی تاکید دارد: اشیا با وضعیت، برنامه نویسی همزمان، برنامه نویسی تابعی، ارزیابی به تاخیر افتاده و برنامه نویسی غیر قطعی. علاوه بر این، تمامی برنامهها باز نویسی شده اند تا در تمامی پیاده سازیهای Schema که به استاندارد IEEE پایبند هستند، اجرا شوند.