دربارهی کتاب طراحی و پیاده سازی زبانهای برنامه سازی پرات ترجمهی جعفرنژاد قمی
کتاب طراحی و پیاده سازی زبانهای برنامه سازی پرات ترجمهی عین الله جعفرنژاد قمی است که به صورت کاربردی و با زبانی ساده و روان ویژگیها و خصوصیات عمومی و تخصصی 12 زبان اساسی برنامه نویسی (اِدا، C، C++، فرترن، جاوا، لیسپ، اِم اِل، پاسکال، پِرل، پُست اسکریپت، پرولوگ و اسمالتاک، کوبول، بیسیک، فورث و ...) را مورد بحث و بررسی قرار میدهد.
در کتاب طراحی و پیادهسازی زبانهای برنامه سازی جعفرنژاد قمی از انتشارات علوم رایانه هر نشانه گذاری برای توصیف الگوریتمها و ساختمان داده را می توان یک زبان برنامهسازی نامید. صدها زبان برنامهسازی مختلف طراحی و پیادهسازی شدهاند که مطالعه و تسلط بر آنها برای مهندسین کامپیوتر و دانشجویان این رشته ضروری است.
درس طراحی و پیادهسازی زبانهای برنامه سازی یکی از دروس تخصصی دانشجویان رشته کامپیوتر (نرم افزار) در دوره کارشناسی میباشد که ویژگیهای عمومی زبانها و پردازندهی آنها را بررسی و با هم مقایسه میکند. در واقع در این درس ویژگیهای انواع دادهها و پیادهسازی آنها در زبانهای سطح بالا، روشهای تعیین ترتیب اجرای دستورات و پیادهسازی آنها، کنترل داده و موارد دیگری از زبانهای برنامهساز را مورد بحث و بررسی قرار میدهد.
شایان به ذکر است در انتهای فصول کتاب طراحی و پیادهسازی زبانهای برنامه سازی پرات با ترجمهی جعفرنژاد قمی، مسائل و پرسشهای کاربردی و چالش برانگیزی گنجانده شده که یادگیری مخاطبین را به حداکثر میرساند.
بخشی از کتاب طراحی و پیادهسازی زبانهای برنامه سازی ترجمهی جعفرنژاد قمی
فصل دوم: اثرات معماری ماشین
2‐1‐2 کامپیوتر های میان افزاری
کامپیوتر را مجموعه ای از الگوریتم ها و ساختمان داده ها تعریف کردیم که قادر است برنامه ها را ذخیره و اجرا کند.
برنامه هایی که اجرا می شوند به زبان ماشین هستند. معمولاً فرض می کنیم کامپیوتر ها بر روی زبان ماشین سطح پایین اجرا می شوند، به طوری که دستوراتی با فرقه های خاص دارند، مثل "دو عدد را جمع کن" و "محتویات یک محل حافظه را در ثباتی قرار بده". اما زبان ماشین، به سطح پایین محدود نیست.
یک زبان برنامه سازی (مثل C، فرترن و اِم اِل) را انتخاب کرد، مجموعه ای از ساختمان داده ها و الگوریتم ها را مشخص کنید که قواعد اجرای برنامه های نوشته شده در آن زبان را تعریف می کند. بدین ترتیب، یک کامپیوتر را تعریف خواهید کرد؛ کامپیوتری که "زبان ماشین آن"، زبان برنامه سازی است که انتخاب کردید. هر برنامه، حالت اولیه ای را برای کامپیوتر تعریف می کند و قواعد اجرای برنامه، دنباله ای از انتقال حالت را تعریف می کند که کامپیوتر در حین اجرای برنامه انجام می دهد.
نتیجه اجرای برنامه با حالت نهایی کامپیوتر مشخص می شود (برنامه خاتمه می یابد). با تعریف دقیقی از کامپیوتر، همیشه امکان دارد که کامپیوتر به عنوان سخت افزار شناخته شود. یعنی یک دستگاه سخت افزاری که زبان ماشین آن، همان کامپیوتر تعریف شده است. حتی اگر زبان ماشین، c، ادا، یا سایر زبان های سطح بالا باشد، باز هم این مفهوم درست است.
در پیشنهاد این امکانات، اصل مهمی را در طراحی کامپیوتر معرفی کردیم: هر الگوریتم یا داده ای که دقیقاً تعریف شده باشد می تواند به صورت سخت افزار منظور شود. چون کامپیوتر مجموعه ای از الگوریتم ها و ساختمان داده ها است، درک سخت افزار آن امکان پذیر است.
کامپیوتر های سخت افزاری واقعی، به دلایلی دارای زبان ماشین سطح پایینی هستند. کامپیوتری که C یا ادا به عنوان زبان ماشین آن است، پیچیده تر است و کارایی آن نیز کمتر از کامپیوتر هایی است که زبان ماشین آن ها سطح پایین است.
برنامه نویسی در کامپیوتر سخت افزاری با مجموعه ای از دستورات سطح پایین و همه منظوره و مجموعه ثبات های حافظه اصلی و غیر ساخت یافته، کار آمدتر است. کامپیوتر هایی ساخته شده اند که زبان ماشین آن ها سطح بالا است، اما تکنیک های دیگر برای پیاده سازی زبان های سطح بالا، نسبت به سخت افزار ترجیح دارد.
شکل دیگری از تحقق سخت افزار محض، کامپیوتر میان افزار است که توسط ریز برنامه ای شبیه سازی می شود که بر روی کامپیوتر سخت افزار قابل برنامه نویسی اجرا می گردد.
زبان ماشین این کامپیوتر متشکل است از مجموعه بسیار سطح پایین از ریز دستورات است که انتقال داده ها را بین حافظه اصلی و ثبات ها، بین خود ثبات ها و از ثبات ها، از طریق پردازنده ها انجام می دهند. ریز برنامه ویژه ای با استفاده از این مجموعه دستورات نوشته می شود که چرخه تفسیر و اعمال گوناگون کامپیوتر مورد نظر را تعریف می کند. ...
کتاب طراحی و پیاده سازی زبانهای برنامه سازی تألیف ترنس دبلیو. پرات و مارون وای. زیلکوویتز با ترجمه ی مهندس عین الله جعفرنژاد قمی که جزء برترین کتاب های دانشگاهی کامپیوتر بوده توسط انتشارات علوم رایانه به چاپ رسیده است.
فهرست
فصل اول: اصول طراحی زبان ها فصل دوم: اثرات معماری ماشین فصل سوم: اصول ترجمه زبان فصل چهارم: مدل سازی خواص زبان ها فصل پنجم: انواع داده اولیه فصل ششم: بسته بندی فصل هفتم: وراثت فصل هشتم: کنترل ترتیب اجرا فصل نهم: کنترل زیر برنامه فصل دهم: مدیریت حافظه فصل یازدهم: پردازش توزیعی فصل دوازدهم: برنامه نویسی شبکه
- نویسندگان: ترنس دبلیو. پرات - مارون وای. زیلکوویتز
- مترجم: مهندس عین الله جعفرنژاد قمی
- انتشارات: علوم رایانه
نظرات کاربران درباره کتاب طراحی و پیاده سازی زبانهای برنامه سازی جعفرنژاد قمی
دیدگاه کاربران