فلسفه برنامهنویسی پایتون
نوشته شده: چهار شنبه مرداد 29, 99 11:35 am
پایتون یک زبان برنامهنویسی چند پارادایمی است به طوریکه هم شیء گرایی و برنامهنویسی ساختیافته را کاملاً پوشش میدهد و هم بسیاری از خصوصیات پایتون برنامهنویسی جنبه گرا و تابعی (مثل پشتیبانی از فرا برنامهنویسی)[۴۸] را پوشش میدهد.[۴۹] پارادایمهای برنامهنویسی دیگر نیز به وسیلهٔ افزونهها پشتیبانی شدهاند. مثل برنامهنویسی منطقی.[۵۰]
پایتون از تایپ پویا و ترکیبی از شمارش مرجع و یک حلقه کشف و بازیافت قسمتهای هدر رفته حافظه برای مدیریت حافظه، استفاده میکند.[۵۱] یک ویژگی مهم پایتون تحلیل نام پویا است، که روشها و نام متغیرها را در طول اجرای برنامه به هم ملحق میکند.
طرح پایتون به پشتیبانی محدود برای برنامهنویسی تابعی به سُنَت لیسپ، ارائه شد. به همین منظور پایتون دارای توابع filter, map, و reduce و بیانهای لیست، دیکشنری، مجموعه، و جنراتور است.[۵۲] اگرچه، تشابههای عمدهای بین پایتون و زبان خانواده لیسپ وجود دارد. این کتابخانه دو ماژول دارد (itertools and functools) که ابزارهای تابعی را با اقتباس از هسکل و استاندارد امال پیادهسازی میکند.[۵۳]
فلسفهٔ اصلی پایتون در سند ذن پایتون (PEP 20) خلاصه شدهاست که شامل کلمات قصار زیر است:[۵۴]
زیبا بهتر از زشت است.
بیان صریح بهتر از ضمنی است.
ساده بهتر از پیچیدهاست.
پیچیده بهتر از خیلی پیچیده (افتضاح) است.
خوانایی مهم است.
به جای اینکه تمام عملکرد پایتون در هستهٔ آن متمرکز باشد طوری طراحی شدهاست که به خوبی از افزونهها پشتیبانی کند. این ویژگی پایتون که آن را محبوب کردهاست راهی برای اضافه کردن ای پی آی به نرمافزارهای موجود بودهاست. ایدهٔ فان روسوم از زبانی با هستهٔ کوچک و کتابخانهٔ استاندارد بزرگ با مفسر آسان توسعه پذیر، ریشه در سرخوردگی او از زبان ABC دارد.[۳۵]
روش تست بارداری با خمیردندان یا صابون: روش انجام و میزان دقت
31 جمله تسلی بخش برای زمانی که کسی میمیرد
عفونت ادراری در کودکان: علائم، بهترین درمانهای خانگی و نکات مهم
چرا و چگونه کتاب بخوانیم؟ (نکات بسیار کاربردی)
همه نکاتی که در مورد ماساژ بارداری باید بدانید
پایتون تلاش میکند تا نحو و گرامری سادهتر و جمع و جور تر داشته باشد و به همین دلیل برای روششناسی کد فقط یک انتخاب در مقابل توسعه دهنده قرار میدهد. روش پایتون در مقابل روش پرل (بیش از یک روش برای انجام آن وجود دارد) قرار دارد و فلسفهٔ طراحی آن چنین است «باید یک راه – و ترجیحاً فقط یک راه – آشکار برای انجام آن وجود داشته باشد.».[۵۴] Alex Martelli که نویسندهٔ کتابهای مربوط به پایتون است. مینویسد: «در فرهنگ پایتون 'هوشمندانه' توصیف کردن چیزی ستایش بهشمار نمیرود.»[۵۵]
هدف دیگر طراحی زبان آسان کردن توسعهپذیری است. ماژولهایی که تازه ساخته شدهاند، بهسادگی در C و C++ نوشته میشوند. پایتون همچنین میتواند به عنوان زبان توسعه برای ماژولها و کاربردهای موجود که به برنامه واسط قابل برنامهریزی نیاز دارد، استفاده شود. توسعه دهندگان پایتون سعی کردند از بهینهسازی زود هنگام اجتناب کنند و وصلههای غیر حساس سیپایتون که باعث افزایش سرعت نهایی میشد را اضافه نکردند.[۵۶] هرگاه برای برنامهنویس پایتون سرعت اهمیت داشت او میتواند توابع زمانبر را به ماژولهای افزونه ای ببرد و آنها را به زبانهایی مثل سی بنویسد یا از پایپای استفاده کند که نوعی کامپایلر درجا است. از سایتون که اسکریپت پایتون را به سی ترجمه میکند نیز میتوان استفاده کرد.
به کاربران و علاقهمندان پایتون مخصوصاً آنان که باتجربه و باسواد به حساب میآیند Pythonistas گفته میشود
پایتون از تایپ پویا و ترکیبی از شمارش مرجع و یک حلقه کشف و بازیافت قسمتهای هدر رفته حافظه برای مدیریت حافظه، استفاده میکند.[۵۱] یک ویژگی مهم پایتون تحلیل نام پویا است، که روشها و نام متغیرها را در طول اجرای برنامه به هم ملحق میکند.
طرح پایتون به پشتیبانی محدود برای برنامهنویسی تابعی به سُنَت لیسپ، ارائه شد. به همین منظور پایتون دارای توابع filter, map, و reduce و بیانهای لیست، دیکشنری، مجموعه، و جنراتور است.[۵۲] اگرچه، تشابههای عمدهای بین پایتون و زبان خانواده لیسپ وجود دارد. این کتابخانه دو ماژول دارد (itertools and functools) که ابزارهای تابعی را با اقتباس از هسکل و استاندارد امال پیادهسازی میکند.[۵۳]
فلسفهٔ اصلی پایتون در سند ذن پایتون (PEP 20) خلاصه شدهاست که شامل کلمات قصار زیر است:[۵۴]
زیبا بهتر از زشت است.
بیان صریح بهتر از ضمنی است.
ساده بهتر از پیچیدهاست.
پیچیده بهتر از خیلی پیچیده (افتضاح) است.
خوانایی مهم است.
به جای اینکه تمام عملکرد پایتون در هستهٔ آن متمرکز باشد طوری طراحی شدهاست که به خوبی از افزونهها پشتیبانی کند. این ویژگی پایتون که آن را محبوب کردهاست راهی برای اضافه کردن ای پی آی به نرمافزارهای موجود بودهاست. ایدهٔ فان روسوم از زبانی با هستهٔ کوچک و کتابخانهٔ استاندارد بزرگ با مفسر آسان توسعه پذیر، ریشه در سرخوردگی او از زبان ABC دارد.[۳۵]
روش تست بارداری با خمیردندان یا صابون: روش انجام و میزان دقت
31 جمله تسلی بخش برای زمانی که کسی میمیرد
عفونت ادراری در کودکان: علائم، بهترین درمانهای خانگی و نکات مهم
چرا و چگونه کتاب بخوانیم؟ (نکات بسیار کاربردی)
همه نکاتی که در مورد ماساژ بارداری باید بدانید
پایتون تلاش میکند تا نحو و گرامری سادهتر و جمع و جور تر داشته باشد و به همین دلیل برای روششناسی کد فقط یک انتخاب در مقابل توسعه دهنده قرار میدهد. روش پایتون در مقابل روش پرل (بیش از یک روش برای انجام آن وجود دارد) قرار دارد و فلسفهٔ طراحی آن چنین است «باید یک راه – و ترجیحاً فقط یک راه – آشکار برای انجام آن وجود داشته باشد.».[۵۴] Alex Martelli که نویسندهٔ کتابهای مربوط به پایتون است. مینویسد: «در فرهنگ پایتون 'هوشمندانه' توصیف کردن چیزی ستایش بهشمار نمیرود.»[۵۵]
هدف دیگر طراحی زبان آسان کردن توسعهپذیری است. ماژولهایی که تازه ساخته شدهاند، بهسادگی در C و C++ نوشته میشوند. پایتون همچنین میتواند به عنوان زبان توسعه برای ماژولها و کاربردهای موجود که به برنامه واسط قابل برنامهریزی نیاز دارد، استفاده شود. توسعه دهندگان پایتون سعی کردند از بهینهسازی زود هنگام اجتناب کنند و وصلههای غیر حساس سیپایتون که باعث افزایش سرعت نهایی میشد را اضافه نکردند.[۵۶] هرگاه برای برنامهنویس پایتون سرعت اهمیت داشت او میتواند توابع زمانبر را به ماژولهای افزونه ای ببرد و آنها را به زبانهایی مثل سی بنویسد یا از پایپای استفاده کند که نوعی کامپایلر درجا است. از سایتون که اسکریپت پایتون را به سی ترجمه میکند نیز میتوان استفاده کرد.
به کاربران و علاقهمندان پایتون مخصوصاً آنان که باتجربه و باسواد به حساب میآیند Pythonistas گفته میشود