زبان برنامه نویسی پایتون چیست؟
پایتون یه زبان برنامه نویسی سطح بالا، شی گرا و تفسیر شده با سینتکس داینامیک هست. ساختارهای داده داخلی قدرتمندش، همراه با نوع دهی پویا و اتصال پویا، باعث میشه یه انتخاب فوق العاده برای توسعه سریع اپلیکیشن (Rapid Application Development) باشه. همینطور میتونه به عنوان یه زبان اسکریپت نویسی یا زبان چسبنده برای اتصال کامپوننت های موجود استفاده بشه.
مزایای پایتون
سینتکس ساده و قابل فهم پایتون، خوانایی کد رو افزایش میده و هزینه نگهداری برنامه رو کاهش میده. ماژول ها و بسته ها (modules & packages) در پایتون، باعث میشن که کدها به صورت ماژولار و قابل استفاده مجدد باشن. مفسر پایتون و کتابخونه استاندارد گسترده اش به صورت رایگان برای تمام پلتفرم های اصلی در دسترسه و به راحتی توزیع میشه.
پایتون چطور متولد شد؟
پایتون اواخر دهه ۱۹۸۰ توسط گیدو ون روسوم در مرکز ریاضیات و علوم کامپیوتر (CWI) هلند طراحی شد. این زبان به عنوان جانشین زبان برنامه نویسی ABC ایجاد شد، زبانی که از SETL الهام گرفته بود و قابلیتهایی مثل مدیریت استثناها (exception handling) و اتصال به سیستم عامل Amoeba رو داشت. پیاده سازی پایتون از دسامبر ۱۹۸۹ شروع شد.
چرا برنامه نویس ها عاشق پایتون میشن؟
چون بهره وری فوق العاده بالایی داره. به خاطر عدم نیاز به مرحله کامپایل، چرخه ویرایش-تست-دیباگ خیلی سریعه. دیباگ کردن پایتون هم آسونه—یه باگ یا ورودی اشتباه، هیچ وقت باعث کرش سطح حافظه (segmentation fault) نمیشه. اگه خطایی پیدا بشه، یه استثنا (exception) رخ میده و اگه برنامه اون رو نگیره، تفسیرگر پایتون یه گزارش خطا (stack trace) نمایش میده.پایتون یه دیباگر سطح منبع داره که اجازه میده متغیرهای محلی و سراسری رو بررسی کنی، عبارات دلخواه رو ارزیابی کنی، نقاط توقف (breakpoints) تعریف کنی و کد رو خط به خط اجرا کنی. جالبه که خود دیباگر هم با پایتون نوشته شده که نشون دهنده قدرت بالای پایتون در خودکاوی (introspection) هست.از طرف دیگه، سریع ترین روش برای دیباگ یه برنامه، اضافه کردن چند تا print ساده به کد هست. چون چرخه سریع ویرایش-تست-دیباگ این روش ساده رو بسیار مؤثر میکنه.
فلسفه طراحی و ویژگی های پایتون
پایتون یه
زبان برنامه نویسی چند پارادایمی هست. برنامه نویسی شی گرا (OOP) و برنامه نویسی ساخت یافته (structured programming) رو به طور کامل پشتیبانی میکنه، و بسیاری از قابلیت هاش از برنامه نویسی تابعی (functional programming) و برنامه نویسی جنبه گرا (aspect-oriented programming) هم پشتیبانی میکنن، از جمله متاپروگرمینگ (metaprogramming) و متاابجکت ها (metaobjects).از طریق افزونه ها، پارادایم های دیگه مثل طراحی بر اساس قرارداد (design by contract) و برنامه نویسی منطقی (logic programming) هم در پایتون قابل استفاده هستن. به پایتون "زبان چسبنده" (glue language) هم گفته میشه، چون میتونه به راحتی اجزای نوشته شده با زبان های دیگه رو یکپارچه کنه.پایتون از
نوع دهی پویا (dynamic typing) استفاده میکنه و برای مدیریت حافظه، ترکیبی از شمارش مراجع (reference counting) و یک جمع کننده زباله با قابلیت تشخیص چرخه (cycle-detecting garbage collector) داره. همچنین از تعیین نام داینامیک (dynamic name resolution) یا "بایندینگ دیرهنگام" (late binding) استفاده میکنه، که یعنی متدها و متغیرها حین اجرای برنامه مقداردهی میشن.طراحی پایتون، از بعضی مفاهیم برنامه نویسی تابعی در سنت Lisp هم الهام گرفته. توابع filter، map و reduce، لیست کامپرهنشن (list comprehensions)، دیکشنری ها، مجموعه ها (sets) و جنریتور اکسپرشن ها (generator expressions) رو داره. همچنین، توی کتابخونه استاندارد دو ماژول itertools و functools وجود دارن که ابزارهای برنامه نویسی تابعی الهام گرفته از Haskell و Standard ML رو فراهم میکنن.فلسفه اصلی پایتون توی "ذنِ پایتون" (PEP 20) خلاصه شده که شامل اصولی مثل اینهاست:
- زیبا بهتر از زشته.
- صراحت بهتر از ابهامه.
- سادگی بهتر از پیچیدگیه.
- پیچیدگی بهتر از سردرگمیه.
- خوانایی مهمه.
سینتکس و معناشناسی در پایتون
پایتون طوری طراحی شده که یه زبان خوانا و قابل فهم باشه . فرمت کدنویسیش ساده و مرتب هست و بیشتر از کلمات کلیدی انگلیسی استفاده میکنه، جایی که خیلی از زبان های دیگه از علائم نگارشی استفاده میکنن.برخلاف خیلی از زبان های دیگه، پایتون از آکولاد {} برای تعیین بلوک های کد استفاده نمیکنه. به جای اون، تورفتگی (indentation) مشخص کننده بلوک های کده. همچنین استفاده از نقطه ویرگول ; بعد از دستورات مجازه، اما به ندرت استفاده میشه.پایتون در مقایسه با C یا Pascal ، استثناهای سینتکسی و موارد خاص کمتری داره، که باعث میشه یادگیری و استفاده ازش ساده تر باشه.
محبوبیت در پایتون
از سال ۲۰۰۳، پایتون همیشه جزو ده زبان برنامه نویسی برتر در شاخص TIOBE بوده و تا دسامبر ۲۰۲۲ به محبوب ترین زبان برنامه نویسی تبدیل شد (پیش از C، C++ و Java).پایتون در سال های ۲۰۰۷، ۲۰۱۰، ۲۰۱۸ و ۲۰۲۰ به عنوان زبان برنامه نویسی سال انتخاب شد (به خاطر بیشترین رشد در امتیازات در یک سال). این تنها زبانیه که تا سال ۲۰۲۰، چهار بار این عنوان رو دریافت کرده.سازمان های بزرگی که از پایتون استفاده میکنن شامل ویکی پدیا، گوگل، یاهو، CERN، ناسا، فیسبوک، آمازون، اینستاگرام، اسپاتیفای و شرکت های کوچکتری مثل Industrial Light & Magic و ITA هستن.سایت اجتماعی Reddit تقریباً به طور کامل با پایتون نوشته شده. همچنین، سازمان هایی مثل Discord و Baidu هم بخشی از سیستم های خودشون رو با پایتون اجرا میکنن.