ورود

View Full Version : کاربرد های این زبان ها چیه؟



bigtime
چهارشنبه 12 مرداد 1390, 18:21 عصر
کاربرد های این زبان ها چیه؟ و وجه تمایز این زبان ها نسبت به زبان های دیگری که در اون platform استفاده می شن چیه؟

eshpilen
پنج شنبه 13 مرداد 1390, 11:47 صبح
Perl , Python و Ruby زبانهایی اسکریپتی هستند.
همشون هم زبانهای همه منظوره هستن. یعنی مثلا مثل PHP تنها برای یک حیطهء خاص برنامه نویسی مثل برنامه نویسی وب طراحی نشدن.
یعنی این زبانها برای این درنظر گرفته شدن تا هرکاری رو که پرفورمنسشون اجازه میده باهاشون انجام بدیم. یعنی کار با دیتابیس، یوتیلیتی های سیستم عامل، اپلیکیشن های Command line و نیز GUI و همچنین برنامه نویسی وب. تنها در کاربردهایی که ذاتا نیاز به پرفورمنس بالا دارن (مثلا پردازشهای گرافیک و انیمیشن و برنامه های سرویس دهنده مثل نرم افزار وب سرور) یا کارهایی که تماما یا بیشتر روی دستورها و ساختارهای سطح پایین کار میکنن (سیستم عامل، برنامه های سیستمی) میشه گفت این زبانها کاربردی ندارن (یا کاربرد خیلی کمتری دارن). البته کاربردهای امنیتی و مهندسی معکوس و کرک و غیره داستان دیگری دارن؛ این کاربردها مستقیما نوشتن برنامه های سیستمی و سرویس دهنده محسوب نمیشن که نیاز به پرفورمنس بالا داشته باشن و ترکیبی از عملیات سطح بالا و پایین هستن.

درمورد اینکه چرا سه تا زبان هستن مثل اینه که زبان سی و پاسکال و بیسیک رو داریم. هرکدوم از نظر سینتاکس تفاوت میکنن، از نظر پرفورمنس هم تفاوتهایی دارن، و بهرحال هرکدوم در یه زمانی توسط افرادی با انگیزه های متفاوت طراحی شدن و طرفداران خودشون رو پیدا کردن. دلیل نمیشه چون یه زبانی وجود داره زبانهای دیگری با کاربرد مشابه ایجاد نشن، چون کسی جلوی این کار رو نمیگیره.
تاجاییکه میدونم Perl بین اینها زبان قدیمی تری هست. میشه گفت Python تکامل بعدی زبانهایی مثل Perl بوده. البته Perl هم قوی هست ولی به خوانایی و راحتی پایتون نیست، ولی اینقدر توسعه دهنده و سابقه داره که از شیر مرغ تا جون آدمیزاد توش کار شده و کلی کتابخانه و برنامه داره. ضمنا یه زمانی از Perl بصورت گسترده برای برنامه نویسی وب استفاده میشد، ولی بعدا که زبانهایی مثل PHP که مخصوص وب هست و سینتاکس و امکانات راحتتری داره آمد باعث شد استفاده از Perl در این زمینه خیلی کمتر بشه.
برنامه نویسی یوتیلیتی ها و اسکریپت های مدیریتی سیستم عامل و کار کردن روی رشته ها از موارد کاربرد تاریخی این زبانهاست و حیطه ای که درش واقعا مناسب هستن. البته همونطور که گفتم باهاشون خیلی کارهای دیگر هم میشه کرد و انجام شده.
این زبانها کاملا سطح بالا هستن و داینامیک تایپ هستن و بنابراین برای کارهای سطح بالا (برنامه نویسی وب هم جزو این کاربردهاست) خیلی مناسب تر از زبانهایی مثل سی و سی++ هستن و میشه باهاشون روی عملیات رشته ای هم که در این حیطه ها کاربرد زیادی داره خیلی راحت و سریع کار کرد.