Borna66
04-18-2011, 02:48 PM
فصل اول
اصول طراحی زبانها
چرا زبانهای برنامه سازی را مطالعه می کنیم؟
برای بهبود توانایی خود در توسعه الگوریتمهای کارآمد
استفاده بهینه از زبان برنامه نویسی موجود
می توانید با اصلاحات مفید ساختارهای برنامه نویسی آشنا شوید.
انتخاب بهترین زبان برنامه سازی
آموزش زبان جدید ساده می شود.
طراحی زبان جدید ساده می شود.
تاریخچه مختصری از زبانهای برنامه سازی
توسعه زبانهای اولیه
- زبانهای مبتنی بر اعداد (اواخر دهه 1930 تا اوایل دهه 1940)
- اهداف الگول عبارت بودند از:
- نشانه های الگول باید به ریاضیات استاندارد نزدیک باشد.
- الگول باید برای توصیف الگوریتمها مفید باشد.
- برنامه ها در الگول باید به زبان ماشین ترجمه شوند.
- الگول نباید به معماری یک ماشین مقید باشد.
- زبانهای تجاری ( 1955)
- زبان هوش مصنوعی (دهه 1950)
- زبانهای سیستم
تکامل معماری نرم افزار
دوران کامپیوترهای بزرگ
- محیط دسته ای
- محیط محاوره ای
- تاثیر بر طراحی زبان
دوران کامپیوتر شخصی
- کامپیوترهای شخصی
- محیطهای سیستم تعبیه شده
- تاثیر بر طراحی زبان
دوران شبکه بندی
- محاسبات توزیعی
- اینترنت
- تاثیر بر زبان برنامه سازی
دامنه های کاربرد
کاربردها در دهه 1960
- پردازش تجاری
- محاسبات علمی
- برنامه نویسی سیستم
- کاربردهای هوش مصنوعی
کاربردهای قرن 21
- پردازش تجاری
- محاسبات علمی
- برنامه نویسی سیستم
- کاربردهای هوش مصنوعی
- انتشارات
- فرآیند
- کاربردهای جدید (مانند شی گراهاو...)
نقش زبانهای برنامه سازی
اثرات
- قابلیتهای کامپیوتر: تبدیل کامپیوترهای بزرگ ، کند و گرانقیمت که از لامپ خلا استفاده می کردند به ریز کامپیوترها و سوپر کامپیوترها تبدیل شدند.
- موارد کاربرد: زمینه های کاربرد جدید ، طراحی زبانهای جدید ، ارتقاء و بازبینی زبانهای قدیمی
- متدهای برنامه نویسی: یافتن متدهای خوب برای نوشتن برنامه های بزرگ و پیچیده و تغییر در محیط برنامه نویسی
- متدهای پیاده اسزی : انتخاب ویژگیهای نو
- مطالعات تئوری: استفاده از متدهای رسمی ریاضیات
- استانداردسازی: اجازه انتقال برنامه از کامپیوتری به کامپیوتر دیگر
زبان خوب چگونه است؟
صفات یک زبان خوب
- وضوح، سادگی و یکپارچگی
- قابلیت تعامد
- طبیعی بودن برای کاربردها
- پشتیبانی از انتزاع
- سهولت در بازرسی برنامه
- محیط برنامه نویسی
- قابلیت حمل برنامه
- هزینه استفاده
- هزینه اجرای برنامه
- هزینه ترجمه برنامه
- هزینه نگهداری برنامه
نحو و معنای زبان
- نحو زبان برنامه سازی ظاهر آن زبان است.
- مشخص شود دستورات ، اعلانها و سایر ساختارهای زبان چگونه نوشته می شوند
- معنای زبان همان مفهومی است که به ساختارهای نحوی زبان داده می شود.
مدلهای زبان
- زبانهای دستوری: زبانهای مبتنی بر فرمان یا دستورگرا
- زبانهای تابعی : به جای مشاهده تغییر حالت عملکرد برنامه دنبال می شود.
- زبانهای قانونمند: شرایطی را بررسی می کنند و درصورت برقرار بودن آنها فعالیتی را انجام می دهند.
- برنامه نویسی شی گرا: اشیای پیچیده به عنوان بسطی از اشیای ساده ساخته می شوندو خواصی را از اشیای ساده به ارث می برند.
استاندارد سازی زبان
روش:
- برای پی بردن به معنای دستورات به مستندات زبان مراجعه شود.
- برنامه را در کامپیوتر تایپ . اجرا کنید
- به استاندارد زبان مراجعه شود.
استاندارد خصوصی
استاندارد عمومی
مسائل مهم استفاده موثر از استاندارد:
- زمان سنجی
- اطاعت و پیروی
- کهنگی
- زمان شناسی
بین المللی شدن برنامه نویسی
- ترتیب تلفیق: کاراکترها به چه ترتیبی باید ظاهر شوند؟
- ترتیب: موقعیت کاراکترهای غیر رومی
- حالت کاراکترها: حروف کوچک و بزرگ در زبانهایی مثل ژاپنی، عربی و یهودی
- جهت پیمایش: اغلب زبانها از چپ به راست خوانده می شوند.
- فرمت تاریخ در یک کشور خاص
- فرمت زمان در یک کشور خاص
- مناطق زمانی
- سیستمهای حروفی
- علامت پول
تاثیر بر طراحی زبان
ویژگیها
- کامپایل کردن مجزا مانند مشخه ، اعلان نوع داده ، تعریف نوع داده
- تست و اشکال زدایی مانند : ویژگیهای ردیابی اجرا ، نقاط کنترلی ، ادعا
محیط های کاری
- خدماتی مثل ذخیره داده ها ، رابط گرافیکی کاربر، امنیت و خدمات ارتباطی را فراهم می کند.
زبانهای کنترل کار و فرآیند
- مفهوم کنترل کار به چارچوبهای محیط برمی گردد.
- کاربر کنترل مستقیم بر روی مراحل مختلف برنامه دارد.
اصول طراحی زبانها
چرا زبانهای برنامه سازی را مطالعه می کنیم؟
برای بهبود توانایی خود در توسعه الگوریتمهای کارآمد
استفاده بهینه از زبان برنامه نویسی موجود
می توانید با اصلاحات مفید ساختارهای برنامه نویسی آشنا شوید.
انتخاب بهترین زبان برنامه سازی
آموزش زبان جدید ساده می شود.
طراحی زبان جدید ساده می شود.
تاریخچه مختصری از زبانهای برنامه سازی
توسعه زبانهای اولیه
- زبانهای مبتنی بر اعداد (اواخر دهه 1930 تا اوایل دهه 1940)
- اهداف الگول عبارت بودند از:
- نشانه های الگول باید به ریاضیات استاندارد نزدیک باشد.
- الگول باید برای توصیف الگوریتمها مفید باشد.
- برنامه ها در الگول باید به زبان ماشین ترجمه شوند.
- الگول نباید به معماری یک ماشین مقید باشد.
- زبانهای تجاری ( 1955)
- زبان هوش مصنوعی (دهه 1950)
- زبانهای سیستم
تکامل معماری نرم افزار
دوران کامپیوترهای بزرگ
- محیط دسته ای
- محیط محاوره ای
- تاثیر بر طراحی زبان
دوران کامپیوتر شخصی
- کامپیوترهای شخصی
- محیطهای سیستم تعبیه شده
- تاثیر بر طراحی زبان
دوران شبکه بندی
- محاسبات توزیعی
- اینترنت
- تاثیر بر زبان برنامه سازی
دامنه های کاربرد
کاربردها در دهه 1960
- پردازش تجاری
- محاسبات علمی
- برنامه نویسی سیستم
- کاربردهای هوش مصنوعی
کاربردهای قرن 21
- پردازش تجاری
- محاسبات علمی
- برنامه نویسی سیستم
- کاربردهای هوش مصنوعی
- انتشارات
- فرآیند
- کاربردهای جدید (مانند شی گراهاو...)
نقش زبانهای برنامه سازی
اثرات
- قابلیتهای کامپیوتر: تبدیل کامپیوترهای بزرگ ، کند و گرانقیمت که از لامپ خلا استفاده می کردند به ریز کامپیوترها و سوپر کامپیوترها تبدیل شدند.
- موارد کاربرد: زمینه های کاربرد جدید ، طراحی زبانهای جدید ، ارتقاء و بازبینی زبانهای قدیمی
- متدهای برنامه نویسی: یافتن متدهای خوب برای نوشتن برنامه های بزرگ و پیچیده و تغییر در محیط برنامه نویسی
- متدهای پیاده اسزی : انتخاب ویژگیهای نو
- مطالعات تئوری: استفاده از متدهای رسمی ریاضیات
- استانداردسازی: اجازه انتقال برنامه از کامپیوتری به کامپیوتر دیگر
زبان خوب چگونه است؟
صفات یک زبان خوب
- وضوح، سادگی و یکپارچگی
- قابلیت تعامد
- طبیعی بودن برای کاربردها
- پشتیبانی از انتزاع
- سهولت در بازرسی برنامه
- محیط برنامه نویسی
- قابلیت حمل برنامه
- هزینه استفاده
- هزینه اجرای برنامه
- هزینه ترجمه برنامه
- هزینه نگهداری برنامه
نحو و معنای زبان
- نحو زبان برنامه سازی ظاهر آن زبان است.
- مشخص شود دستورات ، اعلانها و سایر ساختارهای زبان چگونه نوشته می شوند
- معنای زبان همان مفهومی است که به ساختارهای نحوی زبان داده می شود.
مدلهای زبان
- زبانهای دستوری: زبانهای مبتنی بر فرمان یا دستورگرا
- زبانهای تابعی : به جای مشاهده تغییر حالت عملکرد برنامه دنبال می شود.
- زبانهای قانونمند: شرایطی را بررسی می کنند و درصورت برقرار بودن آنها فعالیتی را انجام می دهند.
- برنامه نویسی شی گرا: اشیای پیچیده به عنوان بسطی از اشیای ساده ساخته می شوندو خواصی را از اشیای ساده به ارث می برند.
استاندارد سازی زبان
روش:
- برای پی بردن به معنای دستورات به مستندات زبان مراجعه شود.
- برنامه را در کامپیوتر تایپ . اجرا کنید
- به استاندارد زبان مراجعه شود.
استاندارد خصوصی
استاندارد عمومی
مسائل مهم استفاده موثر از استاندارد:
- زمان سنجی
- اطاعت و پیروی
- کهنگی
- زمان شناسی
بین المللی شدن برنامه نویسی
- ترتیب تلفیق: کاراکترها به چه ترتیبی باید ظاهر شوند؟
- ترتیب: موقعیت کاراکترهای غیر رومی
- حالت کاراکترها: حروف کوچک و بزرگ در زبانهایی مثل ژاپنی، عربی و یهودی
- جهت پیمایش: اغلب زبانها از چپ به راست خوانده می شوند.
- فرمت تاریخ در یک کشور خاص
- فرمت زمان در یک کشور خاص
- مناطق زمانی
- سیستمهای حروفی
- علامت پول
تاثیر بر طراحی زبان
ویژگیها
- کامپایل کردن مجزا مانند مشخه ، اعلان نوع داده ، تعریف نوع داده
- تست و اشکال زدایی مانند : ویژگیهای ردیابی اجرا ، نقاط کنترلی ، ادعا
محیط های کاری
- خدماتی مثل ذخیره داده ها ، رابط گرافیکی کاربر، امنیت و خدمات ارتباطی را فراهم می کند.
زبانهای کنترل کار و فرآیند
- مفهوم کنترل کار به چارچوبهای محیط برمی گردد.
- کاربر کنترل مستقیم بر روی مراحل مختلف برنامه دارد.