انقلاب پایتون!
مقدمه
اگر به برنامه نویسی علاقه دارید و به دنبال یادگیری آن هستید بدون شک نام پایتون به گوشتان خورده. پایتون یک زبان برنامه نویسی شی گرا و سطح بالاست. در این مطلب شما را با واقعیاتی در مورد این زبان برنامه نویسی آشنا میکنیم که واقعا به انقلاب پایتون ایمان خواهید آورد. منتظر باشید تا متوجه شوید که واقعا پایتون چیست؟ اما قبل از صحبت در مورد اینکه پایتون چیست شاید بهتره در مورد شی گرایی و سطح بالا بودن یک زبان برنامه نویسی یکسری توضیحات بدم.
فهرست مطالب
شی گرایی یعنی چی؟
در گذشته زبان های برنامه نویسی به صورت رویه ای بودند. در این مدل زبان ها، برنامه نویس مجموعه ای از رویه ها رو مینوشت و کامپیوتر آنها را اجرا میکرد. این زبان ها مدت های زیادی کار کرد داشتند اما زمانی که برنامه نویس قصد داشت تا کاری را خارج از یک زمان بندی انجام دهد این زبان ها دیگر کاربرد نداشتند. اینجا بود که ایده شی گرایی به میان آمد. برنامه نویسی شی گرایی، نگاهی از پایین به بالا دارد. یعنی ابتدا کدها و واحدهای کوچک نوشته میشوند. بعد این واحدها در کنار هم واحدهای بزرگتری را ایجاد میکنند و در نهایت شکل کاملی از برنامه ساخته میشود.
پایتون چیستاجازه بدید تا با یک مثال ساده توضیح بدم. یک کارخانه لوازم خانگی را در نظر بگیرید که یخچال نیز تولید میکند. برای ساخت یک یخچال قسمت های مختلفی در کارخانه وجود دارد. بخشی که قالب فلزی یخچال را درست میکند بخشی دیگر بدنه داخلی آن را و یک بخش هم سیستم های الکتریکی آن را. در نهایت این بخش ها در کنار هم قرار گرفته و محصولی به نام یخچال را روانه بازار میکنند. زبان های برنامه نویسی شی گرا هم به این ترتیب کار میکنند. البته در موضوع شی گرایی دو مقوله کلاس و شی هم قرار دارد که در این مطلب به آنها نمیپردازیم.
زبان های سطح بالا یعنی چی؟
دو نوع زبان برنامه نویسی وجود دارد. زبان های سطح بالا و سطح پایین. هر کدام از این نوع زبان ها ویژگی های خاص خود را دارند. زبان های سطح بالا قابلیت جداسازی یا اصطلاحا انتزاع را دارند. با حافظه و مدیریت آن کاری ندارند و از همه جالب تر به زبان انسان ها نزدیک است. اما زبان های سطح پایین قابلیت انتزاع یا جداسازی را ندارند حافظه را درگیر میکنند و فقط توسط ماشین قابل خواندن است و انسان ها به راحتی نمیتوانند آن را بخوانند. به این کد دقت کنید
153 260 0 129 130 191 251 0 108 92
این یک کد به زبان ماشین است. یک زبان سطح پایین. آیا مفهوم و عملکرد آن را متوجه میشوید؟ اما در مورد کد زیر چی؟
<!--?php echo "My first PHP script!";// ?>
هر برنامه نویسی می تواند کد PHP بالا را بخواند. یک صفحه وب که جمله My first PHP script را نشان میدهد.
حالا که معنای زبان های سطح بالا و شی گرا را متوجه شدید هر زمان که با جمله « این زبان برنامه نویسی، زبانی است شی گرا و سطح بالا » برخورد کردید کاملا معنای آن را درک میکنید. بر می گردیم اول مقاله و موضوع مربوط به آن.
پایتون چیست؟
پایتون زبانی است شی گرا و سطح بالا که در سال 1991 و توسط شخصی به نام خیدو فان روسوم اهل هلند، و در موسسه ملی تحقیقات این کشور منتشر شد. این زبان به عنوان جایگزینی برای زبان ABC و با دو هدف خوانا بودن کدها و کوتاهی و بازدهی نسبتا بالای آنها ساخته شد. یکی از نکات قدرتمند این زبان حداقلی بودن کلمات کلیدی آن و در عین حال وجود کتابخانه های بسیار وسیع برای آن است. همچنین این زبان قابلیت حل استثناها و همگام سازی با سیستم عامل Amoeba را دارد.
اما این یک تعریف معمولی برای پایتون است. اگر واقعا میخواهید بدانید که پایتون چیست ادامه مطلب را از دست ندهید.تاریخچه پایتون
پایتون از سال 1989 اجرا شد. خالق آن یعنی آقای خیدو، همواره بر روی عملکرد و اهداف آن و تصمیم گیری برای این زبان نقش داشته. همین موضوع نیز باعث شد تا به او لقب دیکتاتور خیرخواه جاویدان بدهند. در ساب 1991 آقای فان روسوم نسخه 0.9.0 را منتشر کرد. در این نسخه ویژگی هایی مثل ارث بری، پردازش استثناها، توابع و انواع داده str, dict, list وجود داشت. در سال 1994 اولین انجمن برای پایتون به وجود آمد که کمک زیادی به پیشرفت این زبان برنامه نویسی کرد. در همین سال نسخه 1.0 این زبان نیز منتشر شد که ابزارهای برنامه نویسی reduce, filter, map و lambda را شامل میشد.
نسخه 1.2 در سال 1995 ارائه شد. آقای خودو در این زمان در موسسه ملی تحقیقات و ابتکارات کار میکرد و چندین نسخه از پایتون را در همین زمان ارائه داد. نسخه 1.4 پایتون همراه با چندین ویژگی جالب ارائه شد. الهام گرفتن از آرگومان های کلیدی ماژول 3 و پشتیبانی از اعداد مختلط از جمله این ویژگی هاست. در روز 16 اکتبر سال 2000، نسخه 2 این زبان برنامه نویسی قدرتمند منتشر شد. cycle - detecting garbage collector و همچنین پشتیبانی از Unicode از جمله قابلیت هایی هستند که به این نسخه از پایتون اضافه شدند. اما مهمترین اتفاق در حوزه پایتون در 3 دسامبر سال 2008 اتفاق افتاد. انتشار نسخه 3 پایتون. تغییرات این نسخه به قدری زیاد بود که با بسیاری از ویژگی های نسخه 2 همخوانی نداشت. این موضوع باعث شد تا شرکت گوگل هم بر روی نسخه 2 پایتون کار کرد تا بتواند کارایی آن را ارتقا دهد.
آیا فکر میکنید انقلاب پایتون نظریه درستی است؟مقاله ای با نام Zen of python نوشته شده که شامل فلسفه پایتون است. فلسفه پایتون شامل موارد زیر است. زیبایی بهتر از زشتی است. وضوح و خوانایی بهتر از ضمنی بودن است. سادگی بهتر از پیچیدگی است. پیچیدگی بهتر از بغرنج بودن است. خوانا بودن.آیا پایتون سخت است؟
بدون شک نه. میتوان به جرات گفت پایتون یکی از راحت ترین زبان های برنامه نویسی در جهان است. با توجه به اینکه پایتون کاربردهای فراوانی دارد و فعالیت های سطح بالایی مثل ماشین لرنینگ، هوش مصنوعی، هک و تست نفوذ و بسیاری موارد دیگر کاربرد دارد بسیاری از افراد فکر میکنند زبان بسیار سختی است. اما این باور کاملا غلط است. شما از هر برنامه نویس حرفه ای که سوال کنید برای شروع برنامه نویسی چه زبانی مناسب است از هر 10 نفر، 9 نفر پایتون را معرفی میکنند.
به علاوه سینتکس های ساده و کوتاه پایتون نیز باعث شده تا این زبان به بهترین گزینه برای شروع یادگیری برنامه نویسی تبدیل شود. به علاوه اینکه پایتون جامعه بسیار بزرگی را تشکیل میدهد و برنامه نویسان زیادی در آن فعالیت میکنند. این موضوع باعث شده تا اگر در حین آموزش و یا کار با پایتون به مشکلی برخورد کردید و سوالی پیش آمد به راحتی بتوانید جواب خود را پیدا کنید. تنها کافیست تا در اینترنت سرچ کنید پایتون چیست تا با دنیایی از اطلاعات در مورد آن مواجه شوید.
میتوان به راحتی گفت که در حین کار با پایتون به هیچ مشکل غیر قابل رفعی نخواهید خورد. ( این موضوع به درد کسایی میخوره که تو رزومه شون مینویسن مسلط به پایتون اما فقط بلدن نصبش کنن و شغل مورد نظرشون رو میگیرن :)
کاربردهای پایتون
تقریبا کاری نیست که با پایتون نتوان انجام داد. این زبان برنامه نویسی به قدری قدرتمند است که در همه حوزه های فناوری کاربرد دارد. در ادامه تعدادی از آنها را بیان میکنیم.
ساخت بازی
موتور بازی سازی Pygame برای طراحی و پشتیبانی از بازی ها از پایتون استفاده میکند. کتابخانه های گسترده پایتون کمک زیادی در ساخت و توسعه بازی ها دارد. یکی از مواردی که در بازی ها با استفاده از پایتون انجام میشود طراحی دیالوگ شخصیت ها است.
طراحی سایت و توسعه وب
شاید برای کسانی که تازه با پایتون و دنیای برنامه نویسی آشنا شده اند تعجب آور باشد. اما پایتون در توسعه وب هم بسیار قدرتمند ظاهر شده. با استفاده از Django که از زبان پایتون پشتیبانی میکند میتوان صفحات وب بسیار زیبا و البته امنی طارحی کرد. یکی از مواردی که برای طراحی آن زیاد از پایتون استفاده میکنند چت باکس ها هستند. با استفاده از پایتون به راحتی میتوان یک چت باکس عالی برای وبسایت طراحی کرد.
هوش مصنوعی و یادگیری ماشین
هوش مصنوعی و یادگیری ماشین از جمله فناوری هایی هستند که کمک میکنند ماشین ها و دستگاه ها، مانند انسان فکر، تصمیم گیری و عمل کنند. مهمترین زبان برنامه نویسی که در این حوزه فعال است و به پیشرفت آنها کمک میکند پایتون است. در واقع اگر پایتون نبود این فناوری ها به این اندازه پیشرفت نمیکردند.
اینترنت اشیا
فناوری است که در حال پیشرفت و گسترش است. در حال حاضر خانه های هوشمند از این فناوری استفاده میکنند. لوازم خانگی که به اینترنت وصل هستند و شما میتوانید از راه دور مثلا یک چای ساز را روشن کنید. پایتون یکی از ستون های پیشرفت این حوزه از فناوری است.
شبکه
با توجه به گسترش شبکه های کامپیوتری، یادگیری یک زبان برنامه نویسی برای هر مهندس شبکه ای بسیار الزام آور است. پایتون زبانی است که مهندسین شبکه میتوانند با استفاده از آن، انجام بسیاری ازکارها را به صورت اتوماتیک در بیاورند.
امنیت و تست نفوذ
برای مهندسین امنیت و هکرها پایتون مهمترین زبان برنامه نویسی است. نوشتن اسکریپت ها و برنامه هایی که بتوانند یک آسیب پذیری را در شبکه و یا سرور پیدا کنند و یا حتی از آن برای آسیب زدن استفاده کنند برای هر مهندس امنیتی واجب است. برای این کار، پایتون اولین انتخاب این افراد است.
اپلیکیشن های موبایل
با استفاده از پایتون میتوان اپلیکیشن های موبایلی هم طراحی کرد. دیگر لازم نیست برای طراحی نرم افزارهای اندروید از جاوا و IOS از سوئیفت استفاده کرد. با استفاده از پایتون میتوان به راحتی برای هر دوی این سیستم عامل ها برنامه نوشت. جالب است بدانید که در برنامه های بسیار معروفی مثل اینستاگرام، فیس بوک، نتفلیکس و بسیاری از اپلیکیشن های معروف دیگر از پایتون استفاده شده است.
صنایع مالی
برای شرکت هایی که در حوزه مالی فعالیت دارند و نیاز به برنامه هایی دارند که بتوانند امور مالی را بدون مشکل و با امنیت بالا انجام دهند پایتون بهترین گزینه است. در حال حاضر شرکت های بزرگ مالی در دنیا از این زبان برای فعالیت های خود استفاده میکنند. سرعت و امنیت بالا و بهبود عملکرد در بلند مدت از مهمترین دلایل گرایش به پایتون در صنایع مالی است.
حمل و نقل
بسیاری از شرکت های بزرگ دنیا که در حوزه حمل و نقل فعالیت میکنند از این زبان استفاده میکنند. به عنوان مثال گوگل مپ. از پایتون در این فناوری بسیار مفبد استفاده شده و به طبع آن هر شرکت دیگری که بخواهد از آن استفاده کند باید از پایتون هم استفاده کند. یکی از مهم ترین شرکت های حوزه حمل و نقل که از این زبان در اپلیکیشن خود استفاده کرده اوبر است.
سیستم عامل
جالب است بدانید که پایتون یکی از مهمترین بخش های مربوط به سیستم عامل هاست. بسیاری از فعالیت هایی که در سیستم عامل ها انجام میشود و به چشم کاربران آنها نمی آید با استفاده از پایتون طراحی و اجرا شده اند. به عنوان مثال در سیستم عامل لینوکس و توزیع های آن، پایتون یکی از بخش های بسیار مهم و جدا نشدنی است.
برق، الکترونیک و مکانیک
اگر فکر میکنید برنامه نویسی مختص متخصصین کامپیوتر است کاملا در اشتباه هستید. امروزه مهندسین برق، هوافضا، مکانیک، الکترونیک و بسیاری رشته های دیگر، برای انجام کارهای خود نیاز به یادگیری برنامه نویسی دارند. برای این رشته ها پایتون بهترین گزینه است.
داده کاوی و بیگ دیتا
داده کاوی یعنی علم بررسی داده ها. به عنوان مثال، زمانی که شما در گوگل یا اینستاگرام موضوعی را جستحو میکنید این سایت و اپلیکیشن، در بین مقدار زیادی اطلاعات به جستجو میپردازد و نتایج مورد نیاز شما را در کثری از ثانیه به شما نشان میدهد. این عمل نمونه ای از داده کاوی است. البته با استفاده از زبان هایی مثل R, C و scala هم میتوان این کار را انجام داد. اما هیچ کدام از اینها به اندازه پایتون در این کار قدرتمند نیستند.
ویژگی های پایتون
شاید سوالی که خیلی از شما با آن سروکار دارید و میخواهید جوابش را بدانید این است که پایتون چه ویژگی هایی دارد که این همه در مورد آن صحبت میشود؟ چرا برنامه نویسان بزرگ، انقدر پایتون را توصیه میکنند؟ و سوالات زیاد دیگری از این دست. در ادامه مطلب تعدادی از ویژگی های پایتون را بیان میکنیم تا متوجه دلایل این موضوع شوید.
راحتی یادگیری
به جرات میتوان گفت پایتون یکی از راحت ترین زبان های برنامه نویسی برای یادگیری و کار کردن است. اگر از تعدادی برنامه نویس در این مورد سوال کنید نود درصد آنها این موضوع را تایید میکنند. خب چه چیزی بهتر از این برای شروع یادگیری برنامه نویسی.
کد کمتر، کارایی بیشتر
با استفاده از پایتون میتوان به راحتی کدهایی نوشت و در سریع ترین زمان ممکن به نتیجه رسید. مثلا شما میتوانید یه اسکریپت کامپیوتری را در یک روز با پایتون بنویسید. یا یک نرم افزار بسیار ساده را در عرض دو روز. فقط با یادگیری کمی پایتون. نه حرفه ای بودن در آن.
یادگیری سایر زبان ها
زمانی که شما به پایتون مسلط میشوید به راحتی و خیلی سریع میتوانید زبان های دیگری را نیز یاد بگیرید. به عنوان مثال کلاس های پایتون در چند زبان دیگر هم قابل استفاده است. مثل روبی، پرل و جاوا اسکریپت. این یعنی شما با یادگیری پایتون نصف راه یادگیری زبان های دیگر را هم رفته اید.
ساخت ایده های اولیه
زمانی که شما شروع به یادگیری برنامه نویسی میکنید ایده های بسیاری به ذهنتان خطور میکند. بعضی از آنها بزرگ است و بعضی کوچک. پایتون بهترین گرینه برای ساخت این ایده هاست. به عنوان مثال شما میتوانید یک برنامه بنویسید که با دادن سال تولد، سن شما را بگوید. این یک برنامه بسیار ساده است که با پایتون میتوانید به راحتی آن را اجرا کنید. با در کنار هم قرار دادن این کدها و برنامه های کوچک میتوان برنامه های بزرگی را طراحی و اجرا کرد.
انعطاف پذیری
پایتون یکی از انعطاف پذیرترین زبان های برنامه نویسی در دنیاست. پایتون با زبان های سی، جاوا، روبی، سی شارپ و چند زبان دیگر در تعامل است. این موضوع باعث شده تا برنامه نویسان پایتون بتوانند هر برنامه ای را که بخواهند اجرا کنند.
منابع بسیار و جامعه ای بزرگ برای پشتیبانی
با استفاده از منابع و کتابخانه هایی که پایتون دارد امکان ندارد که شما نتوانید کاری که میخواهید انجام دهید را ناتمام رها کنید. به علاوه اینکه افراد و برنامه نویسان بزرگی در دنیا با این زبان کار میکنند. هر زمان که به مشکلی خوردید افراد زیادی هستند که میتوانید از آنها کمک بگیرید.
فریم ورک های قدرتمند
یکی از مهمترین دلایلی که افراد به سمت یادگیری پایتون میروند استفاده از فریم ورک های آن، به ویژه جنگو است. با استفاده از این فریم ورک میتوانید به راحتی، برنامه ها و اپلیکیشن هایی را که میخواهید توسعه دهید.
کارایی بالا
همانطور که در بالا اشاره شد پایتون کاربردهای بسیار زیادی دارد. شما کمتر زبانی را میتوانید پیدا کنید که با یادگیری آن به این اندازه قدرت عمل و فعالیت در حوزه های مختلف کاری داشته باشید.