TAHA
10-23-2009, 10:14 AM
در دنیای امروز کامپیوتر شاید صدها زبان برنامه نویسی وجود داره که به رغم قدرتمند بودن در نطفه خفه میشن، خیلی از این زبانها شاید در حد یه پروژه ی دانشگاهی یا حتی ابتکار یک نفره باشن اما در میان اونها زبانهایی مثل Python ( پایتون - پیتون ) آهسته و بی سر و صدا منتظر هستند تا در فرصت مناسب به رقبا حمله ور بشوند!
از زبان Python مثل سایر همنوعانش در میان زبانهایی مثل Java یا C++ یا مثلا زبانهای سطح بالای مایکروسافتی خیلی کم نامی برده میشه. اگر سراغ زبانهای تحت وب بریم هم PHP با قدرت در بهترین موقعیت از لحاظ رواج و پشتیبانی قرار گرفته و پس از اون هم ASP.NET مایکروسافت با حمایت چنین غولی راه رو برای رقبا بسته است. اما Python قابلیتهایی رو داره که شاید بسیاری از اونها در هیچ زبان دیگه ای تجربه نشده باشن، یک زبان “همه کاره”.
Python از جامعه ی کد باز است، زبانی که گوگل به عنوان یکی از اصلی ترین ابزارهای توسعه از اون استفاده میکنه و همینطور یاهو. برنامه های Python مثل PHP قابلیت اجرا روی هر پلاتفرمی رو دارند، ویندوز، لینوکس،… و حتی پلی استیشن! اگه طرفدار سادگی باشید Python یه سینتکس تقریبا شبیه گفتار ساده ی انگلیسی داره، مثل PHP با حدود ۶۰ واژه ی کلیدی جزو ساده ترینهاست. این زبان به تمام معنا از شی گرایی پشتیبانی میکنه، بهتر از هر زبان دیگه ای. Python خیلی از سنتهای سینتکسی زبانهای برنامه نویسی رو شکسته، از شکل شمایل C-Like محبوب خیلی کم به ارث برده، مثلا بلاکها دیگه با آکولاد مشخص نمیشن یا آخر خطوط سیمی کالن گذاشته نمیشه، در زمینه ی کنترلی هم چنین هنجار شکنی هایی رو داره، مثلا در این زبان چیزی به نام Switch وجود نداره!
در عوض پشت شی گرایی قوی اون قابلیتهای مهمی خوابیده که درکش تا وقتی وارد این زبان نشید و باهاش کار نکنید سخته، Python همونطور که گفتم همه جا کاربرد داره، برنامه های رومیزی خط فرمان و یا با GUI قوی که با یک زبان مفسری نوشته میشن تجربه ی جدیدی برای خیلی هاست. در رابطه با توسعه ی وب هم این زبان طرفداران بسیار پر و پا قرصی داره، کافیه یه گوگل انجام بدید. برای خود من همین قابلیتهای مربوط به وب هست که مهمه و البته حداقل تا دو سال آینده و تا وقتی که خوب با Python آشنا نشدم قصد تغییر زبان ندارم، فعلا PHP به اندازه کافی قدرتمند هست که چنین عجله ای رو نداشته باشم! اما در آینده حتما مقاله ای رو در این رابطه همینجا منتشر میکنم.
خب، فقط خواستم یه جرقه ای زده باشم برای مباحث بعدی، البته اینجا خیلی محدود در موردPython بحث میکنیم، نمیخوام زیاد وبلاگم فنی بشه! دست آخر اینکه Python یه زبان خاص هست، یعنی نمیشه به هر کسی توصیه کرد که کارش رو رها کنه و بیاد دنبالش، چه در برنامه نویسی وب و چه برنامه نویسی رومیزی (چه اصطلاح مسخره ای! فعلا همین به ذهنم میرسه) چون یه زبان کاملا “قانونمند” هست، شاید خیلی وقتها نتونید سادگی رو به اون معنای درش پیدا کنید. بیشتر فکر میکنم رقابت Python به عنوان یه زبان چند منظوره با زبانهایی مثل ++C#، Java ، C و Fortran باشه تا حوزه ای خاص مثل توسعه ی وب.
خیلی ها دیوانه وار از این زبان حمایت میکنند، مثلا توی یه وبلاگ خارجی یه نفر کامنت زده “PHP is kidding”، آخه با چه منطقی؟! یا نمونه ی چنین متلکهایی رو به Java میپرونن، اکثرا هم به صورت دیوانه وار عصبانی هستند!!! به شخصه فکر میکنم قابلیتهایی که میشه خیلی روشون مانور داد اولا کراس پلاتفرم بودن و دوما قابلیتهای مناسب مشترک در وب و رومیزی هست که امکان نوشتن کامپوننت های مشترک رو به برنامه نویس میده، پشتیبانی فوق العاده از شی گرایی (OO) و یونیکد هم میتونه مهم باشه.
از زبان Python مثل سایر همنوعانش در میان زبانهایی مثل Java یا C++ یا مثلا زبانهای سطح بالای مایکروسافتی خیلی کم نامی برده میشه. اگر سراغ زبانهای تحت وب بریم هم PHP با قدرت در بهترین موقعیت از لحاظ رواج و پشتیبانی قرار گرفته و پس از اون هم ASP.NET مایکروسافت با حمایت چنین غولی راه رو برای رقبا بسته است. اما Python قابلیتهایی رو داره که شاید بسیاری از اونها در هیچ زبان دیگه ای تجربه نشده باشن، یک زبان “همه کاره”.
Python از جامعه ی کد باز است، زبانی که گوگل به عنوان یکی از اصلی ترین ابزارهای توسعه از اون استفاده میکنه و همینطور یاهو. برنامه های Python مثل PHP قابلیت اجرا روی هر پلاتفرمی رو دارند، ویندوز، لینوکس،… و حتی پلی استیشن! اگه طرفدار سادگی باشید Python یه سینتکس تقریبا شبیه گفتار ساده ی انگلیسی داره، مثل PHP با حدود ۶۰ واژه ی کلیدی جزو ساده ترینهاست. این زبان به تمام معنا از شی گرایی پشتیبانی میکنه، بهتر از هر زبان دیگه ای. Python خیلی از سنتهای سینتکسی زبانهای برنامه نویسی رو شکسته، از شکل شمایل C-Like محبوب خیلی کم به ارث برده، مثلا بلاکها دیگه با آکولاد مشخص نمیشن یا آخر خطوط سیمی کالن گذاشته نمیشه، در زمینه ی کنترلی هم چنین هنجار شکنی هایی رو داره، مثلا در این زبان چیزی به نام Switch وجود نداره!
در عوض پشت شی گرایی قوی اون قابلیتهای مهمی خوابیده که درکش تا وقتی وارد این زبان نشید و باهاش کار نکنید سخته، Python همونطور که گفتم همه جا کاربرد داره، برنامه های رومیزی خط فرمان و یا با GUI قوی که با یک زبان مفسری نوشته میشن تجربه ی جدیدی برای خیلی هاست. در رابطه با توسعه ی وب هم این زبان طرفداران بسیار پر و پا قرصی داره، کافیه یه گوگل انجام بدید. برای خود من همین قابلیتهای مربوط به وب هست که مهمه و البته حداقل تا دو سال آینده و تا وقتی که خوب با Python آشنا نشدم قصد تغییر زبان ندارم، فعلا PHP به اندازه کافی قدرتمند هست که چنین عجله ای رو نداشته باشم! اما در آینده حتما مقاله ای رو در این رابطه همینجا منتشر میکنم.
خب، فقط خواستم یه جرقه ای زده باشم برای مباحث بعدی، البته اینجا خیلی محدود در موردPython بحث میکنیم، نمیخوام زیاد وبلاگم فنی بشه! دست آخر اینکه Python یه زبان خاص هست، یعنی نمیشه به هر کسی توصیه کرد که کارش رو رها کنه و بیاد دنبالش، چه در برنامه نویسی وب و چه برنامه نویسی رومیزی (چه اصطلاح مسخره ای! فعلا همین به ذهنم میرسه) چون یه زبان کاملا “قانونمند” هست، شاید خیلی وقتها نتونید سادگی رو به اون معنای درش پیدا کنید. بیشتر فکر میکنم رقابت Python به عنوان یه زبان چند منظوره با زبانهایی مثل ++C#، Java ، C و Fortran باشه تا حوزه ای خاص مثل توسعه ی وب.
خیلی ها دیوانه وار از این زبان حمایت میکنند، مثلا توی یه وبلاگ خارجی یه نفر کامنت زده “PHP is kidding”، آخه با چه منطقی؟! یا نمونه ی چنین متلکهایی رو به Java میپرونن، اکثرا هم به صورت دیوانه وار عصبانی هستند!!! به شخصه فکر میکنم قابلیتهایی که میشه خیلی روشون مانور داد اولا کراس پلاتفرم بودن و دوما قابلیتهای مناسب مشترک در وب و رومیزی هست که امکان نوشتن کامپوننت های مشترک رو به برنامه نویس میده، پشتیبانی فوق العاده از شی گرایی (OO) و یونیکد هم میتونه مهم باشه.