برخی دولوپرها PHP را به خاطر شیئگرایی ضعیف و معماری برنامهنویسی غیراصولی رد میکنند اما این در حالی است که برخی عاشق این زبان هستند که در همین راستا در این پست به بررسی این موضوع خواهیم پرداخت که در چه نوع پروژههایی نباید از این زبان برنامهنویسی استفاده کرد و در خاتمه نیز به برخی مزیتهای این زبان اشارهای خواهیم کرد.
چه زمانهایی نباید از PHP استفاده کنیم؟
به طور کلی، میتوان گفت که برگبرندهٔ هر زبان برنامهنویسی در یک حوزهٔ خاص است و نمیتوان انتظار داشت که زبان برنامهنویسی مد نظرمان برای هر نوع پروژهای مناسب باشد که در همین ارتباط در ادامه به نکاتی خواهیم پرداخت که مشخص میکنند زبان پیاچپی برای چه نوع پروژههایی مناسب نیست.
- برای اپلیکشنهای تحت کامندلاین: اپلیکیشنهای کامندلاین (CLI) نرمافزارهایی هستند که یک نوع ارتباط متقابل بین کامپیوتر و کاربر با استفاده از کامندها ایجاد میکنند. در واقع، این نرمافزارها یک ورودی یا دستور یک یا چند کلمهای را با استفاده از کیبورد از کاربر میگیرند و با توجه به کدهایی که قبلاً نوشته شده، جوابی در پاسخ به دستورات ورودی میدهند یا تَسکی را ایجاد میکنند. حال اگر قصد دارید چنین اپلیکیشنی توسعه دهید، انتخابهای به مراتب بهتری همچون بَش اسکریپتینگ نسبت به پیاچپی پیشرو خواهید داشت زیرا این زبان برای توسعهٔ این نوع اپلیکیشنها طراحی نشده است.
- زمانی که آسانترین راه به نظر میرسد: اگر پیاچپی آسانترین زبان در بین زبانهای دیگر به نظر میرسد و چنین مسئلهای تنها انگیزهٔ شما برای گزینش است، سخت در اشتباه هستید. پیاچپی خیلی زود پیچیده میشود و مسلماً زمانی که در ابتدای کار هستید خیلی سادهتر از دیگر زبانها به نظر میرسد و زمانی که به سطوح پیشرفتهتر برنامهنویسی میرسید، سادگی آن به پیچیدگی تبدیل میشود.
- زیرا ارائهدهندهٔ هاست اشتراکی شما فقط از آن پشتیبانی میکند: اگر از یک هاست اشتراکی استفاده میکنید و اینکه ارائهدهندهٔ هاست فقط از پیاچپی پشتیبانی میکند، این موضوع نباید شما را مجبور به انتخاب این زبان کند.
- نرمافزارهای ویژهٔ محاسباتی: زمانی که با مقدار زیادی معادلات ریاضیاتی و محاسبات سنگین در وب اپلیکیشن خود روبهرو هستید، گزینههای بهتری نسبت به پیاچپی وجود دارند. به عبارتی، زبانهای برنامهنویسی ویژهای برای کارهای محاسباتی تولید شدهاند که خیلی بهتر از پیاچپی عمل میکنند. به طور کلی، در چنین شرایطی میتوان بخشیهایی از وب اپلیکیشن را که نیاز به توسعهٔ سریع دارند با پیاچپی کدنویسی کرد و بخشهای دیگر را به دیگر زبانهای تخصصیتر واگذار نمود.
- اپلیکیشنهای دسکتاپ: گرچه لایبرریهایی برای توسعهٔ اپلیکیشنهای دسکتاپ برای زبان پیاچپی عرضه شدهاند، اما منطقی به نظر نمیرسد تا با وجود زبانهایی همچون سیشارپ، جاوا، سیپلاسپلاس، پایتون و غیره، برای توسعهٔ اپلیکیشنهای دسکتاپ از زبان پیاچپی استفاده نمود.
- وقتی نیاز به مالتیتریدینگ دارید: اگر اپلیکیشنی توسعه میدهید که در آن نیاز به مالتیتریدینگ دارید، گرچه با این زبان میشود این قضیه را هندل کرد، اما بهترین انتخاب نیست.
از بین بردن ایماژ منفی در مورد زبان PHP
پیش از هر چیز، به نقلقولی از وبلاگ MailChimp در سال 2010 در مورد تکنولوژیهای مختلف اشارهای میکنیم:
این مهم نیست که از چه ابزاری استفاده میکنیم، بلکه آنچه حائز اهمیت است اینکه از یک ابزار خاص چگونه استفاده مینماییم.
پس از عرضهٔ نسخهٔ ۷، این زبان امکانات خیلی زیادی را در اختیار دولوپرهایش قرار داده است و طبق ادعای کامیونیتی توسعهدهندهٔ این زبان، نسخهٔ ۷ مصرف مِموری را تا ٪۵۰ کاهش و پرفورمنس را تا ۲ برابر افزایش داده است.
پیاچپی یک زبان کاربردی در توسعهٔ وب است و با توجه به اینکه تیمهای بزرگی مانند فیسبوک، ویکیپدیا و غیره به نوعی از این زبان در توسعهٔ پروژههای خود کمک گرفتهاند، بنابراین منطقی است که پیاچپی را کمی جدیتر بگیریم. در واقع، اگر فقط بخواهیم نقاط منفی یک زبان را مد نظر قرار دهیم، به هیچ وجه قادر نخواهیم شد تا به نقاط مثبت آن زبان واقف گردیم. به گزارش وبسایت W3Techs، چیزی بیش از ٪۷۰ وبسایتهای دنیا با زبان پیاچپی کدنویسی شدهاند و پیاچپی به انتخاب اول بسیاری از کسبوکارهای نوپا و استارتاپهای تحت وب تبدیل شده است.
همچنین با توجه به اینکه سیستمهای مدیریت محتوای معروفی همچون وردپرس، جوملا و دروپال بر پایهٔ زبان پیاچپی نوشته شدهاند و امروزه بسیاری از شرکتهای طراحی سایت هم پروژههای خود را روی این سیستمهای مدیریت محتوا پیادهسازی میکنند، میتوان این نوید را داد که تقاضا برای دولوپرهای زبان پیاچپی در میان کارفرمایان داخلی قابلتوجه است.
جمعبندی
زبان پیاچپی این قابلیت را دارا است تا به راحتی بتوانید یک ایده را فقط ظرف مدت چند روز به یک اپلیکیشن تحت وب واقعی مبدل سازید (البته این ادعایی است زبانهای دیگری همچون پایتون و روبی هم دارند.) نکتهٔ دیگری که امروزه به کَرات از زبان دولوپرهای دیگر زبانهای برنامهنویسی میشنویم که خیلی رغبتی به زبان پیاچپی ندارند این است که «امنیت پیاچپی پایین است.» در حالی که اگر نظر دولوپرهای باتجربه را در مورد این گزاره جویا شویم، خیلی از ایشان بر این باورند که امنیت یک پروژه بیش از هر چیزی مرتبط با نحوهٔ کدنویسی آن پروژه است (با پیادهسازی رویکرد Defensive Programming، میتوان این اطمینان را حاصل کرد که پروژهٔ ما فارغ از نوع زبان برنامهنویسی از امنیت خوبی برخوردار است که برای آشنایی بیشتر با این موضوع میتوانید به مقالهٔ آشنایی با مفهوم Defensive Programming در صنعت توسعهٔ نرمافزار مراجعه نمایید.)
همچنین در مقالهای تحت عنوان PHP ،Python یا Ruby: کدام را برای توسعهٔ وب اپلیکیشن انتخاب کنیم؟، به مقایسهای مابین نقاط ضعف و قوت زبانهای برنامهنویسی مطرح سمت سرور که برای توسعهٔ وب اپلیکیشن مورد استفاده قرار میگیرند پرداختیم که میتواند دید نسبتاً روشنی در مورد نقاط ضعف و قوت زبانهای پایتون، پیاچپی و روبی در حوزهٔ توسعهٔ وب اپلیکیشن به شما دهد.
حال نوبت به نظرات شما میرسد. دیدگاه شما در مورد کاربردهای زبان برنامهنویسی پیاچپی چیست و آیا با آنچه در بالا ذکر شد موافقید یا مخالف؟ نظرات، دیدگاهها و تجربیات خود را با ما و سایر کاربران سکان آکادمی به اشتراک بگذارید.