تاریخچهی زبانهای اسکریپتی
در این جا من مختصرا به بررسی تارخچهی زبانهای اسکریپتی میپردازم.
روزهای اولیه: JCL
در حدود سالهای ۱۹۶۴، برنامهنویسان با این واقعیت مواجه شدند که انجام همهی اعمال با کمک برنامهنویسی کاری بسیار خسته کننده است. بنابراین IBM زبانی با نام JCL را پیادهسازی کرد که امکان انجام بسیاری از کارها را به صورت سادهتر میداد. مثلا امکان کپی کردن فایلها تنها با ۹ خط کد وجود داشت که انجام همین عمل با کمک فرترن دارای پیچیدگیهای بیشتری است.
مفسرهای خط فرمان اسکریپتی
پس از آن، مفسرهای خط فرمان مشهوری مانند DG، DEC، و DCL نه تنها اجازهی اجرای اعمال پیچیده با کمک دستورهای ساده را میدادند، بلکه این امکان را نیز در اختیار کاربر قرار میدادند که این دستورات ساده را درون فایلهایی قرار دهد و سپس همهی آنها را با یکدیگر انجام دهد. DG به این فایلها «ماکرو»، DEC به آنها «فایل دستور» و یونیکس به آنها «Shell Script» میگویند.
Perl
بعد از گذشت چند سال، لری وال تصمیم گرفت تا کاری اساسی در این مورد انجام دهد. بنابراین او زبان Perl را ابداع کرد. این زبان، هم امکانات زبانهای شل اسکریپتینگ را داشت، هم امکانات زبانهای قوی دیگری مانند C به آن اضافه شد. از جمله ویژگیهای این زبان میتوان به این موارد اشاره کرد: استفادهی ساده از عبارات منظم و لیستها، امکان استفاده از هر متغیری به عنوان رشته، عدم نیاز به ساختاربندی شدید، مدیریت منابع اتوماتیک و امکانی برای «اجرای» یک رشته که شامل عبارت محاسباتی است.
همچنین به این زبان امکان شیگرایی افزوده شد. البته در بسیاری از زبانها افزودن شیگرایی، باعث افزایش پیچیدگی در پروژههای ساده میشود. در حالی که در این زبان، شیگرایی به گونهای اضافه شد که باعث به وجود آمدن این پیچیدگی نشد.
پایتون
پایتون در دههی ۱۹۸۰ توسط Guido van Russom طراحی شد. در این زبان، بسیاری از امکانات و انعطافپذیریهای کد، از کاربر گرفته شده است. برای مثال در این زبان، گزارههای گروهی، به جای قرار گرفتن در میان آکولادها، با indentation مشخص میشوند. و یا به جایی قرار دادن semi-colon در انتهای دستورات، از یک خط جدید باید استفاده کرد. از طرف دیگر، پایتون الگوی برنامه نویسی را به برنامهنویس تحمیل نمیکند. بنابراین، برنامهنویسی با الگوهای شیگرا، وجهگرا(aspect-oriented) و ... امکانپذیر است.
هم چنین پایتون امکان duck typing را در اختیار برنامهنویس قرار میدهد که در آینده به آن بیشتر پرداخته خواهد شد و الان بیش از این به آن نمیپردازیم.
Ruby
روبی آخرین زبانی است که اکنون به آن میپردازم. روبی به گونهای طراحی شده است که از مفهوم TIMTOWTDI(There is More Than One Way To Do It) تبعیت میکند. همچنین Ruby به صورت کامل شیگراست. با این وجود نیازی نیست که شما به صورت صریح از کلاسها استفاده کنید، مگر این که بخواهید.(مقایسه کنید با جاوا که تمامی کدهای آن در درون یک کلاس قرار میگیرند!)
روبی نیز مانند پایتون از Duck Typing تبعیت میکند. همچنین روبی امکان بازکردن مجدد هر کلاس و تغییر آن را مهیا میکند که در آینده بیشتر به این امکان افزوده خواهد شد.
در نهایت باید ذکر کرد که زبانهای بسیار دیگری نیز وجود دارند که امکان ذکر همهی آنها در اینجا ممکن نیست. بنابراین این کار را به زمان بهتری واگذار میکنیم.