طراحی زبان های برنامه سازی
درس متنی
جلسه اول
مقدمهای بر زبانهای برنامهسازی، تاریخچه و نقش آنها
زمان مطالعه
20 دقیقه
۱. نیاز به زبانهای برنامهسازی
- کامپیوتر تنها زبان ماشین (۰ و ۱) را میفهمد.
- انسانها برای بیان مسائل پیچیده، نیاز به عبارتسازی سطح بالا دارند.
- زبانهای برنامهسازی پلی هستند بین تفکر انسان و اجرای دقیق کامپیوتر.
۲. تعریف زبان برنامهسازی
- یک سیستم نمادی و رسمی برای بیان الگوریتمها و کنترل رفتار ماشین.
- شامل مجموعهای از قواعد نحوی (Syntax) و قواعد معنایی (Semantics).
- هدف: نوشتن برنامههای قابلاجرا، قابلفهم، قابل نگهداری و قابلانتقال.
۳. تاریخچهٔ زبانهای برنامهسازی (مروری کوتاه)
- دهه ۱۹۴۰–۵۰:
- زبان ماشین و اسمبلی.
- اولین تلاشها برای ایجاد زبانهای سطح بالاتر (Fortran).
- دهه ۱۹۶۰:
- شکلگیری الگوهای مهم: ALGOL، LISP، COBOL.
- آغاز برنامهنویسی ساختیافته.
- دهه ۱۹۷۰:
- C، Pascal، Prolog.
- توسعه روشهای شیءگرایی اولیه (Smalltalk).
- دهه ۱۹۸۰–۹۰:
- گسترش شیءگرایی (C++, Java).
- ظهور اسکریپتها (Python، JavaScript).
- دهه ۲۰۰۰ به بعد:
- زبانهای چندپارادایمی (Scala، Rust، Kotlin).
- توجه به ایمنی حافظه، سادهخوانی و کارایی.
۴. نقش زبانهای برنامهسازی
- ابزار مدلسازی: بیان مسائل انتزاعی با ساختار روشن.
- ابزار کنترل کامپیوتر: مدیریت حافظه، اجرای پردازش، I/O.
- ابزار ارتباطی: انتقال ایده میان برنامهنویسان.
- بستر یادگیری تفکر منطقی و الگوریتمیک.
۵. چرا زبانهای مختلف وجود دارد؟
- نیازها و حوزهها متفاوتاند: سیستمعامل، وب، داده، هوش مصنوعی و…
- تفاوت در سرعت، امنیت، سادگی، سطح انتزاع، ابزارها.
- برخی زبانها برای اهداف آموزشی، برخی صنعتی، برخی تحقیقاتی طراحی شدهاند.
۶. پارادایمها (نگاه کوتاه – مقدمهٔ جلسات بعد)
- Imperative: دستور پشت دستور (C، Python در حالت پایه).
- Object-Oriented: مدلسازی اشیاء دنیای واقعی (Java، C++).
- Functional: تأکید بر توابع و پرهیز از حالت (Haskell، Lisp).
- Logical: بر اساس قوانین منطقی (Prolog).
- زبانهای مدرن معمولاً چندپارادایمی هستند.