ماژول بهبود یافته Asyncio، افزایش سرعت با Pyjion و انتقال پروژهها به پایتون 3 به ساخت اکوسیستم غنی پایتون کمک شایانی کردهاند؛ پایتون همه جا هست، یادگیری آن آسان است و میتواند در بسیاری مواقع به کار آید. لایبرری استاندارد بسیار بزرگ و دارای لایبرریهای جدید فراوان و ابزارهای متنوع باعث میشوند پایتون به پلتفرم مفیدتری برای برنامهنویسی تبدیل شود. در این مقاله نیمنگاهی به پیشرفتهای این زبان برنامهنویسی محبوب خواهیم انداخت و همچنین به بررسی این نکته میپردازیم که در سال جاری -۲۰۱۷- چه انتظاراتی از این زبان میتوانیم داشته باشیم. در ادامه با سکان آکادمی همراه باشید.
نسخه 3.6 نیز چندین ماه قبل عرضه شده و دارای پیشرفتهایی بوده از آن جمله میتوان به موارد زیر اشاره کرد:
- ویژگیهای جدید در ماژول Asyncio
- افزودن یک پروتکل فایلسیستم جدید برای Path
- فرمتبندی رشتههای Literal
اما همانطور که پیش از این گفتیم، در ادامه قصد داریم به برخی مواردی که در سال 2017 از پایتون انتظار میروند بیشتر پرداخته و ببینیم دولوپرهای علاقمند به زبان برنامهنویسی Python به چیزهای جدیدی میتوانند دست پیدا کنند:
افزایش سرعت با Pyjion
سرعت بخشیدن به اجرای Runtime یکی از اهداف پایتون بوده است و این در حالی است که لایبرری PyPy در سال 2007 به همین منظور ایجاد شد اما بسیاری از دولوپرها برای رسیدن به سرعت بیشتر، به Cython کوچ کردند و تعداد زیادی کامپایلر Jit که مخفف واژگان Just In Time است ساخته شد تا زمان اجرای برنامههای نوشته شده با پایتون را کوتاهتر کند.
Pyjion یک جیت کامپایلر جدید است که برای افزایش سرعت طراحی شده و شتاب دادن آن به Cpython (مفسر پایتون) از طریق افزایش سرعت مفسر اصلی، با یک Jit API صورت میگیرد که ساختهٔ مایکروسافت در پروژهٔ CoreCLR است. اهداف پروژهٔ Pyjion طبق توضیحات موجود در پرسش و پاسخ ریپوزیتوری گیتهاب Pyjion عبارتند از:
ساخت آن به شکلی هست که بتونید به Cpython، هر JITیی رو که بخواهید متصل کنین؛ این ویژگی، باعث میشه پایتون به اکوسیستمی برای پیادهسازی JIT تبدیل بشه و کاربران میتونن بسته به استفادهٔ خود، JIT مناسب برای کارهاشون رو انتخاب کنن.
این اکوسیستم امکان بسیار خوبی است که نصیب پایتون شده، بنابراین در سال 2017 احتمالاً شاهد تأثیر Pyjion و موارد شبیه به آن روی سرعت پایتون خواهیم بود. برای استفاده از Cython به عنوان جایگزین سریعتر پایتون، آموزشهای ویدئویی و کتابهای رایگان زیادی وجود دارد که با یک سرچ ساده در گوگل، میتوان به آنها دست یافت.
قابلیت Asyncio دیگر موقتی نیست
در نسخهٔ 3.6 پایتون، ماژول Asyncio دیگر موقتی نیست و این API با به کارگیری Tweakها، رفع باگهای قبلی و بهبود کارایی به نسخهای پایدار بدل گشته است؛ این ماژول از کدهای تک نخی با قابلیت همزمانی پشتیبانی مینماید. احتمالاً بسیاری از دولوپرهای پایتون که با کدهای غیرهمزمان کار میکنند مشتاق دیدن این ماژول هستند و میخواهند بدانند چه مرحلهٔ جدیدی از کانکارانسی را در پروژههای خود میتوانند اجرا کنند.
یک چشمانداز مثبت در استفاده از ماژول Asyncio این است که میتواند به عنوان ابزاری برای بهبود کارایی پردازنده در Cpython به کار رود و کانکشنهای همزمان به پردازنده را برای طیف بسیاری از سرویسهای معمولی امکانپذیر خواهد کرد. این دلیل دیگری برای استفاده از یک کامپایلر JIT مناسب و بهبود سرعت کارها است.
پایتون 3، پادشاه کوهستان!
پایتون 2.7 آخرین نسخه اصلی از شاخهٔ پایتون نسخهٔ 2 بود که از این پس ويژگیهای جدیدی به آن اضافه نخواهد شد و پشتیبانی از پایتون، کمکم به پایتون 3 در حال حرکت است. صرف نظر از احساستان دربارهٔ این تغییر، آینده از آن پایتون 3 است! در سال 2017 احتمالاً بحثهای زیادی پیرامون انتقال پروژههای مختلف موجود از پایتون 2 به 3 وجود خواهد داشت.
بهرهمندی از ابزار علمی و آموزشی
نقش پایتون در این نسل مانند Fortran در نسل قبلی است و با استفاده از ابزاری مثل Cython، شکاف بین مفسر و لایبرریهای علمی پیشرفته پر میشود. دو شاخهٔ اصلی که پایتون در آنها رشد کرده، بخش علمی و آموزشی است. در بخشهای سختافزار و IoT (اینترنت اشیاء) نیز MicroPython در بسیاری از ابزارهای امبدد مشاهده شده است و در سال پیش رو، با آغاز استفادهٔ برنامهنویسان این دست از دیوایسها از پایتون و همکاری با دولوپرهای پایتون در شاخههای متنوع، احتمالاً سروکلهٔ پروژههای جالبی که پیش از این تصور آنرا هم نمیکردیم، پیدا خواهد شد.
باید خاطر نشان کنیم که پایتون 3 حالا پادشاه کوهستان شده و همه جا شایعه شده که Raspberry Pi ،micro:bit و Calliope همگی از پایتون 3 پشتیبانی میکنند. AdaFruit هم لایبرریهای نرمافزاری پایتون را بهروزرسانی کرده که از پایتون 3 در Raspberry Pi و کامپیوترهای کوچک لینوکسی پشتیبانی میکند. همهٔ اینها یعنی استعداد رشد پایتون 3 در زمینههای آموزشی زیاد است.
رشد علم داده و پایتون با سرعت زیاد
در اکوسیستم پایتون که پیش از این به آن اشاره کردیم، ابزارهای بسیار زیادی مناسب کار در علم داده تولید شده و دلیل خوبی برای این قضیه وجود دارد: تعداد زیادی کار مرتبط با علم داده وجود دارد که بسیاری از آنها با استفاده از ابزارهای اپنسورسی -مانند آنهایی که در پایتون وجود دارند- در حال انجام است. فینتک که مخفف واژگان Financial Technology است، تجارتهای در مقیاس بزرگ و کارهای علمی، همگی میتوانند از ظرفیت ابزار موجود در پایتون استفاده کنند. در برخی موارد، کسانی که برنامهنویسی بلد نیستند نیز از ابزارهای مرتبط با علم دادهٔ پایتون برای دادههای خود استفاده میکنند که به خودی خود، گونهٔ جدیدی را به اکوسیستم پایتون وارد میکند!
اگر شما جزو برنامهنویسان و دولوپرهای پایتون هستید، میتوانید تجربیات، نظرات و دیدگاههای خود را پیرامون نسخهٔ ۳ این زبان و آخرین فیچرهایی که به این زبان محبوب اضافه شدهاند با ما و سایر کاربران سکان آکادمی به اشتراک بگذارید.