
آینده زبان PHP یکی از مسائلی که بسیاری از برنامه نویسان و علاقهمندان به یادگیری زبان PHP را نگران کرده است. در این پادکست، لقمان آوند، مدیر عامل مجموعهی سون لرن و مدرس دورههای PHP و وردپرس با سابقهی 10 سال برنامهنویسی به شرح این موضوع و رفع نگرانی شما پرداخته است:
شاید بسیاری از ما فکر کنیم که زبان PHP در حال مرگ است و تا دو الی سه سال دیگر نابود میشود؛ اما نظر من این است که حداقل برای 5 تا 10 سال آینده این زبان عقب نشینی نخواهد کرد. آیندهی روشن بازار کار PHP، نشانههای متعددی دارد که در ادامه آنها را با هم بررسی میکنیم.
آینده زبان PHP - ویژگیهای و تغییرات زبان PHP
زبان PHP با عرضهی نسخهی هفتم در سال 2015، توانست در جهت کسب رضایت کاربران و افزایش ثبات در حوزهی وب، قدم بزرگی بردارد. برخی این نسخه از زبان PHP را یکی از بهترین بهروزرسانیهای یک زبان برنامه نویسی به حساب میآورند. از جمله تغییرات مهم این نسخه میتوان به بهبود عملکرد، کاهش استفاده از حافظه تا حدود 50% و افزایش چشمگیر سرعت اجرای آن (حدودا دو برابر) اشاره کرد. با بررسی این موضوع میتوان اینگونه برداشت کرد، که تیم توسعهی PHP بر روی بهبود عملکرد این زبان تمرکز کردهاند.
کامپایلر JIT در PHP
با توجه به این موضوع کاربران انتظارات مختلفی از بهروزرسانی بعدی این زبان دارند. نسخهی هفتم PHP بعد از بهروزرسانی، عملکرد بسیار خوبی پیدا کرد، ولی همچنان امکان بهبود آن وجود دارد. توسعه دهندگان زبان PHP پیشنهادات مختلفی را برای بهبود و ارتقاء این زبان در سایت رسمی PHP مطرح کردهاند. مهمترین ویژگی که احتمالا در نسخهی هشتم این زبان شاهد آن باشیم، استفاده از کامپایلر Just In Time یا به اختصار JIT در زبان PHP است.
1 سپتامبر 2016، دیمیتری استوگوف، با ارسال پیامی از شروع کار برای ساخت یک کامپایلر JIT جدید، برای ارائه در نسخهی هشتم PHP خبر داد. این خبر نشانهی بسیار خوبی است که توسعه دهندگان زبان PHP تمام توان خود را بر روی افزایش سرعت و عملکرد این زبان متمرکز ساختهاند. کامپایلر JIT مانند ماشین مجازی زبان برنامه نویسی جاوا، کدهای نوشته شده به زبان PHP را به زبان سطح پایین C کامپایل میکند.
افزونهی PHP FFI
دیمیتری استوگوف، همچنین با ارائهی افزونهی PHP FFI قلمرو زبان PHP را توسعه داد. با استفاده از این افزونه شما قادر خواهید بود از کدهای زبان C به صورت مستقیم در درون کدهای PHP استفاده کنید. از آنجایی که زبانهای سطح پایین از سرعت بیشتر و مدیریت منابع بهتری نسبت به زبانهای سطح بالا بهره میبرند، انتظار میرود که شاهد بهبود بسیار خوبی در عملکرد زبان PHP باشیم. البته برای اجرای این افزونه، نسخهی PHP ما باید بالاتر از 7.3 باشد.
فعالیت مستمر توسعهدهندگان
وقتی زبانی در حال مرگ باشد، شاهد عدم فعالیت آن هستیم. به این معنی که توسعهدهندگان زبان موردنظر، نسخههای جدید، بهینهسازیها و ویژگیهای زبان را بهطور مستمر بروزرسانی نمیکنند و پس از گذشت مدت زیادی شاهد هیچگونه ارتقایی در آن زبان نیستیم. در حالی که برای PHP چنین اتفاقی نیفتاده و پیوسته شاهد ارتقای نسخه و افزودن امکانات از سمت توسعهدهندگان این زبان هستیم.
بد نیست نگاهی به تغییرات زبان PHP داشته باشیم. گرچه نسخهی 5 این زبان پس از انتشار انتقادات زیادی به همراه داشت اما توسعهدهندگان، تمام تلاش خود را کردند تا در نسخهی 7، رضایت کاربران را جلب کنند که نتیجهی آن، افزوده شدن ویژگیها و ایجاد تغییراتی قابل توجه در PHP.7 بود.
پس از انتشار این نسخه نیز بهطور پیوسته و هر چند ماه یکبار شاهد عرضهی میکرو نسخههایی از PHP.7 بودهایم که در کنار برطرف کردن ضعفهای زبان، به پختگی آن کمک زیادی میکنند.
بهعنوان مثال PHP در مبحث شی گرایی گام بلندی به سمت Strict Type شدن برداشته است. همچنین سرعت نسخهی 7 در مقایسه با نسخهی 5 بیش از سه برابر افزایش داشته و این در حالی است که هنوز نسخهی 8 این زبان منتشر نشده است. اگر در نسخهی جدید شاهد افزوده شدن ویژگی JustInTimeCompiler باشیم، سرعت اجرای کدها بهبود چشمگیری خواهد داشت.
بررسی همهی این موارد نشان میدهد که توسعهدهندگان PHP به شدت فعال هستند و قصد کنارهگیری از رقابت را ندارند.
میزان استفاده از زبان PHP توسط برنامه نویسان
یکی دیگر از جنبههای مهمی که خبر از افول یک زبان میدهد، کاهش میزان استفاده از زبان در پروژهها و حتی مهاجرت برنامه نویسان به زبانی دیگر است. مسلما این اتفاق کاهش درخواست شغلی این زبان و تعداد علاقهمندان به یادگیری آن را نیز به دنبال خواهد داشت.
اما اخیرا در سایت داروین، آماری بررسی شده است که نشان میدهد میزان تقاضای مشاغل مرتبط با زبان PHP در دو سال اخیر با شیب ملایمی در حال رشد بوده است. فعالیت مستمر جامعهی برنامه نویسان PHP و افزایش تعداد علاقهمندان به یادگیری این زبان، تضمین دیگری برای پابرجا بودن PHP در آینده است.
آینده زبان PHP - میزان محبوبیت زبان PHP
محبوبیت زبان PHP پارامتر دیگری است که جایگاه آن را تثبیت میکند. بر اساس آمار رسمی سایت W3Techs، بیش از 83.1% از وب سایتهای دنیا با زبان PHP توسعه یافتهاند که این نشان دهندهی نفوذ بالای این زبان در زیرساختهای وب است. حتی اگر این زبان برنامهنویسی در آیندهای نزدیک رو به افول باشد، مدت زمان زیادی طول میکشد تا استفاده از آن کاهش یابد و کدهای PHP با کدهای زبان دیگری جایگزین شوند.
از سوی دیگر، حدود 35% از وب سایتهای جهان با استفاده از سیستم مدیریت محتوای وردپرس توسعه یافتهاند که این CMS محبوب بر پایهی زبان PHP توسعه داده شده است. جذابیت وردپرس، داشتن جامعهی برنامه نویسان فعال و این قابلیت که وبمسترها میتوانند بدون دانش فنی از آن بهره ببرند، از جمله مواردی هستند که باعث توسعه و محبوبیت بیشتر زبان PHP میشوند.
از طرفی دیگر، بیش از 70% از وب سایتهای موجود در ایران، از جمله لیدرهای بازار وب (اسنپ، اسنپ فود، نت برگ، دیجیکالا، الوپیک و...) زبان برنامه نویسی PHP را به عنوان زبان اصلی خود انتخاب کردهاند. این موضوع نشان دهندهی این است که دامنهی کاربرد PHP در حوزهی وب بسیار زیاد و فراگیر میباشد.
آینده زبان PHP - انعطافپذیری زبان PHP
انعطاف پذیری زبان PHP مزایا و معایب خاص خود را دارد. شاید بتوان گفت ساختار منعطف این زبان بهگونهای است که امکان کدنویسی کثیف را تا حد زیادی برای برنامهنویس فراهم میکند که یکی از دلایل آن، html embedded بودن زبان است. اتفاقی که میزان استفاده از PHP را در پروژههای شخصی افزایش داده و ممکن است در ابتدای مسیر یادگیری خوشایند افراد تازهکار باشد، در حالی که حتی این افراد نیز میبایست استانداردهای کدنویسی را از همان ابتدا رعایت کنند.
البته چنین انعطافی هزینهی یادگیری زبان یا به اصطلاح Learning Curve را نیز کاهش داده است که باعث جذب افراد بیشتری به این زبان میشود.
در مقابل PHP، زبانی مانند جاوا از انعطاف کمتری برخوردار است و برنامهنویس را ملزم به استفاده از اصول شیگرایی و رعایت قواعد خود میکند. این ساختارمندی در زبان جاوا، آن را تبدیل به گزینهی مناسبی برای استفاده در پروژههای بزرگ سازمانی کرده است.
امکانات زبان PHP
زبان PHP امکانات بینظیری برای توسعهی وب اپلیکیشنها و وب سایتها در اختیار برنامه نویسان قرار داده است. برای این که با استفاده این زبان بتوانیم به توسعهی اپلیکیشنهای تحت دسکتاپ بپردازیم نیز تلاشهایی صورت گرفته و ابزارهایی وجود دارد؛ اما PHP مناسب این کار نیست و این حوزه را به سایر رقبای قدرتمند خود واگذار کرده است تا اهداف خود را در حوزهی توسعهی وب پیش ببرد.
از دیگر مزایای این زبان میتوان به این موارد اشاره کرد:
- متن باز (Open Source) بودن زبان PHP
- مقیاسپذیری
- داشتن سرعت بالا
- امنیت زبان
- بهینه بودن هزینههای یادگیری (مالی و زمانی)
- هزینه پایین راهاندازی و توسعه
- انعطاف بالا
از جمله رقبای PHP در حوزهی وب میتوان به پایتون، روبی و جاوا اشاره کرد. زبانهایی (بهویژه پایتون) که در سالهای پیشرو احتمالا بخشی از بازار PHP را از آن خود میکنند اما همچنان در سایهی آن باقی میمانند. البته این موضوع که زبان PHP به سختی قابل جایگزینی میباشد، ممکن است یکی از نقاط ضعف آن محسوب شود.
آینده زبان PHP - استفاده از PHP در پروژههای بزرگ
اگر PHP درحال افول باشد، باید شاهد کنار گذاشته شدن آن از ساختار پروژههای بزرگ باشیم؛ اما در حال حاضر سایتهای بزرگی مانند فیسبوک، یاهو، ویکی پدیا، وردپرس، پینترست و... از PHP یا نسخهی دگرگون شدهی آن استفاده میکنند. مقیاسپذیری یکی از چالشهای اصلی در توسعهی پروژههای بزرگ است؛ اما ابزارهای دواپس (DevOps) و مقیاس پذیری به قدری پیشرفت کردهاند که میتوان با مقیاسپذیر کردن زبانهای کند از آنها در پروژههای بزرگ استفاده کرد. پیشتر گفتیم که کمتر پیش میآید از PHP در پروژههای سازمانی و بزرگ استفاده شود؛ اما این امکان وجود دارد که با داکر (Docker) و کوبرنتیز (Kubernetes) بتوانیم PHP را مقیاسپذیر کرده و نرمافزارهای بزرگی را با این زبان توسعه دهیم.
بنابراین با وجود ابزارهای دواپس دیگر نیازی نیست بابت مقیاسپذیر بودن نرم افزار نگران باشید. اکوسیستم و فریم ورکهای زبان PHP همواره در حال پیشرفت و توسعه هستند و در بروزرسانیهای جدید بر امکانات آنها افزوده میشود. برای نمونه فریمورک لاراول، تا حد زیادی سهولت توسعهی نرم افزارهای مقیاسپذیر را افزایش داده و به یک گزینهی مناسب برای افراد علاقهمند به توسعهی بک اند تبدیل شده است.
آیا بهزودی شاهد افول PHP خواهیم بود؟
حتی اگر فرض کنیم که زبان برنامه نویسی PHP، روزی از بین برود، در صورتی که مفاهیم برنامه نویسی را به خوبی آموخته باشید و به سینتکسهای زبان وابسته نباشید، مشکلی نخواهید داشت زیرا به راحتی میتوانید در مدت زمان کوتاهی سینتکس زبان دیگری را بیاموزید. برنامه نویسانی که با مفاهیم مستقل همچون مهارتهای حل مسئله، مفاهیم شی گرایی، ساختمان دادهها و الگوهای طراحی آشنا هستند، به راحتی میتوانند چندین زبان برنامه نویسی را بیاموزند و پس از منسوخ شدن یک زبان به زبان دیگری کوچ کنند.
فراموش نکنید که 90% برنامهنویسی از مفاهیم و تنها حدود 10% آن از سینتکس تشکیل شده است. پس با یادگیری و تقویت درک خود از مفاهیم اساسی، در صورت افول یک زبان میتوانید بهراحتی زبان دیگری را انتخاب کرده و اهداف خود را پیش ببرید. گرچه زبان PHP به هیچ وجه قصد عقب نشینی ندارد و در سالهای پیشرو، شاهد قدرتنمایی آن در توسعهی وب خواهیم بود؛ پس با خیال راحت به یادگیری و فعالیت در این حوزه ادامه دهید.
لینک پادکست در اپلیکیشن کست باکس و شنوتو و ناملیک
پادکست آینده php را میتوانید از اپلیکیشنهای کست باکس و شنوتو گوش دهید.
- لینک پادکست آینده php در اپلیکیشن کست باکس
- لینک پادکست آینده php در اپلیکیشن شنوتو
- لینک پادکست آینده php در اپلیکیشن ناملیک
بازار کار PHP در آینده چگونه خواهد بود؟
PHP یک زبان مفسری متن باز، رایگان، انعطافپذیر، مقیاس پذیر، پرسرعت و امن میباشد. درصد بالایی از وب سایتها و وب اپلیکیشنهای موجود در سطح اینترنت با استفاده از زبان PHP توسعه یافتهاند و حتی بسیاری از سیستمهای مدیریت محتوای محبوب نیز از این زبان قدرت گرفتهاند. بنابراین نیازی نیست در مورد منسوخ شدن این زبان نگرانی داشته باشیم.
حتی در صورتی که پس از گذشت چندین سال، برای این زبان جایگزین دیگری پیدا شود و این اتفاق رخ دهد نیز در صورتی که بر مفاهیم مستقل و اصلی برنامه نویسی تسلط داشته باشیم، به راحتی و در مدت زمان کوتاهی میتوانیم زبان جدید را بیاموزیم و از آن در پروژههای خود استفاده کنیم. تاکنون هیچ کدام از نشانههای منسوخ شدن در زبان PHP مشاهده نشده است و بروزرسانیهای جدید توسط جامعهی قدرتمند PHP بهطور منظم منتشر میشود؛ علاوه بر این، روز به روز شاهد گسترش استفاده از PHP و افزایش تعداد علاقهمندان به یادگیری این زبان هستیم.
با توجه به اینکه این زبان ساختار بزرگترین سایتها و وب اپلیکیشنهای جهان را تشکیل داده است، انتظار میرود که نه تنها حضور این زبان برنامه نویسی در دنیای وب کمرنگ نشود، بلکه روز به روز به طرفداران و کاربران آن افزوده شود. به نظر شما آینده زبان PHP چگونه خواهد بود؟ خوشحال میشویم نظرات خود را با درمیان بگذارید.
اگر میخواهید بیشتر در زمینه برنامه نویسی PHP مطالعه کنید مقالات زیر را دنبال کنید
- PHP چیست و چه کاربردی دارد ( بهمراه تاریخچه پی اچ پی )
- چرا باید زبان PHP را انتخاب کرد؟
- بهترین منابع آموزش PHP
- کاربردهای زبان برنامه نویسی PHP
- بهترین فریم ورکهای پی اچ پی
- یادگیری php : پیش نیاز یادگیری php
اگر به یادگیری بیشتر در زمینهی PHP علاقه داری، با شرکت در دورهی آموزش PHP در کمتر از یک سال به یک متخصص PHP تبدیل میشوی که آمادهی استخدام، دریافت پروژه، کسب درآمد و یادگیری مباحثی مثل لاراول هستی.