در مطالب قبلی با زبان برنامه نویسی پایتون(python) اشنا شدیم.تاریخچه و مقدمه این زبان را با هم بررسی کردیم.در این مطلب قبل از این که به نکات و مفاهیم تخصصی و کاربردی آن بپردازیم ویژگی های این زبان را تشریح و بررسی می کنیم.
اگرچه ممکن است بسیاری از برنامهنویسان قدیمی که با زبانهایی نظیر جاوا و C سروکار داشتهاند، برنامهنویسی با پایتون را چندان جدی نگیرند و حتی آن را کودکانه بدانند، اما این امر از قابلیتهای این زبان نخواهد کاست. درعوض، تعداد زیادی از برنامهنویسان (کسانی نظیر برنامهنویسان گوگل) پایتون را بهدلیل سادگی، خوانایی و امکانات فراوان به هر زبان دیگری ترجیح میدهند. طرفداران پایتون که غالباً Pythonistas نامیده میشوند، معتقدند، این زبان بهقدری کامل و کار با آن بهقدری لذتبخش است که برای تمام نیازهای برنامهنویسی میتوان به آن مراجعهکرد. آنها برای این ادعا دلایل فنی هم ارائه میکنند که برخی از آنها بهشرح زیر است:
سادگی
پایتون زبانی بسیار ساده و مینیمالیستی است. خواندن یک برنامه خوب پایتون همانند خواندن یک متن انگلیسی است. این طبیعت شبهکد (Pseudo-Code) یکی از بزرگترین نقاط قوت پایتون است و به شما این امکان را میدهد که بهجای تمرکز روی زبان بر روش حل مسئله تمرکز کنید.
سهولت یادگیری
سادگی این زبان باعث میشود، یادگیری آن از غالب زبانهای موجود سادهتر باشد. برخی عقیده دارند ، یک روز تعطیلی آخر هفته برای یادگیری دستور و قواعد زبان پایتون و بخشی از کتابخانه استاندارد آن کافی است.
آزاد و اپنسورس بودن (FLOSS)
یکی از بارزترین نمونههایFLOSS (سرنام Free/Libre and Open Source Software) پایتون است. بهعبارتسادهتر، شما میتوانید نسخههایی از این نرمافزار را آزادانه توزیع کنید، کدهای منبع آن را بخوانید، تغییر دهید و از آن در برنامههایتان استفاده کنید. اساس FLOSS برجامعهای بنا شده که افراد آن دانش خود را با یکدیگر بهاشتراک میگذارند. یکی از دلایل برتری پایتون نیز همین است که بهصورت مداوم توسط جامعهای که تنها خواستهاش بهتر شدن این زبان است، بررسی شده و بهبود داده میشود.
سطح بالا بودن (High-Level)
هنگام کدنویسی در پایتون لازم نیست نگران جزئیات سطح پایین باشید. مدیریت حافظه، جمعآوری پسماندها (Garbage Collection) و… همه توسط خود زبان انجام خواهدشد.
قابلیت حمل (Portable)
بهواسطه طبیعت اپنسورس پایتون، این زبان به بسیاری از پلتفرمها انتقال داده شدهاست. تمام برنامههای شما میتوانند بدون هیچ تغییری روی تمامی این پلتفرمها اجرا شوند. البته بهشرطی که با هوشیاری از قابلیتهای خاص وابسته به پلتفرم پرهیزکنید. برنامههای پایتون شما بهسادگی روی لینوکس، ویندوز، FreeBSD، مک، سولاریس، آمیگا، پلیاستیشن، Pocket PC و… قابل اجرا هستند.
تفسیری بودن (Interpreted)
برنامهای که با یکی از زبانهای ترجمهای نظیر C یا #C نوشته میشود، توسط کامپایلر و تنظیم تعداد زیادی گزینه و Flag به زبان قابل فهم ماشین تبدیلمیشود. وقتی برنامه را اجرا میکنید، Loader/Linker برنامه، آن را به حافظه کپی کرده و اجرا میکند.
برخلاف این زبانها پایتون به مترجم نیازی ندارد و برنامه شما بهطورمستقیم از روی کد اجرا میشود. درواقع در پشت پرده، مفسر پایتون برنامه شما را بهحالتی واسطهای بهنام ByteCode تبدیل کرده و سپس اجرامیکند.
تمام اینها باعث میشود که استفاده از پایتون سادهتر شود. زیرا لازم نیست نگران چرخه کدنویسی، کامپایل، کنترل، اصلاح کد، کامپایل دوباره یا نگران گزینههای کامپایلر، در دسترس بودن و لینک شدن کتابخانههای موردنظر و… باشید. این سیستم قابلیت حمل برنامه را نیز افزایش میدهد. زیرا کافی است شما کد را به سیستم دیگری کپی کنید و برنامه بدون نیاز به کامپایل دوباره بهسادگی اجرا میشود.
شیء گرایی (Object Oriented)
پایتون از هر دو شیوه برنامهنویسی شیءگرا و روالگرا بهخوبی پشتیبانی میکند. در زبانهای روالگرا، برنامه برمبنای تعدادی روال یا تابع ساخته میشود که درواقع چیزی جزء قطعات کد با قابلیت استفاده دوباره نیستند. در زبانهای شیءگرا برنامه برپایه اشیایی ساخته میشود که اطلاعات و عملکرد را یکجا نگهداری میکنند. پایتون در مقایسه با زبانهایی نظیر #C یا جاوا روش بسیار سادهتری برای برنامهنویسی OOP دارد.
قابلیت توسعه (Extensible)
اگر در برنامه شما قطعه کدی حساس وجود دارد که لازم است با سرعت بالایی اجرا شود یا میخواهید الگوریتم بهکاررفته در آن را مخفی کنید، میتوانید آن قسمت را به زبانC یا #C بنویسید و آن را از داخل برنامه پایتون اجرا کنید.
قابلیت جاسازی (Embeddable)
میتوان پایتون را بهصورت توکار (Embedded) در برنامههای C یا #C یا زبانهای دیگر بهکار برد و از این طریق به استفادهکنندگان برنامه قابلیت اسکریپتنویسی را هدیه کرد.
کتابخــانــه استــانــــدارد غنــــــی (Extensive Library)
کتابخانه استاندارد پایتون بسیار گسترده و غنی است. این کتابخانه که بههمراه نصب استاندارد پایتون در دسترس خواهد بود، میتواند گستره عظیمی از امور را نظیر Regular Expression، Document Generation، UnitTesting،Threading،Database،Web Browsing،FTP، XML، HTML ،Cryptography ،GUI وEmail پوشش دهد.
در کنار کتابخانه استاندارد پایتون، تعداد زیادی کتابخانه خوشساخت دیگر نظیر wxPython (برای ساخت رابط گرافیکی)، Twisted (فریم ورک توسعه اینترنت)، PIL یا Python Imaging Library (برای ویرایش تصاویر) نیز در دسترس شما است.اما درنهایت شاید مهمترین دلیل طرفداران پایتون هیچ یک از موارد فوق نباشد. آنچه آنها را شیفته این زبان میکند لذتی است که از کار با چنین زبان ساده و قدرتمندی نصیب برنامهنویس خواهد شد.