پایتون یکی از معدود زبان های برنامه نویسی است که می توان ادعا کرد ساختاری ساده و قدرتمند دارد، از این رو یادگیری این زبان همواره به افراد مبتدی که شاید هیچ تجربه ای در برنامه نویسی نداشته باشند توصیه می شود و از طرف دیگری استفاده از این زبان برای حل مسائل مختلف و پیچیده انتخاب اول بسیاری از برنامه نویسان حرفه ای بوده است.
بر اساس رتبه بندی سایت Tiobe، زبان برنامه نویسی Python در سپتامبر سال 2015 با سه پله صعود نسبت به زمان مشابه در سال قبل در جایگاه پنجم قرار گرفته است که نشان دهنده ی رشد محبوبیت این زبان در میان برنامه نویسان سراسر دنیا است.
همان طور که می دانید هر زبان برنامه نویسی ویژگی ها و قابلیت های خاص خود را دارد که آن را از سایر زبان ها متمایز می سازند و علت شکل گیری زبان های مختلف نیز پاسخگویی به نیازهای متفاوت و متنوع کاربران با استفاده از همین قابلیت های متمایز است. به همین دلیل پیش از شروع به یادگیری هر زبان ابتدا باید نیازها و هدف خود را از یادگیری آن زبان در کنار قابلیت هایش قرار دهیم و در صورت تطبیق آن ها با هم، قدم در راه یادگیری بگذاریم. از این رو برای آشنایی بیش تر با زبان پایتون، در ادامه به معرفی برخی از ویژگی ها و قابلیت های آن خواهیم پرداخت:
سادگی و صراحت (Simplicity): پایتون یک زبان ساده و کمینه گرا است. وقتی نگاهی به سورس کد یک برنامه ی نوشته شده به زبان پایتون بیاندازیم، احساس می کنیم که با یک متن انگلیسی صریح مواجه هستیم. شاید بتوان گفت این بزرگترین نقطه ی قوت پایتون است که به جای درگیر کردن برنامه نویس به جزئیات زبان به او اجازه می دهد تا روی حل مسئله تمرکز داشته باشد. همین موضوع سرعت کدنویسی و خوانایی این زبان را هم افزایش داده است.
منحنی یادگیری کم شیب (Low Learning Curve): قطعاً عامل اصلی این موضوع که یادگیری پایتون به عنوان قدم اول به مشتاقان برنامه نویسی و حتی کودکان توصیه می شود سینتکس فوق العاده ساده ی آن است. همان طور که گفتیم صراحت زبان پایتون نه تنها خوانایی آن را افزایش داده است، بلکه با حذف پیچیدگی ها سهولت یادگیری آن را نیز بیش تر کرده است.
رایگان و متن باز بودن (Free & Open Source): توزیع های مختلف زبان برنامه نویسی پایتون کاملاً رایگان بوده و هر برنامه نویس می تواند سورس کد آن را بخواند، آن را تغییر دهد، و در برنامه های خود از اسکریپت های آن استفاده کند.
سطح بالا بودن (High-level): پایتون از جمله زبان های قدرتمند سطح بالا است که برنامه نویس را درگیر جزئیات سطح پایین مثل مدیریت حافظه یا کار با ثبات ها (Registers) و غیره نمی کند.
پرتابل بودن (Portable): ماهیت متن باز پایتون موجب شده است که این زبان با پلتفرم های مختلف سازگار باشد. بنا بر اعلام رسمی سایت پایتون، در حال حاضر این زبان روی ۲۱ پلتفرم از جمله Windows، GNU/Linux، Macintosh، Solaris، Android، iOS، و ... کار می کند و برنامه های نوشته شده به این زبان بدون نیاز به تغییر یا با تغییرات بسیار جزئی روی تمام پلتفرم ها اجرا می شوند.
زبانی تفسیرشده (Interpreted): بر خلاف زبان های کامپایل شده ای مانند سی یا جاوا، زبان برنامه نویسی پایتون یک زبان تفسیر شده است و سورس کد برنامه های نوشته شده به این زبان با استفاده از یک مفسر اجرا می شود که همین موضوع قابلیت پرتابل بودن آن را افزایش می دهد.
شیء گرایی (Object Oriented): پایتون در مقایسه با زبان هایی مانند جاوا یا سی پلاس پلاس، روش قدرتمندتر و ساده تری را برای اجرا برنامه های شیئ گرا به کار می گیرد.
توسعه پذیری (Extensible): یکی از مشکلات زبان تفسیر شده ی پایتون سرعت پایین اجرا در مقایسه با زبان های کامپایل شده ای مانند سی یا جاوا است. حال اگر بخواهید قطعه ای از کدها سریع تر اجرا شود یا اگر بخواهید بخشی از الگوریتم برنامه ی خود را پنهان کنید می توانید آن بخش را به زبان سی، سی پلاس پلاس یا جاوا بنویسید و آن را در میان کدهای پایتون برنامه ی خود قرار دهید.
جای پذیری (Embeddable): علاوه بر این که می توان کدهای زبان های دیگر را در برنامه های نوشته شده به زبان پایتون قرار داد، می توان قطعه کدهایی را به زبان پایتون نوشت و در سورس کد برنامه های سی، سی پلاس پلاس یا جاوا نشاند و به این ترتیب قابلیت های اسکریپتی به سورس کد مد نظر اضافه نمود.
کتابخانه ی گسترده: پایتون به راستی از یک کتابخانه ی استاندارد غنی بهره می برد و در کنار این کتابخانه ی وسیع، کتابخانه های سایر توسعه دهندگان نیز به سرعت در حال توسعه می باشند که در مجموع ابزارهای مناسبی را برای ایجاد اسناد، رابط های گرافیکی کاربر (GUI)، مرورگرهای وب، رمزنگاری، هوش مصنوعی، ایمیل، بازی سازی، داده کاوی، ایجاد و مدیریت وب سایت، و بسیاری کاربردهای دیگر در اختیار برنامه نویسان قرار می دهد.
همه منظوره بودن (General-Purpose): پایتون یک زبان برنامه نویسی با طیف گسترده ای از کاربردها است که در حوزه های مختلف و متنوع کاربرد داشته است که از جمله مهم ترین کاربردهای آن در طی سالیان گذشته می توان به موارد زیر اشاره کرد:
- موتور جستجوگر گوگل و موتور گرافیکی یوتیوب
- ساخت برنامه های کاربردی علمی در سازمان فضایی ناسا، Fermilab
- بخشی از سرویس ایمیل یاهو
- تست سخت افزار در IBM ،Intel ،Cisco
- ابزارهای نصب لینوکس در نسخه ی Redhat
- سرویس ابری Dropbox
و بسیاری کاربردهای دیگر نظیر طراحی سایت های دینامیک، تولید نرم افزارهای دسکتاپ، انیمیشن سازی، بازی سازی، شبکه، امنیت، پایگاه داده، داده کاوی، ساخت برنامه های محاسباتی و کاربردی در رشته های مختلف نظیر ریاضی، فیزیکی، آمار، زیست و ... .
در نهایت می توان گفت که پایتون ابزاری مهیج و قدرتمند در اختیار برنامه نویسان است که کار با آن ساده و سرگرم کننده می باشد و تسلط بر آن کاربران را وارد دنیایی شگفت انگیز و بی نهایت می کند که هرکس می تواند متناسب با توانایی هایش از امکانات آن برای حل مسائل خود بهره مند شود.
مقایسه ی زبان برنامه نویسی پایتون با سایر زبانهای برنامه نویسی
با دانستن این که مقایسه زبانهای برنامه نویسی با یکدیگر اصلاً کار درستی نیست -چرا که هر زبانی را بهر کاری ساختهاند و هر زبان دارای نقاط قوت و ضعف خاص خود است- با این حال برخی از کاربران همواره دوست دارند تا بدانند زبانی که قرار است فرا گیرند در مقایسه با سایر زبانهای برنامه نویسی هم رده اش، در چه جایگاهی قرار دارد. از این رو، در ادامه به مقایسهای کوتاه از زبان پایتون با سایر زبانهای برنامه نویسی مطرح دنیا خواهیم پرداخت:
مزیت های زبان پایتون نسبت به زبان سی شارپ:
بسیاری از کارشناسان بر این باورند که شرکت بزرگ مایکروسافت صرفاً زبان برنامه نویسی جاوا را کپی کرده و زبانی تحت عنوان سی شارپ را خلق کرده است (مقایسه این دو زبان با یکدیگر خارج از حوزه ی این قسمت از آموزش است اما به هر حال هر کدام از این دو زبان دارای نقاط قوت و ضعفی هستند.) زبان برنامه نویسی پایتون در مقایسه با سی شارپ، از نقاط قوت زیر برخوردار است:
- یادگیری آسانتر
- کدنویسی کم تر
- متن باز و جامعه ی توسعه ی گسترده
- پشتیبانی چند منظوره بهتر (Multiplatform)
- امکان استفاده ی راحت از چندین محیط توسعه ی نرمافزار مختلف
- قابلیت توسعه ی راحتتر با استفاده از زبانهای سی، جاوا و سی پلاس پلاس
- پشتیبانی بیش تر عملی/مهندسی
مزیت های زبان پایتون نسبت به زبان جاوا:
سالیان درازی را برنامه نویسان سراسر دنیا منتظر ماندند تا به زبانی دست یابند که یک بار کدنویسی کنند و هر کجا که خواستند آن را اجرا کنند تا اینکه زبان جاوا این رؤیای ایشان را به واقعیت مبدل ساخت (جهت آشنایی بیشتر با زبان برنامه نویسی جاوا، توصیه می کنیم به ماژول ویکی :: دانشنامه ی زبان های برنامه نویسی، زبان برنامه نویسی جاوا در سکان آکادمی مراجعه نمایید. علاوه بر این، دوره ی آموزش رایگان زبان جاوا در سکان آکادمی نیز برگزار می گردد.) جالب است بدانید که در حال حاضر زبان برنامه نویسی جاوا به عنوان یکی از محبوب ترین زبانهای برنامه نویسی دنیا است (حتی محبوبتر از پایتون!) به هر حال، زبان پایتون دارای یکسری مزیتها نسبت به این زبان است که عبارتند از:
- یادگیری به مراتب راحتتر
- کدنویسی به مراتب کم تر
- متغیرهایی با قابلیت ذخیره سازی انواع دادهها
- سرعت توسعه ی اپلیکیشن به مراتب بیش تر از جاوا
مزیت های زبان پایتون نسبت به زبان پرل:
زبان برنامه نویسی پرل به عنوان زبانی در میان برنامه نویسان شناخته شده است که به خوبی با دیتابیس کار میکند و دادهها را از آن فراخوانی میکند اما در عین حال، از این زبان برای ساخت انواع اپلیکیشن ها نیز استفاده می شود. زبان پایتون در مقایسه با پرل، از نقاط قوت زیر برخوردار است:
- یادگیری سریع تر
- خوانایی بیش تر
- تعامل بهتر با زبان جاوا
- سازگاری بهتر و بیش تر با پلتفرم های مختلف
- امنیت بیش تر داده ها
اگر چه که در مقایسه ی بالا، تقریبا می شود گفت که زبان برنامه نویسی Python نسبت به زبان های Java, Perl و #C از نقاط قوت قابل توجهی برخوردار است، اما توجه داشته باشیم که این نیازهای کاری شما است که مشخص می کند کدام زبان را می بایست انتخاب کنید.
چرا زبان برنامه نویسی پایتون را انتخاب کنیم؟
زبانهای برنامه نویسی زیادی در حال حاضر وجود دارند که یک برنامه نویس مبتدی میتواند یکی از آنها را برای شروع انتخاب کند و این در حالی است که هر یک از زبانهای برنامه نویسی دارای نقاط ضعف و قوت خاص خودشان هستند و با آگاهی از همین نقاط ضعف و قوت است که ما به عنوان یک برنامه نویس مبتدی میتوانیم بسته به نیازی که برای یادگیری برنامه نویسی داریم دست به انتخاب درستی بزنیم.
معمولاً برنامه نویسان حرفهای سعی میکنند که به بیش از یک زبان برنامه نویسی تسلط پیدا کنند تا متناسب با نقاط قوتی که هر زبان برنامه نویسی دارد -مثلا یک زبان برای کار با دیتابیس سرعت بالایی دارا است و زبان دیگر در تحلیل دادهها و … خوب است- بتوانند یک اپلیکیشن حرفهای بنویسد.
آگاهی از نقاط ضعف و قوت زبانهای برنامه نویسی -به خصوص زبان برنامه نویسی پایتون که در این دوره ی آموزشی مد نظر ما است- به برنامه نویسان کمک میکند تا با دید بازتری اقدام به استفاده از آن زبان برنامه نویسی نمایند. در ادامه قصد داریم به نکاتی بپردازیم که زبان برنامه نویسی پایتون را از سایر زبانهای برنامه نویسی متمایز میسازد و این زبان قدرتمند را به گزینه ی مناسبی برای طراحی و ساخت اپلیکیشن های حرفهای مبدل می سازد.
هر زبان برنامه نویسی با یک هدف خاص در ذهن توسعه دهندگان آن زبان طراحی و توسعه داده شده است تا دردی از دردهای سایر برنامه نویسان را دوا کند. در ارتباط با زبان برنامه نویسی پایتون، بایستی گفت که هدف اصلی آقای روسوم -خالق زبان برنامه نویسی پایتون- این بود که زبانی به دنیا عرضه کند که در یک کلام ساده و کاربردی باشد.
توجه داشته باشیم که اگر با توجه به نیازهای خود در توسعه ی اپلیکیشن اقدام به انتخاب زبان نامناسبی کنیم، این نوع انتخاب ما در آینده میتواند بهای گزافی برای ما در بر داشته باشد که از آن جمله میتوان به صرف وقت زیاد، سرعت توسعه ی کم، راندمان اندک و بسیاری مشکلات دیگر اشاره کرد.
نیاز به تعداد خطوط کد کمتر: سورس کد برنامههای نوشته شده با پایتون در مقایسه با سایر رقبا -مثل زبانهای سی، جاوا و سی پلاس پلاس- چیزی در حدود ۲ تا ۱۰ برابر کمتر است. لذا این نوید به شما داده میشود که زمان کمتری برای نوشتن یک اپلیکیشن با این زبان برنامه نویسی قدرتمند نیاز دارید.
خوانایی زیاد: همانطور که درک زبانی همچون زبان چینی در مقایسه با مثلاً زبان انگلیسی بسیار دشوارتر است، در مورد زبانهای برنامه نویسی هم دقیقاً قضیه به همین شکل است. به عبارت دیگر، برخی از زبانهای برنامه نویسی هستند که مطالعه ی سورس کد آنها به مراتب دشوارتر از سایر زبانها است و خبر خوشحال کننده این که سینتکس زبان برنامه نویسی پایتون -اگر نگوییم راحت ترین- یکی از راحت ترین سینتکس ها در میان زبانهای برنامه نویسی است چرا که تا حد بسیار زیادی شبیه به زبان انگلیسی است!
یادگیری سریع: پیش از این هم گفتیم که منحنی یادگیری کم شیب پایتون، آن را به گزینه ی خوبی برای مبتدیان مبدل ساخته است. توسعه دهندگان اصلی زبان برنامه نویسی پایتون همواره این دغدغه را داشتهاند تا زبانی طراحی کنند که خیلی قوانین عجیب و غریب نداشته و استثناء های آن منجر به یادگیری دشوار این زبان نگردد و همین رویکرد در طراحی زبان برنامه نویسی پایتون منجر گردیده تا این زبان جزو زبانهایی گردد که یادگیری آن خیلی سریع اتفاق میافتد حتی برای کسانی که هیچ آشنایی با دنیای برنامه نویسی ندارند.
از پایتون برای چه اپلیکیشن هایی می توان استفاده کرد؟
با توضیحات فوق، حال قصد داریم ببینیم که از زبان برنامه نویسی پایتون برای چه نوع اپلیکیشن هایی میتوانیم استفاده کنیم که در ادامه، برخی از شاخص ترین کاربردهای پایتون را بر می شماریم:
برای پروتوتایپ سازی: گاهی اوقات تیم های توسعه ی نرم افزاری در سراسر دنیا نیاز دارند تا یک نمونه ی اولیه از ایده ی خاصی که در ذهن دارند ایجاد کنند تا با دید بهتری اقدام به سیاست گذاری توسعه ی اپلیکیشن خود کنند. در چنین مواقعی، زبان برنامه نویسی پایتون به منزله ی یکی از بهترین گزینه ها است چرا که سرعت توسعه ی اپلیکیشن با این زبان نسبت به سایر رقبا به مراتب بیشتر است و توسعه دهندگان زودتر میتوانند خروجی کدهای خود را ببینند.
ساخت وب اپلیکیشن: اگرچه زبان جاوا اسکریپت به عنوان معروف ترین زبان برنامه نویسی وب اپلیکیشن ها محسوب میگردد اما در این حوزه زبان پایتون هم حرفهایی برای گفتن دارا است و در حال حاضر در جایگاه دوم قرار دارد. واقعیت امر آن است که پایتون قابلیتهایی را در اختیار توسعه دهندگان قرار میدهد که جاوا اسکریپت از برآورده کردن آنها ناتوان است و در کل پایتون این امکان را در اختیار توسعه دهندگان قرار میدهد تا وب اپلیکیشن های سریعتری طراحی کنند.
طراحی اپلیکیشن های محاسباتی، علمی و مهندسی: کتابخانههای طراحی شده برای پایتون این امکان را به توسعه دهندگان میدهد تا به راحتی و به سرعت بتوانند اپلیکیشن های محاسباتی، علمی و مهندسی طراحی کنند که از جمله ی مهمترین این کتابخانهها میتوان به NumPy و SciPy اشاره کرد.
کار با XML: زبان اکس ام ال یکی از زبانهایی است که برای ذخیره سازی دادههای تحت وب مورد استفاده قرار میگیرد و پایتون هم ارتباط بسیار خوبی با این زبان دارا است. به طور مثال، اگر شما در پروژه ای بخواهید از وب سرویس استفاده کنید، زبان پایتون گزینه ی بسیار مناسبی است.
ارتباط با دیتابیس: امروزه کسب و کارهای بسیاری هستند که مبتنی بر دادهها هستند و مسلماً نیاز دارند تا دادههای خود را در دیتابیسی ذخیره سازند. پایتون به سادگی میتواند با دیتابیس های مختلف ارتباط بر قرار ساخته و به تبادل داده با دیتابیس -خواندن داده ها، ثبت داده ها، آپدیت دادهها و حذف آن ها- بپردازد.
طراحی رابط کاربری: پایتون همچون زبان سی شارپ نیست که توسعه دهنده با استفاده از نرمافزار ویژوال استودیو به راحتی بتواند با درگ اند دراپ اقدام به طراحی رابط کاربری کند اما در در عین حال فریم ورک های بسیاری برای این زبان طراحی شدهاند که طراحان با استفاده از آنها میتوانند اقدام به طراحی UI اپلیکیشن های خود کنند.
به منظور تسهیل فرایند آموزشی، در این سری از آموزش ها باکس هایی به صورت زیر استفاده خواهند شد تا مخاطبین دوره بهتر بتوانند برخی از نکات مهم این دوره ی آموزشی را به خاطر بسپارند.
نکته
نکاتی که منجر به درک بهتر موارد مطروحه می شود، در قالب باکس های سبز رنگی به این شکل در اختیار دانشجویان قرار خواهد گرفت.
هشدار
برنامه نویسان مبتدی در برخی موارد می بایست دقت بیشتری به خرج دهند تا در آینده با سردرگمی کمتری مواجه شود. به همین منظور، هشدارهای این دوره ی آموزشی در قالب باکس های قرمز رنگی به این شکل در معرض دید دانشجویان قرار خواهد گرفت.
بر اساس رتبه بندی سایت Tiobe، زبان برنامه نویسی Python در سپتامبر سال 2015 با سه پله صعود نسبت به زمان مشابه در سال قبل در جایگاه پنجم قرار گرفته است که نشان دهنده ی رشد محبوبیت این زبان در میان برنامه نویسان سراسر دنیا است.
همان طور که می دانید هر زبان برنامه نویسی ویژگی ها و قابلیت های خاص خود را دارد که آن را از سایر زبان ها متمایز می سازند و علت شکل گیری زبان های مختلف نیز پاسخگویی به نیازهای متفاوت و متنوع کاربران با استفاده از همین قابلیت های متمایز است. به همین دلیل پیش از شروع به یادگیری هر زبان ابتدا باید نیازها و هدف خود را از یادگیری آن زبان در کنار قابلیت هایش قرار دهیم و در صورت تطبیق آن ها با هم، قدم در راه یادگیری بگذاریم. از این رو برای آشنایی بیش تر با زبان پایتون، در ادامه به معرفی برخی از ویژگی ها و قابلیت های آن خواهیم پرداخت:
سادگی و صراحت (Simplicity): پایتون یک زبان ساده و کمینه گرا است. وقتی نگاهی به سورس کد یک برنامه ی نوشته شده به زبان پایتون بیاندازیم، احساس می کنیم که با یک متن انگلیسی صریح مواجه هستیم. شاید بتوان گفت این بزرگترین نقطه ی قوت پایتون است که به جای درگیر کردن برنامه نویس به جزئیات زبان به او اجازه می دهد تا روی حل مسئله تمرکز داشته باشد. همین موضوع سرعت کدنویسی و خوانایی این زبان را هم افزایش داده است.
منحنی یادگیری کم شیب (Low Learning Curve): قطعاً عامل اصلی این موضوع که یادگیری پایتون به عنوان قدم اول به مشتاقان برنامه نویسی و حتی کودکان توصیه می شود سینتکس فوق العاده ساده ی آن است. همان طور که گفتیم صراحت زبان پایتون نه تنها خوانایی آن را افزایش داده است، بلکه با حذف پیچیدگی ها سهولت یادگیری آن را نیز بیش تر کرده است.
رایگان و متن باز بودن (Free & Open Source): توزیع های مختلف زبان برنامه نویسی پایتون کاملاً رایگان بوده و هر برنامه نویس می تواند سورس کد آن را بخواند، آن را تغییر دهد، و در برنامه های خود از اسکریپت های آن استفاده کند.
سطح بالا بودن (High-level): پایتون از جمله زبان های قدرتمند سطح بالا است که برنامه نویس را درگیر جزئیات سطح پایین مثل مدیریت حافظه یا کار با ثبات ها (Registers) و غیره نمی کند.
پرتابل بودن (Portable): ماهیت متن باز پایتون موجب شده است که این زبان با پلتفرم های مختلف سازگار باشد. بنا بر اعلام رسمی سایت پایتون، در حال حاضر این زبان روی ۲۱ پلتفرم از جمله Windows، GNU/Linux، Macintosh، Solaris، Android، iOS، و ... کار می کند و برنامه های نوشته شده به این زبان بدون نیاز به تغییر یا با تغییرات بسیار جزئی روی تمام پلتفرم ها اجرا می شوند.
زبانی تفسیرشده (Interpreted): بر خلاف زبان های کامپایل شده ای مانند سی یا جاوا، زبان برنامه نویسی پایتون یک زبان تفسیر شده است و سورس کد برنامه های نوشته شده به این زبان با استفاده از یک مفسر اجرا می شود که همین موضوع قابلیت پرتابل بودن آن را افزایش می دهد.
شیء گرایی (Object Oriented): پایتون در مقایسه با زبان هایی مانند جاوا یا سی پلاس پلاس، روش قدرتمندتر و ساده تری را برای اجرا برنامه های شیئ گرا به کار می گیرد.
توسعه پذیری (Extensible): یکی از مشکلات زبان تفسیر شده ی پایتون سرعت پایین اجرا در مقایسه با زبان های کامپایل شده ای مانند سی یا جاوا است. حال اگر بخواهید قطعه ای از کدها سریع تر اجرا شود یا اگر بخواهید بخشی از الگوریتم برنامه ی خود را پنهان کنید می توانید آن بخش را به زبان سی، سی پلاس پلاس یا جاوا بنویسید و آن را در میان کدهای پایتون برنامه ی خود قرار دهید.
جای پذیری (Embeddable): علاوه بر این که می توان کدهای زبان های دیگر را در برنامه های نوشته شده به زبان پایتون قرار داد، می توان قطعه کدهایی را به زبان پایتون نوشت و در سورس کد برنامه های سی، سی پلاس پلاس یا جاوا نشاند و به این ترتیب قابلیت های اسکریپتی به سورس کد مد نظر اضافه نمود.
کتابخانه ی گسترده: پایتون به راستی از یک کتابخانه ی استاندارد غنی بهره می برد و در کنار این کتابخانه ی وسیع، کتابخانه های سایر توسعه دهندگان نیز به سرعت در حال توسعه می باشند که در مجموع ابزارهای مناسبی را برای ایجاد اسناد، رابط های گرافیکی کاربر (GUI)، مرورگرهای وب، رمزنگاری، هوش مصنوعی، ایمیل، بازی سازی، داده کاوی، ایجاد و مدیریت وب سایت، و بسیاری کاربردهای دیگر در اختیار برنامه نویسان قرار می دهد.
همه منظوره بودن (General-Purpose): پایتون یک زبان برنامه نویسی با طیف گسترده ای از کاربردها است که در حوزه های مختلف و متنوع کاربرد داشته است که از جمله مهم ترین کاربردهای آن در طی سالیان گذشته می توان به موارد زیر اشاره کرد:
- موتور جستجوگر گوگل و موتور گرافیکی یوتیوب
- ساخت برنامه های کاربردی علمی در سازمان فضایی ناسا، Fermilab
- بخشی از سرویس ایمیل یاهو
- تست سخت افزار در IBM ،Intel ،Cisco
- ابزارهای نصب لینوکس در نسخه ی Redhat
- سرویس ابری Dropbox
و بسیاری کاربردهای دیگر نظیر طراحی سایت های دینامیک، تولید نرم افزارهای دسکتاپ، انیمیشن سازی، بازی سازی، شبکه، امنیت، پایگاه داده، داده کاوی، ساخت برنامه های محاسباتی و کاربردی در رشته های مختلف نظیر ریاضی، فیزیکی، آمار، زیست و ... .
در نهایت می توان گفت که پایتون ابزاری مهیج و قدرتمند در اختیار برنامه نویسان است که کار با آن ساده و سرگرم کننده می باشد و تسلط بر آن کاربران را وارد دنیایی شگفت انگیز و بی نهایت می کند که هرکس می تواند متناسب با توانایی هایش از امکانات آن برای حل مسائل خود بهره مند شود.
مقایسه ی زبان برنامه نویسی پایتون با سایر زبانهای برنامه نویسی
با دانستن این که مقایسه زبانهای برنامه نویسی با یکدیگر اصلاً کار درستی نیست -چرا که هر زبانی را بهر کاری ساختهاند و هر زبان دارای نقاط قوت و ضعف خاص خود است- با این حال برخی از کاربران همواره دوست دارند تا بدانند زبانی که قرار است فرا گیرند در مقایسه با سایر زبانهای برنامه نویسی هم رده اش، در چه جایگاهی قرار دارد. از این رو، در ادامه به مقایسهای کوتاه از زبان پایتون با سایر زبانهای برنامه نویسی مطرح دنیا خواهیم پرداخت:
مزیت های زبان پایتون نسبت به زبان سی شارپ:
بسیاری از کارشناسان بر این باورند که شرکت بزرگ مایکروسافت صرفاً زبان برنامه نویسی جاوا را کپی کرده و زبانی تحت عنوان سی شارپ را خلق کرده است (مقایسه این دو زبان با یکدیگر خارج از حوزه ی این قسمت از آموزش است اما به هر حال هر کدام از این دو زبان دارای نقاط قوت و ضعفی هستند.) زبان برنامه نویسی پایتون در مقایسه با سی شارپ، از نقاط قوت زیر برخوردار است:
- یادگیری آسانتر
- کدنویسی کم تر
- متن باز و جامعه ی توسعه ی گسترده
- پشتیبانی چند منظوره بهتر (Multiplatform)
- امکان استفاده ی راحت از چندین محیط توسعه ی نرمافزار مختلف
- قابلیت توسعه ی راحتتر با استفاده از زبانهای سی، جاوا و سی پلاس پلاس
- پشتیبانی بیش تر عملی/مهندسی
مزیت های زبان پایتون نسبت به زبان جاوا:
سالیان درازی را برنامه نویسان سراسر دنیا منتظر ماندند تا به زبانی دست یابند که یک بار کدنویسی کنند و هر کجا که خواستند آن را اجرا کنند تا اینکه زبان جاوا این رؤیای ایشان را به واقعیت مبدل ساخت (جهت آشنایی بیشتر با زبان برنامه نویسی جاوا، توصیه می کنیم به ماژول ویکی :: دانشنامه ی زبان های برنامه نویسی، زبان برنامه نویسی جاوا در سکان آکادمی مراجعه نمایید. علاوه بر این، دوره ی آموزش رایگان زبان جاوا در سکان آکادمی نیز برگزار می گردد.) جالب است بدانید که در حال حاضر زبان برنامه نویسی جاوا به عنوان یکی از محبوب ترین زبانهای برنامه نویسی دنیا است (حتی محبوبتر از پایتون!) به هر حال، زبان پایتون دارای یکسری مزیتها نسبت به این زبان است که عبارتند از:
- یادگیری به مراتب راحتتر
- کدنویسی به مراتب کم تر
- متغیرهایی با قابلیت ذخیره سازی انواع دادهها
- سرعت توسعه ی اپلیکیشن به مراتب بیش تر از جاوا
مزیت های زبان پایتون نسبت به زبان پرل:
زبان برنامه نویسی پرل به عنوان زبانی در میان برنامه نویسان شناخته شده است که به خوبی با دیتابیس کار میکند و دادهها را از آن فراخوانی میکند اما در عین حال، از این زبان برای ساخت انواع اپلیکیشن ها نیز استفاده می شود. زبان پایتون در مقایسه با پرل، از نقاط قوت زیر برخوردار است:
- یادگیری سریع تر
- خوانایی بیش تر
- تعامل بهتر با زبان جاوا
- سازگاری بهتر و بیش تر با پلتفرم های مختلف
- امنیت بیش تر داده ها
اگر چه که در مقایسه ی بالا، تقریبا می شود گفت که زبان برنامه نویسی Python نسبت به زبان های Java, Perl و #C از نقاط قوت قابل توجهی برخوردار است، اما توجه داشته باشیم که این نیازهای کاری شما است که مشخص می کند کدام زبان را می بایست انتخاب کنید.
چرا زبان برنامه نویسی پایتون را انتخاب کنیم؟
زبانهای برنامه نویسی زیادی در حال حاضر وجود دارند که یک برنامه نویس مبتدی میتواند یکی از آنها را برای شروع انتخاب کند و این در حالی است که هر یک از زبانهای برنامه نویسی دارای نقاط ضعف و قوت خاص خودشان هستند و با آگاهی از همین نقاط ضعف و قوت است که ما به عنوان یک برنامه نویس مبتدی میتوانیم بسته به نیازی که برای یادگیری برنامه نویسی داریم دست به انتخاب درستی بزنیم.
معمولاً برنامه نویسان حرفهای سعی میکنند که به بیش از یک زبان برنامه نویسی تسلط پیدا کنند تا متناسب با نقاط قوتی که هر زبان برنامه نویسی دارد -مثلا یک زبان برای کار با دیتابیس سرعت بالایی دارا است و زبان دیگر در تحلیل دادهها و … خوب است- بتوانند یک اپلیکیشن حرفهای بنویسد.
آگاهی از نقاط ضعف و قوت زبانهای برنامه نویسی -به خصوص زبان برنامه نویسی پایتون که در این دوره ی آموزشی مد نظر ما است- به برنامه نویسان کمک میکند تا با دید بازتری اقدام به استفاده از آن زبان برنامه نویسی نمایند. در ادامه قصد داریم به نکاتی بپردازیم که زبان برنامه نویسی پایتون را از سایر زبانهای برنامه نویسی متمایز میسازد و این زبان قدرتمند را به گزینه ی مناسبی برای طراحی و ساخت اپلیکیشن های حرفهای مبدل می سازد.
هر زبان برنامه نویسی با یک هدف خاص در ذهن توسعه دهندگان آن زبان طراحی و توسعه داده شده است تا دردی از دردهای سایر برنامه نویسان را دوا کند. در ارتباط با زبان برنامه نویسی پایتون، بایستی گفت که هدف اصلی آقای روسوم -خالق زبان برنامه نویسی پایتون- این بود که زبانی به دنیا عرضه کند که در یک کلام ساده و کاربردی باشد.
توجه داشته باشیم که اگر با توجه به نیازهای خود در توسعه ی اپلیکیشن اقدام به انتخاب زبان نامناسبی کنیم، این نوع انتخاب ما در آینده میتواند بهای گزافی برای ما در بر داشته باشد که از آن جمله میتوان به صرف وقت زیاد، سرعت توسعه ی کم، راندمان اندک و بسیاری مشکلات دیگر اشاره کرد.
نیاز به تعداد خطوط کد کمتر: سورس کد برنامههای نوشته شده با پایتون در مقایسه با سایر رقبا -مثل زبانهای سی، جاوا و سی پلاس پلاس- چیزی در حدود ۲ تا ۱۰ برابر کمتر است. لذا این نوید به شما داده میشود که زمان کمتری برای نوشتن یک اپلیکیشن با این زبان برنامه نویسی قدرتمند نیاز دارید.
خوانایی زیاد: همانطور که درک زبانی همچون زبان چینی در مقایسه با مثلاً زبان انگلیسی بسیار دشوارتر است، در مورد زبانهای برنامه نویسی هم دقیقاً قضیه به همین شکل است. به عبارت دیگر، برخی از زبانهای برنامه نویسی هستند که مطالعه ی سورس کد آنها به مراتب دشوارتر از سایر زبانها است و خبر خوشحال کننده این که سینتکس زبان برنامه نویسی پایتون -اگر نگوییم راحت ترین- یکی از راحت ترین سینتکس ها در میان زبانهای برنامه نویسی است چرا که تا حد بسیار زیادی شبیه به زبان انگلیسی است!
یادگیری سریع: پیش از این هم گفتیم که منحنی یادگیری کم شیب پایتون، آن را به گزینه ی خوبی برای مبتدیان مبدل ساخته است. توسعه دهندگان اصلی زبان برنامه نویسی پایتون همواره این دغدغه را داشتهاند تا زبانی طراحی کنند که خیلی قوانین عجیب و غریب نداشته و استثناء های آن منجر به یادگیری دشوار این زبان نگردد و همین رویکرد در طراحی زبان برنامه نویسی پایتون منجر گردیده تا این زبان جزو زبانهایی گردد که یادگیری آن خیلی سریع اتفاق میافتد حتی برای کسانی که هیچ آشنایی با دنیای برنامه نویسی ندارند.
از پایتون برای چه اپلیکیشن هایی می توان استفاده کرد؟
با توضیحات فوق، حال قصد داریم ببینیم که از زبان برنامه نویسی پایتون برای چه نوع اپلیکیشن هایی میتوانیم استفاده کنیم که در ادامه، برخی از شاخص ترین کاربردهای پایتون را بر می شماریم:
برای پروتوتایپ سازی: گاهی اوقات تیم های توسعه ی نرم افزاری در سراسر دنیا نیاز دارند تا یک نمونه ی اولیه از ایده ی خاصی که در ذهن دارند ایجاد کنند تا با دید بهتری اقدام به سیاست گذاری توسعه ی اپلیکیشن خود کنند. در چنین مواقعی، زبان برنامه نویسی پایتون به منزله ی یکی از بهترین گزینه ها است چرا که سرعت توسعه ی اپلیکیشن با این زبان نسبت به سایر رقبا به مراتب بیشتر است و توسعه دهندگان زودتر میتوانند خروجی کدهای خود را ببینند.
ساخت وب اپلیکیشن: اگرچه زبان جاوا اسکریپت به عنوان معروف ترین زبان برنامه نویسی وب اپلیکیشن ها محسوب میگردد اما در این حوزه زبان پایتون هم حرفهایی برای گفتن دارا است و در حال حاضر در جایگاه دوم قرار دارد. واقعیت امر آن است که پایتون قابلیتهایی را در اختیار توسعه دهندگان قرار میدهد که جاوا اسکریپت از برآورده کردن آنها ناتوان است و در کل پایتون این امکان را در اختیار توسعه دهندگان قرار میدهد تا وب اپلیکیشن های سریعتری طراحی کنند.
طراحی اپلیکیشن های محاسباتی، علمی و مهندسی: کتابخانههای طراحی شده برای پایتون این امکان را به توسعه دهندگان میدهد تا به راحتی و به سرعت بتوانند اپلیکیشن های محاسباتی، علمی و مهندسی طراحی کنند که از جمله ی مهمترین این کتابخانهها میتوان به NumPy و SciPy اشاره کرد.
کار با XML: زبان اکس ام ال یکی از زبانهایی است که برای ذخیره سازی دادههای تحت وب مورد استفاده قرار میگیرد و پایتون هم ارتباط بسیار خوبی با این زبان دارا است. به طور مثال، اگر شما در پروژه ای بخواهید از وب سرویس استفاده کنید، زبان پایتون گزینه ی بسیار مناسبی است.
ارتباط با دیتابیس: امروزه کسب و کارهای بسیاری هستند که مبتنی بر دادهها هستند و مسلماً نیاز دارند تا دادههای خود را در دیتابیسی ذخیره سازند. پایتون به سادگی میتواند با دیتابیس های مختلف ارتباط بر قرار ساخته و به تبادل داده با دیتابیس -خواندن داده ها، ثبت داده ها، آپدیت دادهها و حذف آن ها- بپردازد.
طراحی رابط کاربری: پایتون همچون زبان سی شارپ نیست که توسعه دهنده با استفاده از نرمافزار ویژوال استودیو به راحتی بتواند با درگ اند دراپ اقدام به طراحی رابط کاربری کند اما در در عین حال فریم ورک های بسیاری برای این زبان طراحی شدهاند که طراحان با استفاده از آنها میتوانند اقدام به طراحی UI اپلیکیشن های خود کنند.
به منظور تسهیل فرایند آموزشی، در این سری از آموزش ها باکس هایی به صورت زیر استفاده خواهند شد تا مخاطبین دوره بهتر بتوانند برخی از نکات مهم این دوره ی آموزشی را به خاطر بسپارند.
نکته
نکاتی که منجر به درک بهتر موارد مطروحه می شود، در قالب باکس های سبز رنگی به این شکل در اختیار دانشجویان قرار خواهد گرفت.
هشدار
برنامه نویسان مبتدی در برخی موارد می بایست دقت بیشتری به خرج دهند تا در آینده با سردرگمی کمتری مواجه شود. به همین منظور، هشدارهای این دوره ی آموزشی در قالب باکس های قرمز رنگی به این شکل در معرض دید دانشجویان قرار خواهد گرفت.