زبان پایتون چیست؟
پایتون یک زبان برنامه نویسی شیءگرا، تفسیری، سطح بالا، و همه منظوره است، که خیدو فان روسوم آن را طراحی کرده است، و اولین بار در سال 1991منتشر شده است. فلسفه اصلی طراحی پایتون «خوانایی بالای کد» است و فاصله خالی در آن معنادار هستند و مکرر استفاده میشوند. ساختار زبانی و دیدگاه شیءگرا در پایتون به گونهای طراحی شده است که به برنامهنویس امکان نوشتن کد منطقی و واضح (بدون ابهام) را برای پروژههای کوچک و بزرگ میدهد.
پایتون، زبان برنامهنویسی نسبتا سادهای محسوب میشود که یادگیری آن به دلیل دارا بودن یکتایی که بر قابلیت خوانایی تمرکز و تاکید دارد، آسان است. خواندن و ترجمه کدهای نوشته شده به زبان برنامه نویسی پایتون نسبت به دیگر زبانها برای توسعهدهندگان (Developers) سادهتر محسوب میشود. این موضوع به نوبه خود هزینههای نگهداری و توسعه برنامههای نوشته شده به این زبان را کاهش میدهد زیرا امکان همکاری تیمها بدون مواجهه با موانع زبانی و وجود تجربیات کاری متفاوت در میان اعضای تیم را به دست میدهد.
علاوه بر این، زبان برنامه نویسی پایتون از ماژولها (modules) و بستهها (packages) استفاده میکند، بدین معنا که برنامههای این زبان قابل طراحی به سبک ماژولار (modular) هستند و کدهای نوشته شده در یک پروژه در پروژههای گوناگون دیگر نیز قابل استفاده مجدد محسوب میشوند. هنگامی که کاربری ماژول یا بسته مورد نیاز خود را توسعه داد، خودش یا دیگر علاقمندان (در صورتی که کد در اختیار عموم قرار بگیرد) میتوانند آن را برای استفاده در دیگر پروژهها گسترش دهند. (Import) و(Export) کردن این ماژولها نیز کار آسانی است.
فلسفه تولید زبان پایتون
هدف خیدو از توسعه پایتون ایجاد جانشینی برای زبان برنامه نویسی ABC ، که برای سیستم عامل Amoeba کاربرد داشت، بود تا قابلیت پردازش استثناها را داشته باشد. خیدو فان روسوم برای خلق زبان ABC کمک کرده بود ولی مشکلاتی در این زبان دیده بود و با وجود این برخی ویژگی های آن را نیز دوست داشت.
کاری که خیدوفان روسوم در ادامه انجام داد خیلی هوشمندانه بود، او سینتکس زبان برنامه نویسی ABC و کمی از ویژگیهای مفید آن را برداشته بود. هر چند این مسئله با شکایات زیادی همراه بود ولی او تمام مشکلات زبان ABC را رفع کرد، و یک زبان اسکریپتی جدیدی ساخت که همهی معایب را از بین برده بود.
از آنجایی که خیدو فان روسوم دنبال یک اسم خاص ، کوتاه و کمی مرموز میگشت و همچنین در آن زمان ها در حال تماشای برنامه ‘Monty Python’s Flying Circus’ در تلویزیون BBC بود و این برنامه را خیلی دوس داشت اسم پایتون را از این برنامه الهام گرفت و برای اختراع خود انتخاب کرد.
در نهایت زبان برنامه نویسی پایتون در سال 1991 منتشر شد. این زبان نسبت به Java, C++ و C سادهتر بود و کدنویسی کمتری داشت.
مزایای زبان برنامه نویسی پایتون
با زبان پایتون چه کارهایی میتوانید انجام دهید؟
از پایتون میتوان برای ساخت انواع برنامه ها اعم از بزرگ و کوچک و ساده یا پیچیده استفاده کرد. تا به حال از پایتون برای نوشتن برنامههای تحت وب، اپلیکیشن ها و نرمافزارها استفاده شده است.
پایتون چارچوبها و کتابخانههای بسیاری در زمینه وب در اختیار قرار میدهند، که قابلیتهای بسیار خوبی هستند. چارچوبهای Django، CherryPy و Pyramid و کتابخانههایی مانند HTML، Json و FTP از جمله قبلیتهایی هستند که در این زمینه وجود دارد.
کتابخانههای در زبان پایتون تعبیه شده که میتواند محاسبات علمی و ریاضی پیچیده را انجام داده و از آنها در پروژه های مختلف علمی استفاده کرد. کتابخانه هایی مانند SciPy، Pandas و IPython از این دسته هستند.
زبان پایتون یکی از بهترین گزینهها برای شروع آموزش و یادگیری برنامه نویسی است. این زبان به دلیل سطح بالا بودن و راحتی پردازشها برای آموزش برنامه نویسی به دانش آموزان و دانشجویان بسیار مناسب است.
فرآیندهای نرم افزاری مانند ساخت، تست، مدیریت و نگهداری با زبان پایتون به خوبی انجام میشوند. چرا که پایتون قابلیتهایی نظیر SCons، Apache Gump و Roundup برای این فرآیندها دارد.
شاید نام Odoo را شنیده باشید این نرم افزار برای مدیریت و برنامهریزی منابع انسانی به زبان پایتون نوشته شده است. بنابراین پایتون در زمینه فعالیتهای تجاری نیز کاربرد دارد.
از جمله نرم افزارهای مطرحی که از پایتون استفاده میکنند:
فرصتهای شغلی زبان پایتون
به عنوان یک برنامه نویس میتوانید تنها از پایتون برای رسیدن به اهداف خود استفاده کنید. از این زبان برنامه نویسی به عنوان ابزاری چند منظوره استفاده میشود و میتواند اهداف متعدد و مختلفی را پوشش دهد. این زبان از میزان قابل توجهی کنترل برخوردار است و شما را قادر خواهد ساخت تا به عنوان یک برنامه نویس مسائل گوناگون را به راحتی حل کنید.
از زبان برنامه نویسی پایتون در آنالیز دادهها نیز استفاده میشود و این امکان را برای شما فراهم میکند تا به راحتی برنامههایی برای توسعه وب بنویسید. همچنین با استفاده از زبان برنامه نویسی پایتون میتوانید برای توسعه واسط گرافیکی کاربر، نیز به راحتی برنامهای را تنظیم کنید.
پایتون گزینهی مناسبی برای توسعهی نرم افزار گوناگون میباشد، مانند نرم افزارهایی که در توسعه بازیسازی از آنها استفاده میشود. برای طراحی برنامههای کاربردی استفاده از پایتون بسیار راحت و آسان است. چنانچه مایل باشید از کدهای دستوری تست بگیرید و پیشنمونهسازی کنید، به شما توصیه میشود تا از زبان برنامه نویسی پایتون استفاده کنید. استفاده از پایتون در برنامههای توسعه زبانی نیز قابل ملاحظه است، همچنین به راحتی میتوانید برنامههای طراحی گرافیکی را با بهره گرفتن از پایتون تهیه کنید.
پایتون یک زبان برنامهنویسی چند پارادایمی است و از چهار پارادایم اصلی و مهم برنامهنویسی دستوری (Imperative Programming)، برنامهنویسی رویهای (Procedural Programming)، برنامهنویسی شیءگرا (Object-oriented Programming) و برنامهنویسی تابعی (Functional Programming) پشتیبانی میکند. بنابراین، برنامهنویس پایتون میتواند به راحتی در پروژههایی که از پاردایمهای مختلف استفاده میکنند از مهارت و توانایی خود و تواناییهای پایتون استفاده کند. همین سطح بالای توانایی، خود منجر به افزایش درآمد برنامهنویس پایتون در ایران و جهان میشود. درآمد متخصصین برنامه نویسی Python چه خارج از کشور و در سطح جهان، بسیار بالا و قابل توجه می باشد.
زبان پایتون در شرکتهای بزرگ، متوسط و کوچک زیادی استفاده میشود. در حال حاضر، بسیاری از شرکتهای محبوب، معتبر و بزرگ دنیا که پیشتاز عرصه فناوری محسوب میشوند از پایتون استفاده و بعضا از آن پشتیبانی میکنند. همین امر موجب شده است تا پایتون با اقبال دو چندانی مواجه شود و دیگر شرکتها هم با توجه به ویژگیها و مزایای پایتون و هم به تبعیت از این غولهای فناوری، به سمت و سوی پایتون، بیش از پیش گام بردارند.
برنامهنویسهای پایتون دارای قابلیتهای متنوع و متعدد گوناگونی هستند. همین امر موجب میشود که شرکتهای زیادی پروژههای خود را با پایتون شروع کنند و یا در مسیر تولید، به سمت پایتون سوق دهند و تمایل ویژهای به استخدام برنامهنویسهای پایتون داشته باشند.
پایتون دارای نحو آسان و ساختار و دستور بسیار شفاف، یکپارچه و منسجم است. همین ویژگیها درک و یادگیری این زبان را سادهتر از دیگر زبانهای برنامهنویسی میکند و سرعت و سهولت یادگیری، موجب میشود که فاصله بین یادگیری و بازار کار پایتون در ایران و جهان کوتاهتر شود و فرد سریعتر بتواند اولین درآمد خود را به عنوان برنامهنویس پایتون کسب کند.
درآمد برنامه نویس پایان در ایران نیز همچون سطح درآمد برنامه نویس پایتون در جهان، بسیار بالا و قابل توجه است. با وجود آنکه هیچ منبع رسمی میانگین حقوق سالانه برنامهنویسان را اعلام نمیکند، اما بر اساس آمارهای موجود از وبسایتهای کاریابی آنلاین و وبسایتهای کارمزدی (آزادکارها)، میتوان گفت که سقف خاصی برای مبلغ دریافتی برنامهنویسان پایتون با سابقه و تجربه یا به اصطلاح سنیورها وجود ندارد و بسته به نوع پروژه، نوع شرکت، جایگاهی که نیرو برای آن استخدام شده (مدیر یا توسعهدهنده) و دیگر فاکتورها، مبالغ دریافتی از حداقل بیش از هشت الی ده میلیون تومان آغاز میشود و تا حتی بیست و پنج میلیون تومان در ماه یا بیشتر نیز میرود.
بر اساس گزارشات در ایالات متحده آمریکا و تعدادی از کشورهای اروپایی میانگین حقوق پایه سالیانه یک برنامه نویس پایتون، 85,571 دلار اعلام شده است. همچنین میانگین پایه حقوق سالیانه متخصصین هوش مصنوعی یادگیری ماشین 146,085 و دانشمندان داده 120,495 دلار است. در نتیجه کسانی که برنامه نویسی پایتون بلد باشند در هر حوزه مرتبطی که فعالیت کنند درآمد بالایی خواهند داشت.
آمارهای زبان پایتون
از سال 2003 پایتون طبق شاخص وبسایت تیوبی یکی از ده زبان محبوب برنامهنویسی بوده است و در فوریه 2020 سومین زبان برنامهنویسی محبوب بعد از c و جاوا بوده است. پایتون در سالهای 2007 ،2010 و 2018 به عنوان زبان برنامهنویسی سال انتخاب شده است.
هر سال در پایان سال میلادی، چندین غول فناوری دنیا اقدام به بررسی و تحلیل دادههای موجود و وضعیت بازار میکنند و بر اساس آن، اعلام میکنند که چه مهارتهایی بازار کار مناسبی داشتهاند و خواهند داشت. در سال98، لینکدین اعلام کرد که مهارتهای رایانش ابری، هوش مصنوعی، توسعه نرمافزار، محاسبات علمی، توسعه بازیهای کامپیوتری، علم داده و بازاریابی دیجیتال، جز مجموعه 25 مهارت سخت و نرمی هستند که سازمانها به آنها نیاز داشتهاند و دارند. بر کسی پوشیده نیست که پایتون، در کلیه موارد یاد شده نقش مهم و پررنگی دارد و به طور خاص در زمینه هوش مصنوعی، محاسبات علمی و علم داده، یکهتاز زبانهای برنامهنویسی است.
این در حالی است که در سال 99، در گزاری گرایشهای یادگیری فضای کاری Workplace Learning Trends Report سایت یودمی، علم داده، مهندسی نرمافزار، توسعه وب و بازاریابی دیجیتال را جز پنج مهارت اصلی عنوان کرد که از محبوبیت بیشتری در میان مهندسها، بازاریابها، کارکنان فروشی و دیگر مشاغل برخوردار هستند. در این گزارش، برای کلیه موارد یاد شده، تسلط به زبان برنامهنویسی پایتون جزو مهارتهای اصلی مورد نیاز برای این زمینههای فعالیت بیان شده و این خود حاکی از بازار کار گسترده پایتون در سراسر جهان است.
همچنین، در گزارشی که توسط Insight ارائه شده است، پایتون جزو بهترین زبانهای برنامهنویسی برای بحث علم داده و دیگر زمینههای عنوان شده در بالا است و این یعنی علاوه بر گستردگی بازار کار پایتون در ایران و جهان، سطح درآمد برنامه نویس پایتون در ایران و جهان نیز بالا است.
در سال 99 نیز مهارتهای یودمی، علم داده، مهندسی نرم افزار، توسعه وب و بازاریابی دیجیتال سرآمد بودهاند که برای این تخصصها نیز تسلط بر زبان برنامه نویسی Python بسیار ضروری است و این خود نشاندهنده بازار کار گسترده پایتون در سراسر دنیا میباشد.
در شکل زیر جدول آماری زبانهای برنامه نویسی مختلفی که شرکتها در سال 2020 تمایل به استخدام نیرو برای آنها داشتهاند را مشاهده میکنید.
ورژنهای زبان پایتون
پیادهسازی پایتون در دسامبر 1989 آغاز شد. خیدو طراح اصلی پایتون است و نقش مداوم او در تصمیمگیری پیرامون اهداف پایتون، باعث شد که انجمن پایتون به او لقب دیکتاتور خیرخواه جاویدان را بدهد. فان روسوم تا 12 ژوئیه 2018 مسئولیت رهبری پروژه پایتون را به عهده داشت. در آن زمان او اعلام کرد که از مسئولیت خود به عنوان دیکتاتور خیرخواه جاویدان کناره میگیرد. در حال حاضر، او مسئولیت رهبری پروژه پایتون را به یک انجمن راهبری پنج عضوی که خود نیز یکی از اعضای آن است دادهاست. در ژانویه 2019 توسعه دهندگان فعال هسته پایتون نیک کولان، برت کانون، بری وارساو، کارول ویلینگ، و خیدو فان رو سوم را به عنوان اعضای انجمن انتخاب کردند. از آن زمان خیدو فان روسوم از نامزدی برای انجمن 2020 صرف نظر کرده است.
پایتون 2٫0 در 16 اکتبر 2000 با ویژگیهای مهم و جدید بسیاری منتشر شد که شامل بازیافت حافظه با قابلیت شناسایی دور و پشتیبانی از یونیکد بود.
پایتون 3٫0 در 3 دسامبر 2008 منتشر شد این نسخه بازنویسی عمدهای از نسخه قبل بود که سازگاری عقبرو را شکسته بود. بسیاری از ویژگیهای عمده آن به پایتون 2.6.x و 2.7.x پیش انتقال داده شدند. نسخههای منتشر شده از پایتون 3 ابزار2to3 را دارند که کار ترجمه کد پایتون 2 به پایتون 3 را (حداقل تا حدودی) انجام میدهد.
از سال 2015 مقرر شد نسخههای پایتون 2٫7 تنها تا سال 2020 پشتیبانی شوند.
توسعه پایتون از طریق PEP به معنای پروپوزال بهینهسازی پایتون انجام میشود که سازوکار اولیه برای مطرح کردن ویژگیهای عمده جدید و جمعآوری ورودی جامعه پایتون درباره مشکلات و مستندسازی طرح تصمیمگیریهای پایتون است. جامعه پایتون و شورای مدیریتی PEP ها را بررسی میکنند. توسعه این زبان متناظر با توسعه پیادهسازی مرجع (سیپایتون) است. میلینگ لیست python-dev انجمن اولیه برای توسعه این زبان است. مشکلات نرمافزاری آن در سایت ردیابی باگ روندآپ که در bugs.python.org میزبانی میشود مورد بحث قرار میگیرند.
تا سال 2017 توسعه آن در مخزن نرمافزاریای خودمیزبان انجام میشد که از مرکوریال استفاده میکرد ولی از ژانویه سال 2017 کد منبع پایتون به گیتهاب منتقل شد.
پیش از پایتون زبانی با نام ABC پیاده سازی شد که با مشکلات بسیاری روبرو بود اما برخی ویژگی های این زبان از دید Van Rossum خوب و کاربردی بودند. ازین رو او با بهره گیری از تعدادی از ویژگی های ABC، پایتون را پیاده سازی کرد. سیر تکاملی نسخه های مختلف پایتون به شرح زیر است.
نسخه نخستین: در فوریه 1991 « Van Rossum» مجموعه کدی با نام نسخه 0/9/0 را منتشر کرد. این نمونه کد پایتون از تعدادی کلاس و روابط ارثبری، استثنا گردانی یا Exception handling، توابع و انواع داده list، dict و str و سیستم ماژولهایی مانند ماژولای 3 تشکیل شده بود.